pi-cloud 2.0.2 → 2.0.3

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 (108) hide show
  1. package/.env.example +7 -1
  2. package/CHANGELOG.md +22 -0
  3. package/client/dist/.vite/manifest.json +335 -322
  4. package/client/dist/assets/{EditorPanel-CVtykOZb.css → EditorPanel-05eppUGB.css} +1 -1
  5. package/client/dist/assets/{EditorPanel-CmUoE78w.js → EditorPanel-DjSEzAcA.js} +196 -194
  6. package/client/dist/assets/GitChangesView-C19K76Go.css +1 -0
  7. package/client/dist/assets/GitChangesView-CzdZfPVS.js +4 -0
  8. package/client/dist/assets/GitHistoryView-CY510Ujt.css +1 -0
  9. package/client/dist/assets/GitHistoryView-DAW-MXtb.js +3 -0
  10. package/client/dist/assets/MemoryCenter-pR90CW4C.js +1 -0
  11. package/client/dist/assets/{PhCaretLeft.vue-mR6H4iil.js → PhCaretLeft.vue-DvBClUvX.js} +1 -1
  12. package/client/dist/assets/{PhFolderOpen.vue-CBZCIEKc.js → PhFolderOpen.vue-3LXINHx8.js} +1 -1
  13. package/client/dist/assets/SettingsDialog-Bq1Z3DZI.js +5 -0
  14. package/client/dist/assets/SettingsDialog-DQPiq1vt.css +1 -0
  15. package/client/dist/assets/TaskInboxPanel-BPLcGRv9.js +1 -0
  16. package/client/dist/assets/{TerminalPanel-BKnITvmW.js → TerminalPanel-cKyF8WQc.js} +1 -1
  17. package/client/dist/assets/{abnfDiagram-VCTEODGH-C0onveOK.js → abnfDiagram-VCTEODGH-E5SFS0yC.js} +1 -1
  18. package/client/dist/assets/{arc-BtnkAKcM.js → arc-DycaAm6T.js} +1 -1
  19. package/client/dist/assets/{architectureDiagram-5GKGNRK7-BWzkt3mg.js → architectureDiagram-5GKGNRK7-DuhHAhfl.js} +1 -1
  20. package/client/dist/assets/{blockDiagram-NRAW4CY4-B5U3jj5J.js → blockDiagram-NRAW4CY4-CtGRxwRI.js} +1 -1
  21. package/client/dist/assets/{c4Diagram-UCG6FXSJ-BijI8bRn.js → c4Diagram-UCG6FXSJ-BiiMxfZp.js} +1 -1
  22. package/client/dist/assets/channel-C5r64Ao4.js +1 -0
  23. package/client/dist/assets/{chunk-2Q5K7J3B-BEieUt6C.js → chunk-2Q5K7J3B-CDZ0_s8n.js} +1 -1
  24. package/client/dist/assets/{chunk-5VM5RSS4-DK306biR.js → chunk-5VM5RSS4-sB3leBwr.js} +1 -1
  25. package/client/dist/assets/{chunk-F27PBJKO-jkwA9GYW.js → chunk-F27PBJKO-D8iWeCQF.js} +1 -1
  26. package/client/dist/assets/{chunk-G27WJ6UU-DnVXeFY7.js → chunk-G27WJ6UU-DD2fIuBW.js} +1 -1
  27. package/client/dist/assets/{chunk-JWPE2WC7-DpOSXvW8.js → chunk-JWPE2WC7-B3xxW2KI.js} +1 -1
  28. package/client/dist/assets/{chunk-LCL6LL3I-BD7QKy4w.js → chunk-LCL6LL3I-C21DLXxq.js} +1 -1
  29. package/client/dist/assets/{chunk-POPQ4Y6H-BqLcddFA.js → chunk-POPQ4Y6H-I4QgfJZx.js} +1 -1
  30. package/client/dist/assets/{chunk-SVP7TREG-C9GhrbFg.js → chunk-SVP7TREG-VbaUClr5.js} +1 -1
  31. package/client/dist/assets/{chunk-XXDRQBXY-jQoIqp5a.js → chunk-XXDRQBXY-DLw3kW40.js} +1 -1
  32. package/client/dist/assets/classDiagram-DTDB5LWJ-ClxIA4Iz.js +1 -0
  33. package/client/dist/assets/classDiagram-v2-JRS7N3AN-ClxIA4Iz.js +1 -0
  34. package/client/dist/assets/{cose-bilkent-JH36ORCC-DNt10hsx.js → cose-bilkent-JH36ORCC-BOamffmB.js} +1 -1
  35. package/client/dist/assets/{cssMode-D5VnGCRL.js → cssMode-CBdHgd4L.js} +1 -1
  36. package/client/dist/assets/{cynefin-OW5HDTMX-wI0wNPcp.js → cynefin-OW5HDTMX-rQvby0lk.js} +1 -1
  37. package/client/dist/assets/{cynefinDiagram-5FMLGOSQ-DwksvA8r.js → cynefinDiagram-5FMLGOSQ-BZWSzmhI.js} +1 -1
  38. package/client/dist/assets/{dagre-3AP2YEHR-ZY-MhFWR.js → dagre-3AP2YEHR-CSYQ78mc.js} +1 -1
  39. package/client/dist/assets/{diagram-S7CK7UJ4-BKaJVqZu.js → diagram-S7CK7UJ4-TDm0jY-y.js} +1 -1
  40. package/client/dist/assets/{diagram-UQ7AKVKN-DAaE-rA1.js → diagram-UQ7AKVKN-BEK9v3UO.js} +1 -1
  41. package/client/dist/assets/{diagram-VSXAHHWV-CJJ9xyap.js → diagram-VSXAHHWV-DN1fDjHm.js} +1 -1
  42. package/client/dist/assets/{diagram-VX7I27RA-4Er142Er.js → diagram-VX7I27RA-Dps0-Oiv.js} +1 -1
  43. package/client/dist/assets/{diagram-Z3DM3KII-eEe26_w-.js → diagram-Z3DM3KII-_HuCaT7o.js} +1 -1
  44. package/client/dist/assets/{ebnfDiagram-PWID7BFC-Dshy_lHs.js → ebnfDiagram-PWID7BFC-DM20IsBH.js} +1 -1
  45. package/client/dist/assets/{erDiagram-SSCWMZ5O-k7LwDRbW.js → erDiagram-SSCWMZ5O-Wa0fYRpx.js} +1 -1
  46. package/client/dist/assets/{flowDiagram-A5DVABFB-7_X479bX.js → flowDiagram-A5DVABFB-GI8ygHcX.js} +1 -1
  47. package/client/dist/assets/{freemarker2-B7Gu__z_.js → freemarker2-BDOhjTEG.js} +1 -1
  48. package/client/dist/assets/{ganttDiagram-EL5Y4UJY-5WmBzvON.js → ganttDiagram-EL5Y4UJY-VWo3tmSh.js} +1 -1
  49. package/client/dist/assets/{gitGraphDiagram-WWUBYQGX-CGTy36Lq.js → gitGraphDiagram-WWUBYQGX-BACh_dfL.js} +1 -1
  50. package/client/dist/assets/{handlebars-DRBRCJNd.js → handlebars-VtJCRZXm.js} +1 -1
  51. package/client/dist/assets/{html-6prUe0kc.js → html-QKZpDpWm.js} +1 -1
  52. package/client/dist/assets/{htmlMode-DWoHKeAk.js → htmlMode-CcbYa-9U.js} +1 -1
  53. package/client/dist/assets/index-7hqurJ6S.css +1 -0
  54. package/client/dist/assets/index-BEdzBcRP.js +407 -0
  55. package/client/dist/assets/{index-GTyUzvDG.js → index-CnAFHum-.js} +1 -1
  56. package/client/dist/assets/{infoDiagram-RXCK75RN-DZVb1P4d.js → infoDiagram-RXCK75RN-HyxwzqeC.js} +1 -1
  57. package/client/dist/assets/{ishikawaDiagram-5VMMS53U-CMgYHU70.js → ishikawaDiagram-5VMMS53U-DW12nYAB.js} +1 -1
  58. package/client/dist/assets/{javascript-Celvl7cV.js → javascript-BH2NT4f9.js} +1 -1
  59. package/client/dist/assets/{journeyDiagram-EYS64GPL-BnqHXNJS.js → journeyDiagram-EYS64GPL-cZq67mKh.js} +1 -1
  60. package/client/dist/assets/{jsonMode-DLC0POfi.js → jsonMode-DBFCjAht.js} +1 -1
  61. package/client/dist/assets/{kanban-definition-3QL26DDD-BeStEVi-.js → kanban-definition-3QL26DDD-CTl6MllY.js} +1 -1
  62. package/client/dist/assets/{layout-B8XEB-tZ.js → layout-COJhPF_X.js} +1 -1
  63. package/client/dist/assets/{linear-C1qdgmvA.js → linear-CISlOH8-.js} +1 -1
  64. package/client/dist/assets/{liquid-CiU5o5FX.js → liquid-CJMBQvrh.js} +1 -1
  65. package/client/dist/assets/{lspLanguageFeatures-BXNRwtlE.js → lspLanguageFeatures-DW0GDbKY.js} +1 -1
  66. package/client/dist/assets/{mdx-CfTUs1eY.js → mdx-DbvY5p5Q.js} +1 -1
  67. package/client/dist/assets/{mermaid.core-CFpSBIjf.js → mermaid.core-6wQEj5oY.js} +31 -31
  68. package/client/dist/assets/{mindmap-definition-FBJOCRG2-CUNP7NW4.js → mindmap-definition-FBJOCRG2-BmDs-Kvc.js} +1 -1
  69. package/client/dist/assets/{pegDiagram-XKGWAZYB-bRD6LI7t.js → pegDiagram-XKGWAZYB-B9lhiwTj.js} +1 -1
  70. package/client/dist/assets/{pieDiagram-E7YTZNPT-CUE2D9Mz.js → pieDiagram-E7YTZNPT-BK2wOrkg.js} +1 -1
  71. package/client/dist/assets/{python-rOgKTqjK.js → python-Dhvww05H.js} +1 -1
  72. package/client/dist/assets/{quadrantDiagram-AXDQQJYC-zDDE2XzB.js → quadrantDiagram-AXDQQJYC-BwrSFUdz.js} +1 -1
  73. package/client/dist/assets/{railroadDiagram-O6MQD6OU-3TRS2gLn.js → railroadDiagram-O6MQD6OU-OKUE5uEt.js} +1 -1
  74. package/client/dist/assets/{razor-DhEzBZvo.js → razor-C-_EHJcK.js} +1 -1
  75. package/client/dist/assets/{requirementDiagram-EFPCY7ZU-Cgm0MiBG.js → requirementDiagram-EFPCY7ZU-BL_P4bjE.js} +1 -1
  76. package/client/dist/assets/{sankeyDiagram-P5KCCOFB-DzQfpaqZ.js → sankeyDiagram-P5KCCOFB-Cj1I06hb.js} +1 -1
  77. package/client/dist/assets/{sequenceDiagram-WJ2MYXX4-D_eKGGY5.js → sequenceDiagram-WJ2MYXX4-D0L0IdkF.js} +1 -1
  78. package/client/dist/assets/{sizeCapture-X5ZJPWSS-BVFpPdEZ.js → sizeCapture-X5ZJPWSS-CEV3-bek.js} +1 -1
  79. package/client/dist/assets/{stateDiagram-HBIQ2CUA-Bvp5OM6x.js → stateDiagram-HBIQ2CUA-BOD-54ip.js} +1 -1
  80. package/client/dist/assets/stateDiagram-v2-4QOOHH4V-Bqqdavzk.js +1 -0
  81. package/client/dist/assets/{swimlanes-XN3QIQJK-B497DW3A.js → swimlanes-XN3QIQJK-CGiwYks4.js} +1 -1
  82. package/client/dist/assets/swimlanesDiagram-VK2B7HYN-CgwmAjfg.js +8 -0
  83. package/client/dist/assets/{timeline-definition-24CTP7MA-BHAeybVL.js → timeline-definition-24CTP7MA-ZgPnjDG_.js} +1 -1
  84. package/client/dist/assets/{tsMode-BKQ7PNBK.js → tsMode-DT5jMTFM.js} +1 -1
  85. package/client/dist/assets/{typescript-0T3kV3Fw.js → typescript-BjCX65yY.js} +1 -1
  86. package/client/dist/assets/{useTerminal-D0Eg4ohV.js → useTerminal-BHIbuphG.js} +1 -1
  87. package/client/dist/assets/{vennDiagram-4TSXK5OY-C3aoPRLD.js → vennDiagram-4TSXK5OY-Ca2MxBLC.js} +1 -1
  88. package/client/dist/assets/{wardleyDiagram-VM6X3IG4-D45EDW-W.js → wardleyDiagram-VM6X3IG4-Bqzt0pcq.js} +1 -1
  89. package/client/dist/assets/{workers-nJulRuKZ.js → workers-BIdikAp3.js} +1 -1
  90. package/client/dist/assets/{xml-Dm41fNV2.js → xml-CwVKr8bK.js} +1 -1
  91. package/client/dist/assets/{xychartDiagram-S5SC5T6Z-CCfr24LB.js → xychartDiagram-S5SC5T6Z-CpU075HP.js} +1 -1
  92. package/client/dist/assets/{yaml-BHs6-_Vy.js → yaml-wprV8sgi.js} +1 -1
  93. package/client/dist/index.html +2 -2
  94. package/package.json +1 -1
  95. package/server/dist/index.js +863 -263
  96. package/client/dist/assets/GitHistoryView-BZF9vYG5.css +0 -1
  97. package/client/dist/assets/GitHistoryView-v-2M8_wB.js +0 -2
  98. package/client/dist/assets/MemoryCenter-C7FlmiQa.js +0 -1
  99. package/client/dist/assets/SettingsDialog-BaIuifOT.css +0 -1
  100. package/client/dist/assets/SettingsDialog-CmkVcpN6.js +0 -5
  101. package/client/dist/assets/TaskInboxPanel-CZiNlRVB.js +0 -1
  102. package/client/dist/assets/channel-Fc9PxOLB.js +0 -1
  103. package/client/dist/assets/classDiagram-DTDB5LWJ-D6WMV2bo.js +0 -1
  104. package/client/dist/assets/classDiagram-v2-JRS7N3AN-D6WMV2bo.js +0 -1
  105. package/client/dist/assets/index-D8pylZiM.css +0 -1
  106. package/client/dist/assets/index-nLzofEMh.js +0 -407
  107. package/client/dist/assets/stateDiagram-v2-4QOOHH4V-CM3P74Kw.js +0 -1
  108. package/client/dist/assets/swimlanesDiagram-VK2B7HYN-DAMUXB40.js +0 -8
@@ -1 +0,0 @@
1
- import{a1 as Re,B as c,a2 as Qe,d as Ge,f as ge,w as ye,K as Pe,a3 as qe,a4 as ue,a5 as he,o as p,c as v,n as Me,j as we,k as D,$ as Ze,L as de,e as o,t as i,u as e,a6 as et,H as tt,R as Ne,x as pe,Q as ve,a7 as He,a8 as at,a as I,T as st,a9 as ot,b as fe,aa as nt,_ as Ye,E as lt,s as N,q as We,ab as it,W as rt,Y as ct,l as ne,ac as ut,ad as dt,ae as Be,J as pt,a0 as vt,af as ft}from"./index-nLzofEMh.js";function mt(P){const H=c([]),Y=c("project"),t=c("waiting"),d=c(!1),T=c(""),M=c(null);let y="";async function h(k=y){y=k,d.value=!0,T.value="";try{const g=new URLSearchParams({scope:Y.value,status:t.value});Y.value==="project"&&k&&g.set("projectPath",k);const A=await Re(`/api/tasks?${g.toString()}`,{fallbackMessage:"Task request failed"});H.value=A.tasks||[]}catch(g){T.value=Ae(g),H.value=[]}finally{d.value=!1}}async function W(k){return(await S("/api/tasks","POST",k)).task}async function m(k,g){return(await S(`/api/tasks/${encodeURIComponent(k)}`,"PUT",g)).task}async function x(k){await S(`/api/tasks/${encodeURIComponent(k)}`,"DELETE")}async function L(k){return(await S(`/api/tasks/${encodeURIComponent(k)}/complete`,"POST")).task}async function U(k){M.value=k,T.value="";try{const g=await Re(`/api/tasks/${encodeURIComponent(k)}/start`,{method:"POST",body:{clientId:P},fallbackMessage:"Task request failed"});return B(),await h(y),g}catch(g){throw T.value=Ae(g),g}finally{M.value=null}}async function S(k,g,A){T.value="";try{const $=await Re(k,{method:g,body:A,fallbackMessage:"Task request failed"});return B(),await h(y),$}catch($){throw T.value=Ae($),$}}function B(){window.dispatchEvent(new Event("refresh-tasks"))}return{tasks:H,scope:Y,status:t,loading:d,error:T,startingTaskId:M,load:h,create:W,update:m,remove:x,start:U,complete:L}}function Ae(P){return Qe(P,"Task request failed")}const kt={key:0,class:"task-editor-backdrop"},bt={class:"task-editor-dialog",role:"dialog","aria-modal":"true","aria-labelledby":"task-editor-title"},ht={class:"task-editor-header"},gt={id:"task-editor-title"},yt={class:"task-editor-grid"},Pt={class:"task-content-fields"},wt={for:"task-project"},It={class:"project-control"},xt={for:"task-title"},_t={class:"task-prompt-row"},Tt={for:"task-prompt"},Et=["disabled","title"],St={for:"task-notes"},$t={class:"task-editor-actions"},Ct=["disabled"],jt={class:"task-launch-fields"},Dt={for:"task-profile"},Rt={key:0,class:"task-resource-state"},At={key:0,class:"task-editor-error","aria-live":"polite"},Mt="pi-cloud.newSessionOptions",Lt=Ge({__name:"TaskEditorDialog",props:{visible:{type:Boolean},clientId:{},currentProjectPath:{},selectedAgentProfileId:{},presets:{},task:{default:null},saving:{type:Boolean,default:!1}},emits:["close","save"],setup(P,{expose:H,emit:Y}){const t=ge.global.t,d=P,T=Y,M=c(null),y=c(""),h=c(""),W=c(""),m=c(""),x=c(""),L=c([]),U=c([]),S=c([]),B=c([]),k=c([]),g=c([]),A=c(""),$=c(!1),R=c(""),w=c(qe()),V=c(!1),O=c(!1),f=c(""),E=c(!1),_=c(!1);let Q=0,z=!1,q=!1;const J=fe(()=>L.value.map(a=>({value:a,label:a}))),K=fe(()=>U.value.map(a=>({value:a.id,label:a.label}))),Z=fe(()=>d.saving||O.value||!y.value.trim()||!h.value.trim()||!m.value||!x.value||!V.value);ye(()=>d.visible,a=>{if(a){if(q){q=!1,Pe(()=>M.value?.focus());return}le()}},{immediate:!0}),ye(x,(a,s)=>{z||!d.visible||!a||!s||a===s||(w.value={...w.value,modelProvider:"",modelId:""},te())}),ye(m,(a,s)=>{z||!d.visible||!a||!s||a===s||te()});async function le(){await ee(),await Pe(),M.value?.focus()}async function ee(){z=!0,f.value="",y.value=d.task?.title||"",h.value=d.task?.prompt||"",W.value=d.task?.notes||"",m.value=d.task?.projectPath||d.currentProjectPath,w.value=d.task?Se(d.task):qe();try{const[a,s]=await Promise.all([Ie(),me()]);L.value=Array.from(new Set([m.value,...a].filter(Boolean))),U.value=s,x.value=be(),await Pe(),z=!1,await te()}catch(a){z=!1,f.value=ae(a)}}async function Ie(){return ue(he(["project-paths",d.clientId]),async()=>{const a=await fetch(`/api/sessions/project-paths?clientId=${encodeURIComponent(d.clientId)}`);if(a.ok===!1)throw new Error(t("components.taskEditorDialog.failedToLoadProjectPaths"));const s=await a.json();return Array.isArray(s.projectPaths)?s.projectPaths:[]})}async function me(){return ue("agent-profiles",async()=>{const a=await fetch("/api/sessions/agent-profiles");if(a.ok===!1)throw new Error(t("components.taskEditorDialog.failedToLoadAgentProfiles"));const s=await a.json();return Array.isArray(s.profiles)?s.profiles:[]})}async function ke(a){return ue(he(["models",a]),async()=>{const s=await fetch(`/api/sessions/agent-profiles/${encodeURIComponent(a)}/models`);if(s.ok===!1)throw new Error(t("components.taskEditorDialog.failedToLoadModels"));const u=await s.json();return Array.isArray(u.models)?u.models:[]})}async function ie(a,s){return ue(he(["agent-profile-skills",a,s]),async()=>{const u=await fetch(`/api/sessions/agent-profiles/${encodeURIComponent(a)}/skills?projectPath=${encodeURIComponent(s)}`);if(u.ok===!1)throw new Error(t("components.taskEditorDialog.failedToLoadSkills"));const b=await u.json();return Array.isArray(b.skills)?b.skills:[]})}async function xe(a){return ue(he(["worktree-copy-files",d.clientId,a]),async()=>{const s=new URLSearchParams({clientId:d.clientId,projectPath:a}),u=await fetch(`/api/sessions/worktree-copy-files?${s.toString()}`);if(u.ok===!1)throw new Error(t("components.taskEditorDialog.failedToLoadCopyFiles"));const b=await u.json();return Array.isArray(b.files)?b.files:[]}).catch(()=>[])}async function re(a){const s=new URLSearchParams({clientId:d.clientId,projectPath:a}),u=await fetch(`/api/sessions/git-status?${s.toString()}`);return u.ok===!1?{}:u.json()}async function _e(){const a=m.value;if(a){$.value=!0,R.value="";try{const s=new URLSearchParams({clientId:d.clientId,projectPath:a}),u=await fetch(`/api/sessions/worktree-branches?${s.toString()}`);if(!u.ok)throw new Error(t("components.taskEditorDialog.managedWorktreesAreUnavailableForThisProject"));const b=await u.json();if(m.value!==a)return;k.value=Array.isArray(b.branches)?b.branches:[]}catch(s){k.value=[],R.value=ae(s)}finally{$.value=!1}}}async function te(){if(!m.value||!x.value)return;const a=++Q;O.value=!0,f.value="",R.value="";try{k.value=[];const[s,u,b,C]=await Promise.all([ke(x.value),ie(x.value,m.value),xe(m.value),re(m.value)]);if(a!==Q)return;if(S.value=s,B.value=u,g.value=b,A.value=C.isGitRepo&&!C.detached&&C.branch||"",R.value=C.isGitRepo?"":t("components.taskEditorDialog.managedWorktreesAreUnavailableForThisProject"),!S.value.some(X=>X.provider===w.value.modelProvider&&X.id===w.value.modelId)){const X=U.value.find(F=>F.id===x.value),se=S.value.find(F=>F.current)||S.value.find(F=>F.provider===X?.defaultProvider&&F.id===X?.defaultModel)||S.value[0];w.value={...w.value,modelProvider:se?.provider||"",modelId:se?.id||""}}d.task||Te()}catch(s){a===Q&&(f.value=ae(s))}finally{a===Q&&(O.value=!1)}}function be(){return d.task?.agentProfileId?d.task.agentProfileId:U.value.some(s=>s.id===d.selectedAgentProfileId)?d.selectedAgentProfileId:U.value[0]?.id||""}function Te(){const a=Ee(m.value);if(a.mode==="preset"){const b=d.presets.find(C=>C.id===a.selectedPresetId);if(!b)return;w.value={...w.value,skillSelection:"preset",skillMode:b.mode,skills:b.skills,presetId:b.id};return}if(a.mode!=="custom")return;const s=new Set(B.value.map(b=>b.name)),u=Array.isArray(a.selectedSkills)?a.selectedSkills.filter(b=>typeof b=="string"&&s.has(b)):[];w.value={...w.value,skillSelection:"custom",skillMode:a.customMode==="enabled"?"enabled":"disabled",skills:u,presetId:""}}function Ee(a){if(typeof localStorage>"u")return{};try{const s=JSON.parse(localStorage.getItem(`${Mt}:${a||"~"}`)||"{}");return s&&typeof s=="object"?s:{}}catch{return{}}}function Se(a){let s="custom";return a.presetId?s="preset":a.skillMode==="all"&&(s="all"),{modelProvider:a.modelProvider,modelId:a.modelId,skillSelection:s,skillMode:a.skillMode,skills:[...a.skills],presetId:a.presetId||"",worktree:a.worktree}}function $e(a){m.value=typeof a=="string"?a:a.path,L.value.includes(m.value)||L.value.push(m.value),_.value=!1}async function Ce(){if(!(E.value||!h.value.trim())){E.value=!0,f.value="";try{const a=await fetch("/api/tasks/polish",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({clientId:d.clientId,title:y.value,prompt:h.value})}),s=await a.json().catch(()=>({}));if(!a.ok||!s.content?.title||!s.content?.prompt)throw new Error(s.error||t("components.taskEditorDialog.failedToPolishTask"));y.value=s.content.title,h.value=s.content.prompt}catch(a){f.value=ae(a)}finally{E.value=!1}}}function je(){Z.value||T("save",{projectPath:m.value,title:y.value.trim(),prompt:h.value.trim(),notes:W.value,agentProfileId:x.value,...nt(w.value)})}function ae(a){return a instanceof Error?a.message:t("components.taskEditorDialog.failedToLoadTaskSettings")}return H({async preload(){await ee(),q=!0}}),(a,s)=>(p(),v(Me,null,[(p(),we(st,{to:"body"},[D(Ze,{name:"modal"},{default:de(()=>[P.visible?(p(),v("div",kt,[o("section",bt,[o("header",ht,[o("div",null,[o("h2",gt,i(P.task?e(t)("components.taskEditorDialog.editTask"):e(t)("components.taskEditorDialog.newTask")),1),o("p",null,i(e(t)("components.taskEditorDialog.saveTheCompleteSessionSetupNowAnd")),1)]),D(et,{class:"task-editor-close",label:e(t)("components.taskEditorDialog.closeTaskEditor"),onClick:s[0]||(s[0]=u=>T("close"))},null,8,["label"])]),o("form",{onSubmit:tt(je,["prevent"])},[o("div",yt,[o("section",Pt,[o("label",wt,i(e(t)("components.taskEditorDialog.project")),1),o("div",It,[D(Ne,{id:"task-project",modelValue:m.value,"onUpdate:modelValue":s[1]||(s[1]=u=>m.value=u),options:J.value,"aria-label":e(t)("components.taskEditorDialog.taskProject")},null,8,["modelValue","options","aria-label"]),o("button",{type:"button",class:"dialog-action browse-project",onClick:s[2]||(s[2]=u=>_.value=!0)},i(e(t)("components.taskEditorDialog.browse")),1)]),o("label",xt,i(e(t)("components.taskEditorDialog.title")),1),pe(o("input",{id:"task-title",ref_key:"titleInput",ref:M,"onUpdate:modelValue":s[3]||(s[3]=u=>y.value=u),autocomplete:"off"},null,512),[[ve,y.value]]),o("div",_t,[o("label",Tt,i(e(t)("components.taskEditorDialog.promptSentToPi")),1),o("button",{type:"button",class:"task-ai-polish",disabled:E.value||!h.value.trim(),title:h.value.trim()?e(t)("components.taskEditorDialog.polishTaskTitleAndPromptWithAi"):e(t)("components.taskEditorDialog.enterARoughPromptToPolishWithAi"),onClick:Ce},[D(e(He),{size:16,weight:"bold","aria-hidden":"true"}),o("span",null,i(E.value?e(t)("components.taskEditorDialog.polishing"):e(t)("components.taskEditorDialog.aiPolish")),1)],8,Et)]),pe(o("textarea",{id:"task-prompt","onUpdate:modelValue":s[4]||(s[4]=u=>h.value=u),rows:"12"},null,512),[[ve,h.value]]),o("label",St,i(e(t)("components.taskEditorDialog.privateNotesNotSent")),1),pe(o("textarea",{id:"task-notes","onUpdate:modelValue":s[5]||(s[5]=u=>W.value=u),rows:"4"},null,512),[[ve,W.value]]),o("footer",$t,[o("button",{class:"dialog-action",type:"button",onClick:s[6]||(s[6]=u=>T("close"))},i(e(t)("components.taskEditorDialog.cancel")),1),o("button",{class:"dialog-action task-save",type:"submit",disabled:Z.value},i(P.saving?e(t)("components.taskEditorDialog.saving"):e(t)("components.taskEditorDialog.saveTask")),9,Ct)])]),o("section",jt,[o("label",Dt,i(e(t)("components.taskEditorDialog.agentProfile")),1),D(Ne,{id:"task-profile",modelValue:x.value,"onUpdate:modelValue":s[7]||(s[7]=u=>x.value=u),options:K.value,"aria-label":e(t)("components.taskEditorDialog.taskAgentProfile")},null,8,["modelValue","options","aria-label"]),O.value?(p(),v("div",Rt,i(e(t)("components.taskEditorDialog.loadingLaunchSettings")),1)):(p(),we(at,{key:1,modelValue:w.value,"onUpdate:modelValue":s[8]||(s[8]=u=>w.value=u),"id-prefix":"task","require-model":"",models:S.value,"available-skills":B.value,presets:P.presets,branches:k.value,"copy-files":g.value,"current-branch":A.value,"branches-loading":$.value,"branches-error":R.value,onValidityChange:s[9]||(s[9]=u=>V.value=u),onRequestBranches:_e},null,8,["modelValue","models","available-skills","presets","branches","copy-files","current-branch","branches-loading","branches-error"]))])]),f.value?(p(),v("p",At,i(f.value),1)):I("",!0)],32)])])):I("",!0)]),_:1})])),D(ot,{visible:_.value,"initial-path":m.value,"current-project-path":m.value,onClose:s[10]||(s[10]=u=>_.value=!1),onSelect:$e},null,8,["visible","initial-path","current-project-path"])],64))}}),Ut=Ye(Lt,[["__scopeId","data-v-895c9ddb"]]),Vt=["title"],zt={class:"task-inbox-header"},qt={class:"task-inbox-actions"},Nt=["aria-label"],Wt={class:"task-inbox-toolbar"},Bt={class:"task-filter-group"},Ot={class:"task-filter-label"},Ft=["aria-label"],Gt={class:"task-filter-group task-filter-group-status"},Ht={class:"task-filter-label"},Yt=["aria-label"],Jt=["onClick"],Kt={key:0,class:"task-error","aria-live":"polite"},Xt={key:2,class:"task-empty"},Qt={key:3,class:"task-empty"},Zt={class:"task-empty-card"},ea={class:"task-empty-icon","aria-hidden":"true"},ta={key:0},aa={key:4,class:"task-list"},sa=["data-task-id"],oa={class:"task-row-main"},na={class:"task-copy"},la={class:"task-title-line"},ia={class:"task-title-actions"},ra=["aria-label","title","onClick"],ca=["aria-label","title","onClick"],ua={class:"task-meta"},da={key:0,class:"task-project"},pa=["title"],va={key:1,class:"task-work-location"},fa=["title"],ma=["aria-expanded","onClick"],ka={key:1,class:"task-notes"},ba={class:"task-row-actions task-actions"},ha={class:"task-primary-actions"},ga=["disabled","onClick"],ya=["onClick"],Pa={class:"task-secondary-actions"},wa=["disabled","onClick"],Ia=["onClick"],xa=["href"],_a=["onClick"],Ta=["href","title","aria-label"],Ea={class:"issue-preview-form"},Sa=["value","aria-label"],$a={class:"issue-ai-row"},Ca=["disabled","title"],ja={key:0,class:"issue-generation-error"},Oe=480,Fe=360,Da=.85,Ra=Ge({__name:"TaskInboxPanel",props:{visible:{type:Boolean},clientId:{},currentProjectPath:{},selectedAgentProfileId:{},presets:{},loadPresets:{type:Function}},emits:["close","started","openSession"],setup(P,{expose:H,emit:Y}){const t=ge.global.t,d=P,T=Y,{tasks:M,scope:y,status:h,loading:W,error:m,startingTaskId:x,load:L,create:U,update:S,remove:B,start:k,complete:g}=mt(d.clientId),A=ft(),$=c(!1),R=c(null),w=c(null),V=c(null),O=c(!1),f=c(""),E=c(null),_=vt({owner:"",repo:"",title:"",body:""}),Q=fe(()=>[_.owner,_.repo].filter(Boolean).join("/")),z=c(!1),q=c(!1),J=c(""),K=c(null),Z=c(new Set);let le;const ee=c(),Ie=fe(()=>({"--task-inbox-panel-width":`${ee.value||Oe}px`}));let me=0,ke=0;const ie=c(!1),xe=[{value:"waiting",label:t("components.taskInboxPanel.waiting")},{value:"started",label:t("components.taskInboxPanel.started")},{value:"completed",label:t("components.taskInboxPanel.completed")}];ye([()=>d.currentProjectPath,y,h],()=>{L(d.currentProjectPath)},{immediate:!0});function re(){te(null)}function _e(n){te(n)}async function te(n){f.value="",R.value=n,$.value=!0;try{await d.loadPresets(),await Pe(),await w.value?.preload?.()}catch(r){$.value=!1,R.value=null,f.value=G(r)}}function be(){$.value=!1,R.value=null}async function Te(n){O.value=!0,f.value="";try{R.value?await S(R.value.id,n):await U(n),be()}catch(r){f.value=G(r)}finally{O.value=!1}}async function Ee(n){f.value="";try{T("started",await k(n.id))}catch(r){f.value=G(r)}}function Se(n){f.value="";const r=new URL("/",window.location.origin);r.searchParams.set("startTask",n.id),n.projectPath&&n.projectPath!=="~"&&r.searchParams.set("project",n.projectPath),n.agentProfileId&&n.agentProfileId!=="default"&&r.searchParams.set("profile",n.agentProfileId),window.open(r.toString(),"_blank","noopener")}async function $e(n){f.value="";try{await g(n.id)}catch(r){f.value=G(r)}}function Ce(n){V.value=n}async function je(){if(V.value){f.value="";try{await B(V.value.id),V.value=null}catch(n){f.value=G(n)}}}async function ae(n){f.value="",J.value="";try{const r=await A.previewIssue(n.id);Object.assign(_,r),E.value=n}catch(r){f.value=G(r)}}async function a(){if(!(!E.value||q.value)){q.value=!0,J.value="";try{const n=await A.generateIssueContent(d.clientId,E.value.id,{..._});_.title=n.title,_.body=n.body}catch(n){J.value=G(n)}finally{q.value=!1}}}async function s(){if(!(!E.value||z.value)){z.value=!0,f.value="";try{const n=await A.createIssue(E.value.id,{..._});E.value=null,await L(d.currentProjectPath),Ue(n.giteaIssue?t("components.taskInboxPanel.issueNumberCreated",{number:n.giteaIssue.number}):t("components.taskInboxPanel.issueCreated"),"success")}catch(n){f.value=G(n),Ue(f.value,"error")}finally{z.value=!1}}}function u(n){return n.worktree.mode==="managed"?t("components.taskInboxPanel.worktreeBranch",{branch:n.worktree.branchName}):""}function b(n){const r=new Date(n),l=Date.now()-r.getTime(),j=Math.floor(l/6e4),De=Math.floor(j/60),oe=Math.floor(De/24);if(j<1)return t("components.taskInboxPanel.justNow");if(j<60)return C(j,"minute");if(De<24)return C(De,"hour");if(oe<7)return C(oe,"day");if(oe<30)return C(Math.floor(oe/7),"week");const ze=Math.floor(oe/30);return ze<12?C(ze,"month"):C(Math.floor(oe/365),"year")}function C(n,r){return ge.global.locale.value!=="en"?new Intl.RelativeTimeFormat(ge.global.locale.value,{numeric:"always",style:"long"}).format(-n,r):r==="minute"?`${n}m ago`:r==="hour"?`${n}h ago`:r==="day"?`${n}d ago`:`${n} ${r}${n===1?"":"s"} ago`}function Le(n){return new Date(n).toLocaleString()}function X(n){return n.trim().length>240}function se(n){return Z.value.has(n)}function F(n){const r=new Set(Z.value);r.has(n)?r.delete(n):r.add(n),Z.value=r}function G(n){return n instanceof Error?n.message:t("components.taskInboxPanel.taskActionFailed")}function Ue(n,r){K.value={message:n,type:r},window.clearTimeout(le),le=window.setTimeout(()=>{K.value=null},2e3)}function Je(n){const r=Math.max(Fe,Math.floor(window.innerWidth*Da));return Math.min(r,Math.max(Fe,n))}function Ke(){return ee.value||Oe}function Ve(n){const r=me-n.clientX;ee.value=Je(ke+r)}function ce(){ie.value=!1,document.body.style.cursor="",document.body.style.userSelect="",window.removeEventListener("mousemove",Ve),window.removeEventListener("mouseup",ce),window.removeEventListener("blur",ce)}function Xe(n){n.preventDefault(),ie.value=!0,me=n.clientX,ke=Ke(),document.body.style.cursor="col-resize",document.body.style.userSelect="none",window.addEventListener("mousemove",Ve),window.addEventListener("mouseup",ce),window.addEventListener("blur",ce)}return lt(()=>{ce(),window.clearTimeout(le)}),H({openNewTask:re}),(n,r)=>(p(),v("section",{class:N(["task-inbox-panel",{visible:P.visible!==!1}]),style:pt(Ie.value)},[o("div",{class:N(["task-inbox-resize-handle",{"is-resizing":ie.value}]),title:e(t)("components.taskInboxPanel.resizeTaskInbox"),onMousedown:Xe},null,42,Vt),o("header",zt,[o("div",null,[o("h2",null,i(e(t)("components.taskInboxPanel.taskInbox")),1),o("p",null,i(e(t)("components.taskInboxPanel.captureWorkNowAndStartInNew")),1)]),o("div",qt,[o("button",{class:"new-task",type:"button",onClick:re},i(e(t)("components.taskInboxPanel.newTask")),1),o("button",{class:"close-task-inbox",type:"button","aria-label":e(t)("components.taskInboxPanel.closeTaskInbox"),onClick:r[0]||(r[0]=l=>T("close"))},"×",8,Nt)])]),o("div",Wt,[o("div",Bt,[o("span",Ot,i(e(t)("components.taskInboxPanel.scope")),1),o("div",{class:"task-scope",role:"group","aria-label":e(t)("components.taskInboxPanel.taskProjectScope")},[o("button",{class:N(["scope-project",{active:e(y)==="project"}]),type:"button",onClick:r[1]||(r[1]=l=>y.value="project")},i(e(t)("components.taskInboxPanel.currentProject")),3),o("button",{class:N(["scope-all",{active:e(y)==="all"}]),type:"button",onClick:r[2]||(r[2]=l=>y.value="all")},i(e(t)("components.taskInboxPanel.allProjects")),3)],8,Ft)]),o("div",Gt,[o("span",Ht,i(e(t)("components.taskInboxPanel.status")),1),o("div",{class:"task-status-tabs",role:"group","aria-label":e(t)("components.taskInboxPanel.taskStatus")},[(p(),v(Me,null,We(xe,l=>o("button",{key:l.value,class:N({active:e(h)===l.value}),type:"button",onClick:j=>h.value=l.value},i(l.label),11,Jt)),64))],8,Yt)])]),e(m)||f.value?(p(),v("p",Kt,i(f.value||e(m)),1)):I("",!0),K.value?(p(),v("div",{key:1,class:N(["task-toast",K.value.type]),role:"status","aria-live":"polite"},i(K.value.message),3)):I("",!0),e(W)?(p(),v("div",Xt,i(e(t)("components.taskInboxPanel.loadingTasks")),1)):e(M).length===0?(p(),v("div",Qt,[o("div",Zt,[o("div",ea,[D(e(it),{size:28,weight:"duotone"})]),o("h3",null,i(e(t)("components.taskInboxPanel.noStatusTasks",{status:e(t)(`components.taskInboxPanel.statuses.${e(h)}`)})),1),e(h)==="waiting"?(p(),v("p",ta,i(e(t)("components.taskInboxPanel.captureYourNextIdeaWithoutInterruptingYour")),1)):I("",!0),e(h)==="waiting"?(p(),v("button",{key:1,class:"task-empty-action",type:"button",onClick:re},i(e(t)("components.taskInboxPanel.newTask")),1)):I("",!0)])])):(p(),v("div",aa,[(p(!0),v(Me,null,We(e(M),l=>(p(),v("article",{key:l.id,class:"task-row","data-task-id":l.id},[o("div",oa,[o("div",na,[o("div",la,[o("h3",null,i(l.title),1),o("span",{class:N(["task-status",`status-${l.status}`])},i(e(t)(`components.taskInboxPanel.statuses.${l.status}`)),3),o("div",ia,[l.status==="waiting"?(p(),v("button",{key:0,class:"task-icon-btn",type:"button","aria-label":e(t)("components.taskInboxPanel.editTask"),title:e(t)("components.taskInboxPanel.edit"),onClick:j=>_e(l)},[D(e(rt),{size:15,weight:"bold"})],8,ra)):I("",!0),o("button",{class:"task-icon-btn danger",type:"button","aria-label":e(t)("components.taskInboxPanel.deleteTask"),title:e(t)("components.taskInboxPanel.delete"),onClick:j=>Ce(l)},[D(e(ct),{size:15,weight:"bold"})],8,ca)])]),o("div",ua,[e(y)==="all"?(p(),v("span",da,i(l.projectPath),1)):I("",!0),o("span",{class:"task-runtime",title:`${l.agentProfileId} · ${l.modelProvider}/${l.modelId}`},i(l.agentProfileId)+" · "+i(l.modelId),9,pa),l.worktree.mode==="managed"?(p(),v("span",va,i(u(l)),1)):I("",!0),o("span",{class:"task-created-at",title:Le(l.createdAt)},i(b(l.createdAt)),9,fa)]),o("p",{class:N(["task-prompt",{expanded:se(l.id)}])},i(l.prompt),3),X(l.prompt)?(p(),v("button",{key:0,class:"task-prompt-toggle",type:"button","aria-expanded":se(l.id),onClick:j=>F(l.id)},i(se(l.id)?e(t)("components.taskInboxPanel.showLess"):e(t)("components.taskInboxPanel.showMore")),9,ma)):I("",!0),l.notes?(p(),v("p",ka,[o("strong",null,i(e(t)("components.taskInboxPanel.notes")),1),ne(" "+i(l.notes),1)])):I("",!0)])]),o("div",ba,[o("div",ha,[l.status==="waiting"?(p(),v("button",{key:0,class:"task-start primary",type:"button",disabled:e(x)===l.id,onClick:j=>Ee(l)},i(e(x)===l.id?e(t)("components.taskInboxPanel.starting"):e(t)("components.taskInboxPanel.start")),9,ga)):I("",!0),l.status!=="waiting"&&l.sessionId?(p(),v("button",{key:1,class:"task-open-session primary",type:"button",onClick:j=>T("openSession",l.sessionId)},i(e(t)("components.taskInboxPanel.openSession")),9,ya)):I("",!0)]),o("div",Pa,[l.status==="waiting"?(p(),v("button",{key:0,class:"task-start-new-tab",type:"button",disabled:e(x)===l.id,onClick:j=>Se(l)},i(e(t)("components.taskInboxPanel.startInNewTab")),9,wa)):I("",!0),l.status==="started"?(p(),v("button",{key:1,class:"task-complete",type:"button",onClick:j=>$e(l)},i(e(t)("components.taskInboxPanel.complete")),9,Ia)):I("",!0),l.giteaIssue?(p(),v("a",{key:2,class:"task-open-issue",href:l.giteaIssue.url,target:"_blank",rel:"noopener noreferrer"},"Issue #"+i(l.giteaIssue.number),9,xa)):(p(),v("button",{key:3,class:"task-create-issue",type:"button",onClick:j=>ae(l)},i(e(t)("components.taskInboxPanel.createIssue")),9,_a)),l.pullRequest?(p(),v("a",{key:4,class:N(["task-pr-status",l.pullRequest.status]),href:l.pullRequest.url,target:"_blank",rel:"noopener noreferrer",title:l.pullRequest.status==="merged"?e(t)("components.taskInboxPanel.pullRequestMerged"):e(t)("components.taskInboxPanel.pullRequestReady"),"aria-label":l.pullRequest.status==="merged"?e(t)("components.taskInboxPanel.pullRequestMerged"):e(t)("components.taskInboxPanel.pullRequestReady")},[l.pullRequest.status==="merged"?(p(),we(e(ut),{key:0,size:13,weight:"bold","aria-hidden":"true"})):(p(),we(e(dt),{key:1,size:13,weight:"bold","aria-hidden":"true"})),o("span",null,"PR #"+i(l.pullRequest.number),1)],10,Ta)):I("",!0)])])],8,sa))),128))])),D(Ut,{ref_key:"taskEditorRef",ref:w,visible:$.value,"client-id":P.clientId,"current-project-path":P.currentProjectPath,"selected-agent-profile-id":P.selectedAgentProfileId,presets:P.presets,task:R.value,saving:O.value,onClose:be,onSave:Te},null,8,["visible","client-id","current-project-path","selected-agent-profile-id","presets","task","saving"]),D(Be,{visible:!!V.value,variant:"danger","confirm-text":e(t)("components.taskInboxPanel.delete"),onConfirm:je,onCancel:r[3]||(r[3]=l=>V.value=null)},{title:de(()=>[ne(i(e(t)("components.taskInboxPanel.deleteTask")),1)]),message:de(()=>[ne(i(e(t)("components.taskInboxPanel.deleteThisTaskRecordAnyLinkedPi")),1)]),_:1},8,["visible","confirm-text"]),D(Be,{visible:!!E.value,"confirm-text":e(t)("components.taskInboxPanel.createIssue"),onConfirm:s,onCancel:r[6]||(r[6]=l=>E.value=null)},{title:de(()=>[ne(i(e(t)("components.taskInboxPanel.createIssue")),1)]),message:de(()=>[o("div",Ea,[o("label",null,[ne(i(e(t)("components.taskInboxPanel.repository"))+" ",1),o("input",{value:Q.value,readonly:"","aria-label":e(t)("components.taskInboxPanel.issueRepository")},null,8,Sa)]),o("label",null,[ne(i(e(t)("components.taskInboxPanel.title"))+" ",1),pe(o("input",{"onUpdate:modelValue":r[4]||(r[4]=l=>_.title=l)},null,512),[[ve,_.title]])]),o("div",$a,[o("span",null,i(e(t)("components.taskInboxPanel.body")),1),o("button",{type:"button",class:"issue-ai-generate",disabled:q.value,title:P.clientId?e(t)("components.taskInboxPanel.polishIssueTitleAndBodyWithAi"):e(t)("components.taskInboxPanel.openASessionToPolishIssueContentWith"),onClick:a},[D(e(He),{size:16,weight:"bold","aria-hidden":"true"}),o("span",null,i(q.value?e(t)("components.taskInboxPanel.generating"):e(t)("components.taskInboxPanel.aiPolish")),1)],8,Ca)]),o("label",null,[pe(o("textarea",{"onUpdate:modelValue":r[5]||(r[5]=l=>_.body=l),rows:"8"},null,512),[[ve,_.body]])]),J.value?(p(),v("p",ja,i(J.value),1)):I("",!0)])]),_:1},8,["visible","confirm-text"])],6))}}),Ma=Ye(Ra,[["__scopeId","data-v-67a4d1cd"]]);export{Ma as default};
@@ -1 +0,0 @@
1
- import{U as a,C as n}from"./mermaid.core-CFpSBIjf.js";const t=(r,o)=>a.lang.round(n.parse(r)[o]);export{t as c};
@@ -1 +0,0 @@
1
- import{s as a,c as s,a as e,C as t}from"./chunk-LCL6LL3I-BD7QKy4w.js";import{_ as i}from"./mermaid.core-CFpSBIjf.js";import"./chunk-5VM5RSS4-DK306biR.js";import"./chunk-XXDRQBXY-jQoIqp5a.js";import"./chunk-POPQ4Y6H-BqLcddFA.js";import"./chunk-F27PBJKO-jkwA9GYW.js";import"./index-nLzofEMh.js";var n={parser:e,get db(){return new t},renderer:s,styles:a,init:i(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{n as diagram};
@@ -1 +0,0 @@
1
- import{s as a,c as s,a as e,C as t}from"./chunk-LCL6LL3I-BD7QKy4w.js";import{_ as i}from"./mermaid.core-CFpSBIjf.js";import"./chunk-5VM5RSS4-DK306biR.js";import"./chunk-XXDRQBXY-jQoIqp5a.js";import"./chunk-POPQ4Y6H-BqLcddFA.js";import"./chunk-F27PBJKO-jkwA9GYW.js";import"./index-nLzofEMh.js";var n={parser:e,get db(){return new t},renderer:s,styles:a,init:i(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{n as diagram};
@@ -1 +0,0 @@
1
- .login-shell[data-v-3ec919c1]{min-height:100vh;width:100vw;display:grid;place-items:center;padding:1rem;background:var(--login-shell-bg)}.login-card[data-v-3ec919c1]{width:min(380px,calc(100vw - 2rem));padding:2rem;border:1px solid var(--login-card-border);border-radius:22px;background:var(--login-card-bg);box-shadow:var(--login-card-shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);display:flex;flex-direction:column;gap:1.25rem}.login-brand[data-v-3ec919c1]{display:flex;flex-direction:column;align-items:center;gap:.875rem;margin-bottom:.25rem;text-align:center}.login-logo[data-v-3ec919c1]{position:relative;width:64px;height:64px;display:inline-flex;align-items:center;justify-content:center;border-radius:20px;background:linear-gradient(135deg,#6c8cff38,#4ade801a);box-shadow:inset 0 0 0 1px #ffffff1a,0 14px 34px #0000005c}.login-logo[data-v-3ec919c1]:after{content:"";position:absolute;inset:-8px;border-radius:28px;background:radial-gradient(circle at 35% 25%,rgba(108,140,255,.32),transparent 62%);z-index:-1}.login-logo img[data-v-3ec919c1]{width:52px;height:52px;display:block;border-radius:16px}.login-card h1[data-v-3ec919c1]{font-size:1.5rem;font-weight:700;color:var(--text-primary);letter-spacing:-.02em}.login-subtitle[data-v-3ec919c1]{color:var(--text-secondary);font-size:.875rem;margin-top:.25rem}.login-card label[data-v-3ec919c1]{display:flex;flex-direction:column;gap:.375rem;font-size:.875rem;font-weight:500;color:var(--text-secondary)}.login-card input[data-v-3ec919c1]{min-height:42px;background:var(--login-input-bg);border-color:var(--login-card-border)}.login-card input[data-v-3ec919c1]:hover{border-color:#8ba4ff6b}.login-error[data-v-3ec919c1]{padding:.625rem .75rem;border:1px solid rgba(248,113,113,.28);border-radius:var(--radius-md);background:var(--error-muted);color:var(--login-error-text);font-size:.875rem;text-align:center}.login-submit[data-v-3ec919c1]{min-height:44px;padding:.75rem 1rem;border-radius:var(--radius-md);background:linear-gradient(135deg,var(--accent),#4f7cff);color:#fff;font-weight:600;font-size:.9375rem;box-shadow:0 10px 24px #6c8cff38;transition:transform var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.login-submit[data-v-3ec919c1]:hover{background:linear-gradient(135deg,var(--accent-hover),#6c8cff);box-shadow:0 14px 30px #6c8cff4d}.login-submit[data-v-3ec919c1]:active{transform:scale(.98)}.file-icon[data-v-4c988f68]{flex:0 0 auto;display:inline-flex;align-items:center;color:var(--text-secondary)}.file-icon.icon-javascript[data-v-4c988f68],.file-icon.icon-image[data-v-4c988f68]{color:#e7b84b}.file-icon.icon-typescript[data-v-4c988f68],.file-icon.icon-docs[data-v-4c988f68]{color:#4d9bd8}.file-icon.icon-vue[data-v-4c988f68]{color:#42b883}.file-icon.icon-web[data-v-4c988f68],.file-icon.icon-warning[data-v-4c988f68]{color:#e06c75}.file-icon.icon-data[data-v-4c988f68]{color:#a78bfa}.file-icon.icon-archive[data-v-4c988f68],.file-icon.icon-config[data-v-4c988f68]{color:#9aa4b2}.modal-overlay[data-v-77e99bca]{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:#00000094}.modal-overlay.embedded[data-v-77e99bca]{position:static;display:block;padding:0;background:transparent}.clone-repository-modal[data-v-77e99bca]{width:min(560px,calc(100vw - 2rem));max-height:calc(100vh - 3rem);padding:1.25rem;overflow-y:auto;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl)}.embedded .clone-repository-modal[data-v-77e99bca]{width:100%;max-height:none;padding:.75rem;overflow:visible;background:transparent;border:0;box-shadow:none}.modal-header[data-v-77e99bca],.modal-actions[data-v-77e99bca],.clone-actions[data-v-77e99bca],.clone-progress-row[data-v-77e99bca]{display:flex;align-items:center;gap:.75rem}.modal-header[data-v-77e99bca]{justify-content:space-between;margin-bottom:1rem}.modal-header h3[data-v-77e99bca],.clone-existing-state h4[data-v-77e99bca]{margin:0;color:var(--text-primary)}.icon-button[data-v-77e99bca]{border:1px solid var(--border);border-radius:var(--radius-full);background:var(--bg-surface);color:var(--text-secondary)}.clone-form[data-v-77e99bca]{display:grid;gap:.875rem}.clone-form label[data-v-77e99bca]{display:grid;gap:.35rem;color:var(--text-secondary);font-size:.9rem}.clone-form .shallow-clone-option[data-v-77e99bca]{display:flex;align-items:center;gap:.5rem}.modal-input[data-v-77e99bca]{width:100%;padding:.65rem .75rem;color:var(--text-primary);background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-md)}.directory-list[data-v-77e99bca]{max-height:13rem;overflow:auto;padding:.35rem;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-md)}.directory-row[data-v-77e99bca]{width:100%;display:flex;align-items:center;gap:.5rem;padding:.5rem;color:var(--text-primary);border-radius:var(--radius-sm);text-align:left;transition:background var(--duration-fast) var(--ease-out)}.directory-row[data-v-77e99bca]:hover:not(:disabled){background:var(--bg-surface)}.directory-row[data-v-77e99bca]:disabled{opacity:.45;cursor:not-allowed}.empty-state[data-v-77e99bca]{padding:1rem;color:var(--text-secondary);text-align:center}.field-hint[data-v-77e99bca]{margin:0;color:var(--text-secondary);font-size:.85rem}.form-error[data-v-77e99bca]{margin:0;color:var(--error)}.clone-progress[data-v-77e99bca]{display:grid;gap:.45rem}.clone-progress-row[data-v-77e99bca]{justify-content:space-between;color:var(--text-secondary);font-size:.9rem}.progress-track[data-v-77e99bca]{height:.5rem;overflow:hidden;background:var(--bg-primary);border-radius:var(--radius-full)}.progress-fill[data-v-77e99bca]{height:100%;background:var(--accent);transition:width var(--duration-fast) var(--ease-out)}.progress-track.indeterminate .progress-fill[data-v-77e99bca]{width:35%}.modal-actions[data-v-77e99bca],.clone-actions[data-v-77e99bca]{justify-content:flex-end;margin-top:.5rem}.clone-start-btn[data-v-77e99bca]{background:var(--accent);color:#fff;transition:background var(--duration-fast) var(--ease-out),opacity var(--duration-fast) var(--ease-out)}.clone-start-btn[data-v-77e99bca]:hover:not(:disabled){background:var(--accent-hover)}.clone-start-btn[data-v-77e99bca]:disabled{opacity:.5;cursor:not-allowed}.dialog-close-button[data-v-270f6801]{display:inline-grid;width:2.25rem;height:2.25rem;flex:0 0 2.25rem;place-items:center;padding:0;color:var(--text-secondary);background:transparent;border:1px solid transparent;border-radius:var(--radius-full);line-height:1;transition:color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out)}.dialog-close-button[data-v-270f6801]:hover{color:var(--text-primary);background:var(--bg-surface);border-color:var(--border)}.dialog-close-button[data-v-270f6801]:focus-visible{outline:none;box-shadow:0 0 0 3px var(--accent-muted)}.dialog-close-button[data-v-270f6801]:active{transform:scale(.92)}@media(hover:none),(pointer:coarse){.dialog-close-button[data-v-270f6801]{width:2.5rem;height:2.5rem;flex-basis:2.5rem}}.modal-backdrop[data-v-e37e5dfd]{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:#00000094;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.confirm-modal[data-v-e37e5dfd]{width:min(540px,calc(100vw - 2rem));max-height:calc(100vh - 3rem);display:flex;flex-direction:column;overflow:hidden;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl)}.confirm-modal--wide[data-v-e37e5dfd]{width:min(1400px,calc(100vw - 3rem))}.modal-header[data-v-e37e5dfd]{display:flex;align-items:flex-start;gap:.875rem;min-height:0;padding:1.5rem 1.5rem 1.25rem;overflow-y:auto}.confirm-modal--no-icon .modal-header[data-v-e37e5dfd]{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:.5rem .875rem}.confirm-modal--no-icon .modal-heading[data-v-e37e5dfd]{display:contents}.confirm-modal--no-icon .modal-title[data-v-e37e5dfd]{grid-column:1;grid-row:1}.confirm-modal--no-icon .modal-message[data-v-e37e5dfd]{grid-column:1 / -1;grid-row:2}.confirm-modal--no-icon .modal-close[data-v-e37e5dfd]{grid-column:2;grid-row:1}.modal-icon[data-v-e37e5dfd]{display:inline-flex;align-items:center;justify-content:center;width:2.4rem;height:2.4rem;flex:0 0 auto;color:var(--accent);background:var(--accent-muted);border:1px solid rgba(108,140,255,.22);border-radius:var(--radius-lg)}.modal-icon.warning[data-v-e37e5dfd]{color:var(--warning);background:var(--warning-muted);border-color:#fbbf2438}.modal-icon.danger[data-v-e37e5dfd]{color:var(--error);background:var(--error-muted);border-color:#f8717138}.modal-icon[data-v-e37e5dfd] .ph{color:inherit}.modal-heading[data-v-e37e5dfd]{flex:1;min-width:0}.modal-title[data-v-e37e5dfd]{margin:0;font-size:1.05rem;font-weight:650;color:var(--text-primary)}.modal-message[data-v-e37e5dfd]{margin-top:.45rem;color:var(--text-secondary);font-size:.925rem;line-height:1.55}.modal-actions[data-v-e37e5dfd]{display:flex;flex:none;gap:.75rem;justify-content:flex-end;padding:1.125rem 1.5rem 1.5rem;background:var(--bg-secondary);border-top:1px solid var(--border-subtle)}.btn[data-v-e37e5dfd]{min-width:96px;font-weight:600;cursor:pointer;transition:color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out)}.btn[data-v-e37e5dfd]:active{transform:scale(.98)}.btn[data-v-e37e5dfd]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn-cancel[data-v-e37e5dfd]{background:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border)}.btn-cancel[data-v-e37e5dfd]:hover{background:var(--bg-elevated)}.btn-confirm[data-v-e37e5dfd]{color:#fff;border:1px solid transparent}.btn-confirm.primary[data-v-e37e5dfd]{background:var(--accent)}.btn-confirm.primary[data-v-e37e5dfd]:hover{background:var(--accent-hover)}.btn-confirm.warning[data-v-e37e5dfd]{background:var(--warning);color:var(--bg-primary)}.btn-confirm.danger[data-v-e37e5dfd]{background:var(--error)}.modal-enter-active[data-v-e37e5dfd]{transition:opacity .2s var(--ease-out),transform .2s var(--ease-out)}.modal-leave-active[data-v-e37e5dfd]{transition:opacity .15s var(--ease-out),transform .15s var(--ease-out)}.modal-enter-from[data-v-e37e5dfd],.modal-leave-to[data-v-e37e5dfd]{opacity:0}.modal-enter-from .confirm-modal[data-v-e37e5dfd]{transform:scale(.96) translateY(12px)}.modal-leave-to .confirm-modal[data-v-e37e5dfd]{transform:scale(.98)}@media(max-width:520px){.modal-actions[data-v-e37e5dfd]{flex-direction:column-reverse}.btn[data-v-e37e5dfd]{width:100%}}.prompt-backdrop[data-v-091062d4]{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:#00000094;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.prompt-dialog[data-v-091062d4]{width:min(480px,calc(100vw - 2rem));max-height:calc(100vh - 3rem);display:flex;flex-direction:column;overflow:hidden;background:linear-gradient(180deg,rgba(255,255,255,.025),transparent 22%),var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl)}.prompt-header[data-v-091062d4]{display:flex;flex:none;align-items:flex-start;gap:.875rem;padding:1.25rem 1.25rem 1rem;border-bottom:1px solid var(--border-subtle)}.prompt-icon[data-v-091062d4]{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;flex:0 0 auto;color:var(--accent);background:var(--accent-muted);border:1px solid rgba(108,140,255,.22);border-radius:var(--radius-lg)}.prompt-heading[data-v-091062d4]{flex:1;min-width:0}.prompt-heading h2[data-v-091062d4]{margin:0;color:var(--text-primary);font-size:1.05rem}.prompt-heading p[data-v-091062d4]{margin:.35rem 0 0;color:var(--text-secondary);font-size:.9rem;line-height:1.45}.prompt-form[data-v-091062d4]{min-height:0;padding:1.25rem;overflow-y:auto}.prompt-label[data-v-091062d4]{display:block;margin-bottom:.5rem;color:var(--text-primary);font-size:.875rem;font-weight:500}.prompt-input[data-v-091062d4]{width:100%;padding:.8rem .9rem;color:var(--text-primary);background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-md)}.prompt-actions[data-v-091062d4]{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.25rem}.prompt-btn[data-v-091062d4]{min-width:112px;padding:.72rem 1rem;border-radius:var(--radius-md);font-size:.92rem;font-weight:600;transition:color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out)}.prompt-btn[data-v-091062d4]:focus-visible,.prompt-input[data-v-091062d4]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.prompt-btn-secondary[data-v-091062d4]{color:var(--text-primary);background:var(--bg-surface);border:1px solid var(--border)}.prompt-btn-secondary[data-v-091062d4]:hover{background:var(--bg-elevated)}.prompt-btn-primary[data-v-091062d4]{color:#fff;background:var(--accent);border:1px solid transparent}.prompt-btn-primary[data-v-091062d4]:hover{background:var(--accent-hover)}.modal-enter-active[data-v-091062d4]{transition:opacity .2s var(--ease-out),transform .2s var(--ease-out)}.modal-leave-active[data-v-091062d4]{transition:opacity .15s var(--ease-out),transform .15s var(--ease-out)}.modal-enter-from[data-v-091062d4],.modal-leave-to[data-v-091062d4]{opacity:0}.modal-enter-from .prompt-dialog[data-v-091062d4]{transform:scale(.96) translateY(12px)}.modal-leave-to .prompt-dialog[data-v-091062d4]{transform:scale(.98)}@media(max-width:520px){.prompt-actions[data-v-091062d4]{flex-direction:column-reverse}.prompt-btn[data-v-091062d4]{width:100%}}.modal-backdrop[data-v-5bc40345]{position:fixed;inset:0;z-index:1200;display:flex;align-items:center;justify-content:center;background:#0000008c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.folder-modal[data-v-5bc40345]{width:min(560px,calc(100vw - 2rem));max-height:min(680px,calc(100vh - 2rem));background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);display:flex;flex-direction:column;box-shadow:var(--shadow-xl)}.modal-header[data-v-5bc40345],.modal-footer[data-v-5bc40345]{display:flex;align-items:center;gap:.5rem;padding:.75rem;border-bottom:1px solid var(--border)}.modal-header[data-v-5bc40345]{justify-content:space-between}.modal-footer[data-v-5bc40345]{justify-content:flex-end;border-top:1px solid var(--border);border-bottom:0}.project-dialog-tabs[data-v-5bc40345]{display:flex;gap:.35rem;padding:.5rem .75rem;border-bottom:1px solid var(--border)}.project-dialog-tabs button[data-v-5bc40345]{flex:1;padding:.45rem .65rem;color:var(--text-secondary);border-radius:var(--radius-sm)}.project-dialog-tabs button[data-v-5bc40345]:hover,.project-dialog-tabs button.active[data-v-5bc40345]{color:var(--text-primary);background:var(--bg-surface)}.project-dialog-tabs button.active[data-v-5bc40345]{color:var(--accent)}.selected-path-field[data-v-5bc40345]{display:grid;gap:.35rem;padding:.75rem;color:var(--text-secondary);font-size:.85rem;border-bottom:1px solid var(--border)}.browse-toolbar[data-v-5bc40345]{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-bottom:1px solid var(--border)}.path-input[data-v-5bc40345]{width:100%;min-width:0;padding:.5rem;background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border);border-radius:var(--radius-sm)}.search-field[data-v-5bc40345]{flex:1 1 auto;min-width:130px;display:flex;align-items:center;gap:.35rem;padding:0 .5rem;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-sm);transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out)}.search-field[data-v-5bc40345]:focus-within{background:var(--bg-secondary);border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-muted)}.search-input[data-v-5bc40345]{width:100%;min-width:0;padding:.5rem 0;color:var(--text-primary);background:transparent;border:0;outline:0}.search-input[data-v-5bc40345]:focus{box-shadow:none}.search-input[data-v-5bc40345]::placeholder{color:var(--text-secondary)}.search-icon[data-v-5bc40345]{color:var(--text-secondary);flex:0 0 auto;transition:color var(--duration-fast) var(--ease-out)}.search-field:focus-within .search-icon[data-v-5bc40345]{color:var(--accent)}.directory-list[data-v-5bc40345]{overflow:auto;padding:.5rem}.project-history-list[data-v-5bc40345]{min-height:240px;overflow:auto;padding:.5rem}.project-history-row[data-v-5bc40345]{display:flex;align-items:center;border-radius:var(--radius-sm)}.project-history-row[data-v-5bc40345]:hover{background:var(--bg-surface)}.project-history-project[data-v-5bc40345]{min-width:0;flex:1;display:flex;align-items:center;gap:.55rem;padding:.45rem .6rem;color:var(--text-primary);text-align:left}.project-history-details[data-v-5bc40345]{min-width:0;flex:1;display:flex;flex-direction:column;gap:.1rem}.project-history-heading[data-v-5bc40345],.project-history-meta[data-v-5bc40345]{min-width:0;display:flex;align-items:center;gap:.45rem}.project-history-heading strong[data-v-5bc40345],.project-history-path[data-v-5bc40345]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-history-meta[data-v-5bc40345]{color:var(--text-secondary);font-size:.75rem}.project-history-path[data-v-5bc40345]{flex:1}.project-history-session-count[data-v-5bc40345]{flex:0 0 auto;padding:.08rem .4rem;color:var(--accent);background:var(--accent-muted);border-radius:999px;font-size:.68rem;font-weight:600;white-space:nowrap}.history-remove-btn[data-v-5bc40345]{margin-right:.4rem;padding:.45rem;color:var(--text-secondary);border-radius:var(--radius-sm)}.history-remove-btn[data-v-5bc40345]:hover:not(:disabled){color:var(--error);background:var(--error-muted)}.history-remove-btn[data-v-5bc40345]:disabled{opacity:.45}.history-option[data-v-5bc40345]{padding:.75rem;border-top:1px solid var(--border)}.history-option .action-label[data-v-5bc40345]{font-size:.8rem;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em;margin-bottom:.5rem}.action-item[data-v-5bc40345]{display:flex;align-items:center;gap:.5rem;padding:.45rem .6rem;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--duration-fast) var(--ease-out)}.action-item[data-v-5bc40345]:hover{background:var(--bg-surface)}.action-item.active[data-v-5bc40345]{background:var(--accent-muted)}.action-item input[type=radio][data-v-5bc40345]{accent-color:var(--accent);cursor:pointer;flex:0 0 auto}.action-text[data-v-5bc40345]{display:flex;flex-direction:column;gap:.1rem}.action-label-text[data-v-5bc40345]{color:var(--text-primary);font-size:.9rem}.action-hint[data-v-5bc40345]{color:var(--text-secondary);font-size:.8rem}.project-name-field[data-v-5bc40345]{display:grid;gap:.35rem;margin-top:.5rem;color:var(--text-secondary);font-size:.85rem}.project-name-field input[data-v-5bc40345]{padding:.45rem .5rem;color:var(--text-primary);background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-sm)}.directory-row[data-v-5bc40345]{width:100%;display:flex;align-items:center;gap:.5rem;padding:.5rem;color:var(--text-primary);border-radius:var(--radius-sm);text-align:left;transition:background var(--duration-fast) var(--ease-out)}.directory-row[data-v-5bc40345]:hover:not(:disabled){background:var(--bg-surface)}.directory-row[data-v-5bc40345]:active:not(:disabled){transform:scale(.98)}.directory-row[data-v-5bc40345]:disabled{opacity:.45;cursor:not-allowed}.error-message[data-v-5bc40345]{margin:.75rem;padding:.5rem;color:var(--error);background:var(--error-muted);border:1px solid rgba(248,113,113,.25);border-radius:var(--radius-sm)}.empty-state[data-v-5bc40345]{padding:1rem;color:var(--text-secondary);text-align:center}.use-btn[data-v-5bc40345]{background:var(--accent);color:#fff;transition:background var(--duration-fast) var(--ease-out)}.use-btn[data-v-5bc40345]:hover{background:var(--accent-hover)}.toolbar-btn[data-v-5bc40345]{position:relative;width:2rem;height:2rem;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border-radius:var(--radius-sm);color:var(--text-secondary);transition:color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out)}.toolbar-btn[data-v-5bc40345]:hover:not(:disabled),.toolbar-btn.active[data-v-5bc40345]{color:var(--text-primary);background:var(--bg-surface)}.toolbar-btn[data-v-5bc40345]:disabled{opacity:.45;cursor:not-allowed}.toolbar-btn.active[data-v-5bc40345]{color:var(--accent)}.tooltip[data-v-5bc40345]:after{content:attr(data-tooltip);position:absolute;top:calc(100% + 6px);right:0;z-index:10;padding:4px 10px;color:var(--text-primary);background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);font-size:.75rem;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--duration-fast) var(--ease-out)}.tooltip[data-v-5bc40345]:hover:after{opacity:1}.cancel-btn[data-v-5bc40345],.use-btn[data-v-5bc40345],.icon-btn[data-v-5bc40345]{padding:.45rem .75rem;border-radius:var(--radius-sm)}.custom-select[data-v-6ce56a4c]{position:relative;width:100%}.custom-select-trigger[data-v-6ce56a4c]{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%;min-width:0;padding:.65rem .8rem;color:var(--text-primary);background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);text-align:left;cursor:pointer;transition:background var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.custom-select-trigger[data-v-6ce56a4c]:hover,.custom-select-trigger[aria-expanded=true][data-v-6ce56a4c]{background:var(--bg-elevated);border-color:color-mix(in srgb,var(--border) 60%,var(--accent))}.custom-select-search-wrapper[data-v-6ce56a4c]{position:relative}.custom-select-input[data-v-6ce56a4c]{padding-right:2rem}.custom-select-input.placeholder[data-v-6ce56a4c]{color:var(--text-secondary)}.custom-select-search-chevron[data-v-6ce56a4c]{position:absolute;top:50%;right:.8rem;transform:translateY(-50%);pointer-events:none}.custom-select-trigger[data-v-6ce56a4c]:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-muted)}.custom-select-trigger[data-v-6ce56a4c]:disabled{cursor:not-allowed;opacity:.65}.custom-select-value[data-v-6ce56a4c]{display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-width:0;flex:1;overflow:hidden}.custom-select-value.placeholder[data-v-6ce56a4c],.custom-select-chevron[data-v-6ce56a4c]{color:var(--text-secondary)}.custom-select-list[data-v-6ce56a4c]{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:50;background:var(--bg-surface);border:1px solid color-mix(in srgb,var(--border) 72%,var(--accent));border-radius:var(--radius-md);box-shadow:var(--shadow-lg);overflow-x:hidden}.custom-select-list.open-up[data-v-6ce56a4c]{top:auto;bottom:calc(100% + 4px)}.custom-select-list.bounded[data-v-6ce56a4c]{max-height:12rem;overflow-y:auto}.custom-select-option[data-v-6ce56a4c]{display:flex;align-items:center;justify-content:space-between;gap:.75rem;width:100%;padding:.55rem .7rem;color:var(--text-primary);font-size:.8125rem;line-height:1.35;text-align:left;white-space:normal;overflow-wrap:anywhere;transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.custom-select-option-content[data-v-6ce56a4c]{display:flex;flex-direction:column;min-width:0;overflow:hidden}.custom-select-option-content>span[data-v-6ce56a4c]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.custom-select-option-content small[data-v-6ce56a4c]{color:var(--text-secondary);font-size:.72rem;font-weight:400}.custom-select-group[data-v-6ce56a4c]{padding:.6rem .7rem .25rem;color:var(--text-secondary);font-size:.6875rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.custom-select-group[data-v-6ce56a4c]:not(:first-child){border-top:1px solid var(--border);margin-top:.25rem}.custom-select-status[data-v-6ce56a4c]{flex:none;max-width:45%;padding:.15rem .45rem;border:1px solid var(--border);border-radius:999px;font-size:.6875rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.custom-select-status-success[data-v-6ce56a4c]{color:var(--success);background:color-mix(in srgb,var(--success) 10%,var(--bg-surface));border-color:color-mix(in srgb,var(--success) 35%,var(--border))}.custom-select-status-muted[data-v-6ce56a4c]{color:var(--text-secondary);background:var(--bg-elevated)}.custom-select-option[data-v-6ce56a4c]:hover,.custom-select-option.highlighted[data-v-6ce56a4c]{background:var(--accent-muted);color:var(--text-primary)}.custom-select-option.active[data-v-6ce56a4c]{color:var(--accent);font-weight:600}.custom-select-empty[data-v-6ce56a4c]{padding:.55rem;color:var(--text-secondary);font-size:.8125rem}.settings-backdrop[data-v-e4b10f07]{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:#00000094;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.profile-manager[data-v-e4b10f07]{width:min(720px,calc(100vw - 2rem));max-height:calc(100vh - 3rem);display:flex;flex-direction:column;overflow:hidden;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl)}header[data-v-e4b10f07]{display:flex;flex:none;justify-content:space-between;padding:1.25rem;border-bottom:1px solid var(--border)}h2[data-v-e4b10f07],h3[data-v-e4b10f07]{margin:0}header p[data-v-e4b10f07],.profile-help[data-v-e4b10f07]{color:var(--text-secondary);font-size:.82rem;margin:.35rem 0 0}main[data-v-e4b10f07]{display:grid;grid-template-columns:220px minmax(0,1fr);flex:1;min-height:0;overflow:hidden}.profile-manager-list[data-v-e4b10f07]{display:flex;flex-direction:column;min-height:0;padding:.75rem;overflow-y:auto;border-right:1px solid var(--border)}.profile-manager-list button[data-v-e4b10f07]{display:block;width:100%;padding:.7rem;text-align:left;border-radius:var(--radius-md);color:var(--text-secondary)}.profile-manager-list button.active[data-v-e4b10f07],.profile-manager-list button[data-v-e4b10f07]:hover{background:var(--bg-surface);color:var(--text-primary)}.create-profile-link[data-v-e4b10f07]{margin-top:auto;border-top:1px solid var(--border);border-radius:0!important;padding-top:1rem!important;color:var(--accent)!important}small[data-v-e4b10f07]{display:block;margin-top:.2rem;overflow:hidden;text-overflow:ellipsis}.profile-manager-form[data-v-e4b10f07]{min-width:0;padding:1.25rem;overflow-y:auto}.profile-manager-form input[data-v-e4b10f07]{display:block;width:100%;margin:.55rem 0;padding:.6rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary)}.profile-manager-form[data-v-e4b10f07] .custom-select{margin:.55rem 0}.profile-manager-form h3+.profile-help[data-v-e4b10f07]{margin-bottom:1.2rem}.profile-manager-form h3[data-v-e4b10f07]:not(:first-child){margin-top:1.4rem}.profile-collapsible[data-v-e4b10f07]{margin-top:1rem;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-secondary)}.profile-collapsible summary[data-v-e4b10f07]{display:flex;align-items:center;gap:.75rem;padding:.9rem 1rem;cursor:pointer;list-style:none;transition:background .15s ease}.profile-collapsible summary[data-v-e4b10f07]::-webkit-details-marker{display:none}.profile-collapsible summary[data-v-e4b10f07]:hover{background:var(--bg-surface)}.profile-collapsible summary[data-v-e4b10f07]:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.profile-section-heading[data-v-e4b10f07]{min-width:0;flex:1}.profile-section-heading strong[data-v-e4b10f07]{display:block;font-size:.95rem}.profile-section-heading small[data-v-e4b10f07]{margin-top:.2rem;color:var(--text-secondary);font-size:.76rem;line-height:1.35}.profile-section-status[data-v-e4b10f07]{flex:none;padding:.2rem .5rem;border-radius:999px;background:color-mix(in srgb,var(--success) 14%,transparent);color:var(--success);font-size:.72rem;font-weight:600;white-space:nowrap}.profile-section-chevron[data-v-e4b10f07]{flex:none;color:var(--text-secondary);font-size:1.35rem;line-height:1;transform:rotate(90deg);transition:transform .15s ease}.profile-collapsible[open][data-v-e4b10f07]{overflow:visible}.profile-collapsible[open] .profile-section-chevron[data-v-e4b10f07]{transform:rotate(-90deg)}.profile-collapsible-content[data-v-e4b10f07]{padding:0 1rem 1rem;border-top:1px solid var(--border)}.profile-collapsible-content[data-v-e4b10f07]>:first-child{margin-top:1rem}.profile-key-actions[data-v-e4b10f07],.profile-actions[data-v-e4b10f07]{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem;margin-top:1.25rem}.profile-key-actions .profile-success[data-v-e4b10f07]{margin:0}.local-model-list[data-v-e4b10f07]{display:grid;gap:.45rem;max-height:12rem;margin:1rem 0 0;padding:.75rem;overflow-y:auto;border:1px solid var(--border);border-radius:var(--radius-sm)}.local-model-list label[data-v-e4b10f07]{display:flex;align-items:center;gap:.55rem;min-width:0}.profile-manager-form .local-model-list input[data-v-e4b10f07]{width:auto;margin:0}.profile-manager-form .local-model-list .custom-model-search[data-v-e4b10f07]{width:100%;margin-bottom:.25rem}.local-model-list span[data-v-e4b10f07]{overflow-wrap:anywhere}.custom-model-row[data-v-e4b10f07]{display:flex;justify-content:space-between;gap:1rem}.custom-model-vision[data-v-e4b10f07]{flex-shrink:0;color:var(--text-secondary)}.profile-remove-actions[data-v-e4b10f07]{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.75rem}.profile-remove-button[data-v-e4b10f07]{border:1px solid color-mix(in srgb,var(--danger) 45%,var(--border));background:transparent;color:var(--danger)}.profile-primary[data-v-e4b10f07]{background:var(--accent);color:#fff}.profile-secondary[data-v-e4b10f07]{background:var(--bg-surface);border:1px solid var(--border);color:var(--text-primary)}.profile-check-button[data-v-e4b10f07]{display:inline-flex;align-items:center;gap:.45rem}.profile-check-ok[data-v-e4b10f07]{color:var(--success);font-weight:700}.profile-check-failed[data-v-e4b10f07]{color:var(--error);font-weight:700}.profile-delete[data-v-e4b10f07]{margin-left:auto;color:var(--danger);font-size:.82rem}.profile-error[data-v-e4b10f07]{color:var(--error);margin-top:.75rem}.profile-success[data-v-e4b10f07]{color:var(--success);font-size:.82rem;margin:.55rem 0 0}@media(max-width:600px){.settings-backdrop[data-v-e4b10f07]{padding:.5rem}.profile-manager[data-v-e4b10f07]{max-height:calc(100vh - 1rem)}main[data-v-e4b10f07]{grid-template-columns:1fr;overflow:auto}.profile-manager-list[data-v-e4b10f07],.profile-manager-form[data-v-e4b10f07]{overflow:visible}.profile-manager-list[data-v-e4b10f07]{border-right:0;border-bottom:1px solid var(--border)}}.session-sidebar[data-v-6faf52bd]{position:relative;flex:0 0 var(--session-sidebar-width);width:var(--session-sidebar-width);min-width:220px;max-width:420px;background:var(--bg-secondary);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden;transition:border-color var(--duration-fast) var(--ease-out)}@media(min-width:769px){.session-sidebar.collapsed[data-v-6faf52bd]{flex:0 0 0;width:0;min-width:0;border-right:0}.session-sidebar.collapsed[data-v-6faf52bd]>*{display:none}}.sidebar-header[data-v-6faf52bd]{padding:0 1rem;height:56px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.sidebar-header-actions[data-v-6faf52bd]{display:flex;align-items:center;gap:.375rem}.mobile-close-btn[data-v-6faf52bd]{display:none;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-sm);color:var(--text-secondary)}.mobile-close-btn[data-v-6faf52bd]:hover{background:var(--bg-surface);color:var(--text-primary)}.sidebar-footer[data-v-6faf52bd]{display:flex;align-items:center;justify-content:space-between;gap:.5rem;min-height:56px;padding:.75rem 1rem;border-top:1px solid var(--border);flex-shrink:0}.sidebar-username[data-v-6faf52bd]{min-width:0;overflow:hidden;color:var(--text-secondary);font-size:.8125rem;text-overflow:ellipsis;white-space:nowrap}.sidebar-footer-actions[data-v-6faf52bd]{display:flex;gap:.25rem}.sidebar-footer-btn[data-v-6faf52bd]{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-sm);color:var(--text-secondary);transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.sidebar-footer-btn[data-v-6faf52bd]:hover{background:var(--bg-surface);color:var(--text-primary)}.sidebar-header h3[data-v-6faf52bd]{font-size:.875rem;font-weight:600;color:var(--text-primary);display:flex;align-items:baseline;gap:.375rem}.version-tag[data-v-6faf52bd]{font-size:.6875rem;font-weight:400;color:var(--text-tertiary)}.agent-picker-header[data-v-6faf52bd]{margin-bottom:.35rem}.agent-model-summary[data-v-6faf52bd]{color:var(--text-tertiary);font-weight:500;text-transform:none;letter-spacing:0}.agent-picker[data-v-6faf52bd],.project-picker[data-v-6faf52bd]{padding:.75rem 1rem;border-bottom:1px solid var(--border)}.agent-picker label[data-v-6faf52bd]{display:block;color:var(--text-tertiary);font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.agent-profile-row[data-v-6faf52bd],.project-path-row[data-v-6faf52bd]{display:flex;gap:.35rem}.agent-profile-input-wrapper[data-v-6faf52bd],.project-path-input-wrapper[data-v-6faf52bd]{position:relative;flex:1;min-width:0}.agent-profile-input[data-v-6faf52bd],.project-path-input[data-v-6faf52bd]{width:100%;min-width:0;padding:.4rem .5rem;background:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.8125rem;cursor:pointer;transition:background var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.agent-profile-input[data-v-6faf52bd]:hover,.project-path-input[data-v-6faf52bd]:hover{background:var(--bg-elevated);border-color:color-mix(in srgb,var(--border) 60%,var(--accent))}.project-path-error[data-v-6faf52bd]{margin-top:.5rem;color:var(--error);font-size:.85rem}.agent-profile-list[data-v-6faf52bd],.recent-project-list[data-v-6faf52bd]{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:20;background:var(--bg-surface);border:1px solid color-mix(in srgb,var(--border) 72%,var(--accent));border-radius:var(--radius-md);box-shadow:var(--shadow-lg);overflow-x:hidden}.agent-profile-list.bounded[data-v-6faf52bd],.recent-project-list.bounded[data-v-6faf52bd]{max-height:20rem;overflow-y:auto}.agent-profile-option[data-v-6faf52bd],.recent-project-option[data-v-6faf52bd]{display:block;width:100%;padding:.45rem .55rem;color:var(--text-primary);font-size:.8125rem;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.agent-profile-option[data-v-6faf52bd]:hover,.recent-project-option[data-v-6faf52bd]:hover,.recent-project-option.active[data-v-6faf52bd]{background:var(--accent-muted);color:var(--text-primary)}.project-path-row[data-v-6faf52bd]{display:flex;gap:.35rem}.folder-btn[data-v-6faf52bd]{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;padding:.35rem .5rem;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);transition:color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out)}.folder-btn[data-v-6faf52bd]:hover{background:var(--bg-elevated);color:var(--text-primary)}.scope-toggle[data-v-6faf52bd]{display:flex;padding:.5rem;gap:.25rem}.scope-toggle button[data-v-6faf52bd]{flex:1;padding:.5rem;border-radius:var(--radius-sm);font-size:.8125rem;color:var(--text-secondary);transition:color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out)}.scope-toggle button.active[data-v-6faf52bd]{background:var(--bg-surface);color:var(--text-primary)}.scope-toggle button[data-v-6faf52bd]:hover:not(.active){color:var(--text-primary)}.scope-toggle button[data-v-6faf52bd]:disabled{opacity:.45;cursor:not-allowed}.session-list[data-v-6faf52bd]{flex:1;min-width:0;overflow-y:auto;overflow-x:hidden;padding:.5rem}.pin-group-header[data-v-6faf52bd],.add-pin-group-btn[data-v-6faf52bd]{display:flex;align-items:center;width:100%;gap:.4rem;padding:.55rem .65rem;color:var(--text-secondary);font-size:.8125rem;text-align:left;border-radius:var(--radius-sm)}.pin-group-header[data-v-6faf52bd]:hover,.add-pin-group-btn[data-v-6faf52bd]:hover{color:var(--text-primary);background:var(--bg-surface)}.pin-group-header svg[data-v-6faf52bd]{transition:transform var(--duration-fast) var(--ease-out)}.pin-group-header svg.expanded[data-v-6faf52bd]{transform:rotate(90deg)}.pin-group-count[data-v-6faf52bd]{margin-left:auto;color:var(--text-muted);font-size:.75rem}.add-pin-group-btn[data-v-6faf52bd]{margin-top:.25rem;color:var(--accent)}.pinned-session-list .session-item[data-v-6faf52bd]{padding-left:1.55rem}.pinned-file-item[data-v-6faf52bd]{display:flex;align-items:center;width:100%;min-width:0;gap:.5rem;padding:.45rem .625rem .45rem 1.55rem;color:var(--text-secondary);text-align:left;border-radius:var(--radius-md)}.pinned-file-item[data-v-6faf52bd]:hover{color:var(--text-primary);background:var(--bg-surface)}.pinned-file-details[data-v-6faf52bd]{display:flex;min-width:0;flex-direction:column}.pinned-file-name[data-v-6faf52bd],.pinned-file-path[data-v-6faf52bd]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pinned-file-name[data-v-6faf52bd]{font-weight:500}.pinned-file-path[data-v-6faf52bd]{color:var(--text-muted);font-size:.7rem}.session-item[data-v-6faf52bd]{min-width:0;max-width:100%;padding:.375rem .625rem;border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer;overflow:hidden;transition:background var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.session-tooltip[data-v-6faf52bd]{position:fixed;transform:translateY(-50%);padding:6px 10px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.8125rem;color:var(--text-primary);white-space:normal;max-width:300px;z-index:1000;pointer-events:none;box-shadow:var(--shadow-md)}.session-tooltip.placement-top[data-v-6faf52bd]{transform:translate(-50%,-100%)}.session-item[data-v-6faf52bd]:hover{background:var(--bg-surface)}.session-item.active[data-v-6faf52bd]{background:var(--sidebar-selected-bg);border-color:var(--sidebar-selected-border);color:var(--sidebar-selected-text);box-shadow:var(--sidebar-selected-shadow)}.session-name[data-v-6faf52bd]{display:flex;align-items:center;gap:.45rem;font-weight:500;margin-bottom:.125rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.live-indicator[data-v-6faf52bd]{width:.5rem;height:.5rem;border-radius:50%;flex:0 0 auto;background:var(--success);box-shadow:0 0 0 2px var(--success-muted);animation:live-indicator-blink-6faf52bd 2s ease-in-out infinite}[data-theme=light] .session-item.active .live-indicator[data-v-6faf52bd]{background:var(--sidebar-selected-text);box-shadow:0 0 0 2px var(--sidebar-selected-border),0 0 8px var(--sidebar-selected-text)}.ready-indicator[data-v-6faf52bd]{flex:0 0 auto;font-size:.8125rem;line-height:1;filter:drop-shadow(0 0 4px color-mix(in srgb,var(--warning) 45%,transparent))}.session-pr-status[data-v-6faf52bd],.session-worktree-status[data-v-6faf52bd]{display:inline-flex;align-items:center;flex:0 0 auto}.session-worktree-status[data-v-6faf52bd]{gap:.15rem;color:#34d399;font-weight:700;letter-spacing:.02em}.session-worktree-status.finished[data-v-6faf52bd]{color:var(--text-tertiary)}.session-pr-status.ready[data-v-6faf52bd]{color:#60a5fa}.session-pr-status.merged[data-v-6faf52bd]{color:#c084fc}@keyframes live-indicator-blink-6faf52bd{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.82)}}.session-meta[data-v-6faf52bd]{min-width:0;font-size:.6875rem;color:var(--text-tertiary);display:flex;gap:.5rem}.session-meta span[data-v-6faf52bd]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-item.active .session-meta[data-v-6faf52bd]{color:var(--sidebar-selected-muted)}.empty-state[data-v-6faf52bd],.session-list-status[data-v-6faf52bd]{padding:2rem 1rem;text-align:center;color:var(--text-secondary)}.session-list-status[data-v-6faf52bd]{padding-block:.75rem;font-size:.75rem}.sidebar-resize-handle[data-v-6faf52bd]{position:absolute;top:0;right:-5px;width:10px;height:100%;cursor:col-resize;z-index:5}.sidebar-resize-handle[data-v-6faf52bd]:after{content:"";position:absolute;top:0;right:5px;width:2px;height:100%;background:transparent;transition:background .15s}.sidebar-resize-handle[data-v-6faf52bd]:hover:after,.sidebar-resize-handle.is-resizing[data-v-6faf52bd]:after{background:var(--accent)}.session-context-menu[data-v-6faf52bd]{position:fixed;z-index:3000;min-width:160px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:.25rem 0}.session-context-menu button[data-v-6faf52bd]{display:flex;align-items:center;gap:.5rem;width:100%;padding:.5rem .875rem;color:var(--text-primary);font-size:.8125rem;text-align:left;background:none;border:none;cursor:pointer;transition:background var(--duration-fast) var(--ease-out)}.session-context-menu button[data-v-6faf52bd]:hover{background:var(--accent-muted)}.pin-group-submenu[data-v-6faf52bd]{position:relative}.pin-session-btn .submenu-caret[data-v-6faf52bd]{margin-left:auto}.group-check-placeholder[data-v-6faf52bd]{width:14px;flex:0 0 14px}.pin-group-choices[data-v-6faf52bd]{position:absolute;top:-.25rem;left:calc(100% - 1px);min-width:10rem;max-height:min(20rem,calc(100vh - 1rem));overflow-y:auto;padding:.25rem 0;visibility:hidden;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);opacity:0;pointer-events:none;transform:translate(-.25rem);transition:opacity var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out),visibility var(--duration-fast)}.pin-group-submenu:hover>.pin-group-choices[data-v-6faf52bd],.pin-group-submenu:focus-within>.pin-group-choices[data-v-6faf52bd]{visibility:visible;opacity:1;pointer-events:auto;transform:translate(0)}.session-context-menu button[data-v-6faf52bd]:disabled{color:var(--text-muted);cursor:not-allowed}.session-context-menu button[data-v-6faf52bd]:disabled:hover{background:none}.session-context-menu button.danger[data-v-6faf52bd]{color:var(--error)}.session-context-menu button.danger[data-v-6faf52bd]:hover{background:var(--error-muted)}.review-search[data-v-6faf52bd]{padding:.75rem;border-bottom:1px solid var(--border)}.review-search-input[data-v-6faf52bd]{width:100%;padding:.55rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary)}@media(max-width:768px){.mobile-close-btn[data-v-6faf52bd]{display:flex}.agent-picker[data-v-6faf52bd],.project-picker[data-v-6faf52bd]{padding:.625rem .75rem}.session-item[data-v-6faf52bd]{min-height:48px}.session-sidebar.collapsed[data-v-6faf52bd]{flex:0 0 var(--session-sidebar-width);width:var(--session-sidebar-width);min-width:220px;border-right:1px solid var(--border)}.session-tooltip[data-v-6faf52bd]{display:none}}.git-tool-panel[data-v-ccae3afa]{position:relative;display:flex;flex:0 0 auto;flex-direction:column;min-height:120px;max-height:75vh;border-top:1px solid var(--border);background:var(--bg-secondary)}.git-tool-resize-handle[data-v-ccae3afa]{position:absolute;top:-5px;right:0;left:0;z-index:2;height:10px;cursor:row-resize}.git-tool-resize-handle[data-v-ccae3afa]:after{content:"";position:absolute;top:4px;right:0;left:0;height:2px;background:transparent;transition:background .15s}.git-tool-resize-handle[data-v-ccae3afa]:hover:after,.is-resizing .git-tool-resize-handle[data-v-ccae3afa]:after{background:var(--accent)}.git-tool-toolbar[data-v-ccae3afa]{display:flex;justify-content:space-around;gap:4px;padding:8px;border-bottom:1px solid var(--border)}.git-tool-action[data-v-ccae3afa]{width:30px;height:30px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);color:var(--text-secondary)}.git-tool-action[data-v-ccae3afa]:hover:not(:disabled){color:var(--text-primary);background:var(--bg-surface)}.git-tool-action[data-v-ccae3afa]:disabled{cursor:not-allowed;opacity:.4}.tooltip[data-v-ccae3afa]{position:relative}.tooltip[data-v-ccae3afa]:after{content:attr(data-tooltip);position:absolute;top:calc(100% + 6px);left:50%;z-index:100;padding:4px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elevated);box-shadow:var(--shadow-md);color:var(--text-primary);font-size:.75rem;opacity:0;pointer-events:none;transform:translate(-50%);transition:opacity var(--duration-fast) var(--ease-out);white-space:nowrap}.tooltip[data-v-ccae3afa]:hover:after,.tooltip[data-v-ccae3afa]:focus-visible:after{opacity:1}.git-tool-action[data-v-ccae3afa]:first-child:after{left:0;transform:none}.git-tool-action[data-v-ccae3afa]:last-child:after{right:0;left:auto;transform:none}.git-tool-files[data-v-ccae3afa]{min-height:0;flex:1;overflow:auto;padding:6px 8px 8px}.git-tool-files ul[data-v-ccae3afa]{margin:0;padding:0;list-style:none}.git-tool-files li[data-v-ccae3afa]{display:flex;min-width:0;align-items:center;border-radius:var(--radius-sm);color:var(--text-secondary);font-family:var(--font-mono);font-size:.75rem}.git-tool-files li[data-v-ccae3afa]:hover{background:var(--bg-surface);color:var(--text-primary)}.git-file-open[data-v-ccae3afa]{display:flex;min-width:0;flex:1;align-items:center;gap:7px;padding:6px 4px;color:inherit;text-align:left}.git-file-status[data-v-ccae3afa]{flex:0 0 1.5rem;color:var(--accent);font-weight:600}.git-file-path[data-v-ccae3afa]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.git-file-diff[data-v-ccae3afa]{display:inline-flex;width:28px;height:28px;flex:0 0 auto;align-items:center;justify-content:center;border-radius:var(--radius-sm);color:var(--text-tertiary);opacity:.65}.git-tool-files li:hover .git-file-diff[data-v-ccae3afa],.git-file-diff[data-v-ccae3afa]:focus-visible{opacity:1}.git-file-diff[data-v-ccae3afa]:hover:not(:disabled){color:var(--accent);background:var(--bg-hover)}.git-tool-state[data-v-ccae3afa]{margin:0;padding:10px 4px;color:var(--text-tertiary);font-size:.75rem;text-align:center}.git-tool-error[data-v-ccae3afa]{color:var(--error)}.skill-picker[data-v-270e6a64]{display:grid;gap:.625rem}.skill-picker-summary[data-v-270e6a64]{display:flex;flex-wrap:wrap;gap:.5rem .75rem;align-items:center;justify-content:space-between;color:var(--text-secondary);font-size:.8125rem}.skill-picker-actions[data-v-270e6a64]{display:flex;flex-wrap:wrap;gap:.375rem}.skill-picker-actions button[data-v-270e6a64]{min-height:1.75rem;padding:.25rem .5rem;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);background:transparent;font-size:.75rem;cursor:pointer}.skill-picker-actions button[data-v-270e6a64]:hover:not(:disabled){color:var(--text-primary);border-color:color-mix(in srgb,var(--accent-color) 55%,var(--border));background:color-mix(in srgb,var(--accent-color) 8%,transparent)}.skill-picker-actions button[data-v-270e6a64]:disabled{opacity:.45;cursor:not-allowed}.skill-picker-search[data-v-270e6a64]{width:100%}.skill-picker-list[data-v-270e6a64]{display:grid;gap:.625rem;max-height:16rem;overflow:auto}.skill-picker-group[data-v-270e6a64]{display:grid;gap:.375rem}.skill-picker-group-title[data-v-270e6a64]{margin:0;color:var(--text-secondary);font-size:.6875rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.skill-option[data-v-270e6a64]{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.625rem;align-items:start;padding:.5rem .625rem;background:color-mix(in srgb,var(--bg-surface) 82%,transparent);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer}.skill-option[data-v-270e6a64]:hover{border-color:color-mix(in srgb,var(--accent-color) 45%,var(--border))}.skill-option-checkbox[data-v-270e6a64]{margin-top:.125rem}.skill-option-copy[data-v-270e6a64]{min-width:0;display:grid;gap:.125rem}.skill-option-name[data-v-270e6a64]{min-width:0;color:var(--text-primary);line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.skill-option-description[data-v-270e6a64],.skill-picker-empty[data-v-270e6a64]{color:var(--text-secondary);font-size:.8125rem;line-height:1.35}.skill-option-description[data-v-270e6a64]{display:-webkit-box;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical}.skill-picker-empty[data-v-270e6a64]{margin:0;padding:.75rem;border:1px dashed var(--border);border-radius:var(--radius-md);text-align:center}.launch-section[data-v-ef1f367d]{margin:0;padding:12px 0;border-bottom:1px solid var(--border-color)}.section-heading[data-v-ef1f367d]{margin-bottom:8px}.section-heading h3[data-v-ef1f367d],.skill-picker-header h4[data-v-ef1f367d]{margin:0;color:var(--text-primary)}.section-heading p[data-v-ef1f367d],.field-hint[data-v-ef1f367d]{margin:3px 0 0;color:var(--text-secondary);font-size:12px}.mode-grid[data-v-ef1f367d],.custom-mode-group[data-v-ef1f367d]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.work-location-list[data-v-ef1f367d]{display:grid;gap:8px}.custom-mode-group[data-v-ef1f367d]{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:10px}.mode-card[data-v-ef1f367d],.toggle-card[data-v-ef1f367d],.worktree-choice[data-v-ef1f367d]{display:grid;grid-template-columns:auto minmax(0,1fr);gap:3px 8px;align-items:start;padding:10px;border:1px solid var(--border-color);border-radius:8px;transition:border-color .14s ease,background .14s ease}.mode-card[data-v-ef1f367d],.toggle-card[data-v-ef1f367d],.worktree-choice-header[data-v-ef1f367d],.branch-mode-tab[data-v-ef1f367d]{cursor:pointer}.compact-option[data-v-ef1f367d]{display:flex;flex-direction:row;align-items:center;gap:7px}.mode-card[data-v-ef1f367d]:hover,.toggle-card[data-v-ef1f367d]:hover,.worktree-choice[data-v-ef1f367d]:hover{border-color:color-mix(in srgb,var(--accent-color) 55%,var(--border-color))}.mode-card.active[data-v-ef1f367d],.toggle-card.active[data-v-ef1f367d],.worktree-choice.active[data-v-ef1f367d]{border-color:var(--accent-color);background:color-mix(in srgb,var(--accent-color) 8%,transparent)}.mode-card input[data-v-ef1f367d],.toggle-card input[data-v-ef1f367d]{grid-row:1;align-self:center;margin-top:1px}.compact-option input[data-v-ef1f367d]{align-self:center}.mode-card-title[data-v-ef1f367d],.toggle-card-title[data-v-ef1f367d]{min-width:0;color:var(--text-primary);font-weight:600;line-height:1.25}.mode-card-copy[data-v-ef1f367d],.toggle-card-copy[data-v-ef1f367d]{display:block;color:var(--text-secondary);font-size:12px;font-weight:400;line-height:1.3}.mode-card>.mode-card-copy[data-v-ef1f367d],.toggle-card-copy[data-v-ef1f367d]{grid-column:2}.worktree-choice[data-v-ef1f367d]{grid-template-columns:minmax(0,1fr)}.worktree-choice-header[data-v-ef1f367d]{width:fit-content}.config-panel[data-v-ef1f367d]{margin-top:8px;padding:10px;border:1px solid var(--border-color);border-radius:8px}.worktree-panel[data-v-ef1f367d]{display:grid;gap:8px;margin-left:24px;background:color-mix(in srgb,var(--bg-secondary) 72%,transparent)}.worktree-panel-heading[data-v-ef1f367d]{margin-bottom:0}.branch-mode-tabs[data-v-ef1f367d]{display:inline-grid;grid-template-columns:repeat(2,minmax(0,1fr));max-width:420px;padding:3px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-primary)}.branch-mode-tab[data-v-ef1f367d]{display:flex;align-items:center;justify-content:center;gap:6px;padding:7px 10px;border-radius:6px;color:var(--text-secondary);font-size:12px;font-weight:600}.branch-mode-tab.active[data-v-ef1f367d]{color:var(--text-primary);background:color-mix(in srgb,var(--accent-color) 14%,transparent)}.optional-group[data-v-ef1f367d]{display:grid;gap:7px;margin-top:4px;padding-top:10px;border-top:1px solid var(--border-color)}.optional-title[data-v-ef1f367d]{color:var(--text-secondary);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.field-label[data-v-ef1f367d]{color:var(--text-secondary);font-size:12px;font-weight:600}.launch-control[data-v-ef1f367d]{max-width:360px}.launch-control-wide[data-v-ef1f367d]{max-width:460px}.preset-select[data-v-ef1f367d]{width:100%;box-sizing:border-box;padding:9px;border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);background:var(--bg-secondary)}.skill-picker-panel[data-v-ef1f367d]{margin-top:8px}.skill-picker-header[data-v-ef1f367d]{display:flex;justify-content:space-between;margin-bottom:6px}.error[data-v-ef1f367d]{color:var(--error-color, #ef4444)}@media(max-width:768px){.mode-grid[data-v-ef1f367d],.custom-mode-group[data-v-ef1f367d],.branch-mode-tabs[data-v-ef1f367d]{grid-template-columns:1fr}.worktree-panel[data-v-ef1f367d]{margin-left:0}.launch-control[data-v-ef1f367d],.launch-control-wide[data-v-ef1f367d]{max-width:none}}.new-session-backdrop[data-v-95e0fcc9]{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px;background:#00000094}.new-session-dialog[data-v-95e0fcc9]{width:min(760px,100%);max-height:min(900px,calc(100vh - 48px));overflow:auto;border:1px solid var(--border-color);border-radius:12px;background:var(--bg-primary);box-shadow:0 24px 80px #00000059}.new-session-header[data-v-95e0fcc9]{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;gap:20px;padding:20px 24px;border-bottom:1px solid var(--border-color);background:var(--bg-primary)}.new-session-header h2[data-v-95e0fcc9]{margin:0;color:var(--text-primary)}.new-session-form[data-v-95e0fcc9]{padding:0 24px 24px}.new-session-error[data-v-95e0fcc9]{margin:16px 0 0;color:var(--error-color, #ef4444);font-size:13px}.new-session-actions[data-v-95e0fcc9]{display:flex;justify-content:flex-end;gap:10px;padding-top:20px}.action-btn[data-v-95e0fcc9]{border:1px solid var(--border-color);cursor:pointer}.action-btn-secondary[data-v-95e0fcc9]{color:var(--text-primary);background:var(--bg-secondary)}.action-btn-primary[data-v-95e0fcc9]{border-color:var(--accent);color:#fff;background:var(--accent)}.action-btn[data-v-95e0fcc9]:disabled{cursor:not-allowed;opacity:.5}.modal-enter-active[data-v-95e0fcc9],.modal-leave-active[data-v-95e0fcc9]{transition:opacity .16s var(--ease-out)}.modal-enter-from[data-v-95e0fcc9],.modal-leave-to[data-v-95e0fcc9]{opacity:0}@media(max-width:768px){.new-session-backdrop[data-v-95e0fcc9]{align-items:stretch;padding:0}.new-session-dialog[data-v-95e0fcc9]{max-height:100vh;border-radius:0}}.markdown-body[data-v-85a4064f]{--markdown-text: var(--text-primary);--markdown-muted: var(--text-secondary);--markdown-inline-code-text: #79c0ff;--markdown-inline-code-bg: none;--markdown-inline-code-border: none}.chat-event-row[data-v-85a4064f]{position:relative;width:100%;max-width:100%;min-width:0;margin-bottom:.5rem;padding:.45rem .6rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-surface);transition:border-color var(--duration-fast) var(--ease-out)}.chat-event-row[data-v-85a4064f]:hover{border-color:var(--border)}.status-failure[data-v-85a4064f]{border-color:var(--error-muted);background:var(--error-muted)}.event-header[data-v-85a4064f]{display:flex;align-items:center;gap:.5rem;min-width:0;color:var(--text-primary)}.event-icon[data-v-85a4064f]{flex:0 0 auto;color:var(--text-secondary);line-height:1}.status-failure .event-icon[data-v-85a4064f]{color:var(--error)}.event-title[data-v-85a4064f]{min-width:0;flex:0 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.875rem}.event-path[data-v-85a4064f]{min-width:0;flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-tertiary);font-family:Fira Code,Consolas,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.75rem}.event-path[data-v-85a4064f]:before{content:"·";margin-right:.5rem;color:var(--text-tertiary)}.event-toggle[data-v-85a4064f]{margin-left:auto;color:var(--text-secondary);font-size:.75rem}.event-block[data-v-85a4064f]{display:block;width:100%;max-width:100%;margin:.5rem 0 0}.event-block[data-v-85a4064f] .code-block{max-height:min(38vh,420px);margin:0}.event-block[data-v-85a4064f] .code-block pre{max-height:calc(min(38vh,420px) - 2rem)}.event-block[data-v-85a4064f] .edit-diff{max-height:min(38vh,420px);overflow:auto;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-primary)}.event-block[data-v-85a4064f] .edit-diff-hunk+.edit-diff-hunk{border-top:1px solid var(--border)}.event-block[data-v-85a4064f] .edit-diff-hunk-header{padding:.45rem .75rem;border-bottom:1px solid var(--border);background:var(--bg-surface);color:var(--text-tertiary);font-size:.6875rem;font-weight:700;letter-spacing:.04em;line-height:1;text-transform:uppercase}.event-block[data-v-85a4064f] .edit-diff-line{display:grid;grid-template-columns:1.5rem minmax(0,1fr);min-width:max-content;font-family:Fira Code,Consolas,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8125rem;line-height:1.45}.event-block[data-v-85a4064f] .edit-diff-line.removed{background:var(--diff-removed-bg)}.event-block[data-v-85a4064f] .edit-diff-line.added{background:var(--diff-added-bg)}.event-block[data-v-85a4064f] .edit-diff-line.context{color:var(--text-secondary)}.event-block[data-v-85a4064f] .edit-diff-mark{padding:0 .4rem;-webkit-user-select:none;user-select:none}.event-block[data-v-85a4064f] .edit-diff-line.removed .edit-diff-mark{color:var(--diff-removed-text)}.event-block[data-v-85a4064f] .edit-diff-line.added .edit-diff-mark{color:var(--diff-added-text)}.event-block[data-v-85a4064f] .edit-diff-line code{display:block;padding-right:1rem;color:var(--text-primary);background:transparent;white-space:pre}.event-content[data-v-85a4064f]{max-height:min(38vh,420px);margin-top:.5rem;overflow:auto;color:var(--text-secondary);overflow-wrap:anywhere;word-break:break-word}.event-content[data-v-85a4064f] pre{max-width:100%;max-height:min(38vh,420px);margin:.5rem 0;padding:.75rem;overflow:auto;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-primary);overflow-wrap:normal;word-break:normal}.event-content[data-v-85a4064f] code{font-family:Fira Code,Consolas,monospace;font-size:.8125rem;overflow-wrap:anywhere;word-break:break-word}.event-content[data-v-85a4064f] pre code{overflow-wrap:normal;word-break:normal}.event-copy-btn[data-v-85a4064f]{top:.35rem;right:.5rem}.chat-event-row:hover .copy-btn[data-v-85a4064f],.chat-event-row:focus-within .copy-btn[data-v-85a4064f]{opacity:1}.event-block[data-v-85a4064f]::-webkit-scrollbar,.event-content[data-v-85a4064f]::-webkit-scrollbar,.event-content[data-v-85a4064f] pre::-webkit-scrollbar,.message-content[data-v-85a4064f] pre::-webkit-scrollbar,.thinking-content[data-v-85a4064f] pre::-webkit-scrollbar{width:8px;height:8px}.event-block[data-v-85a4064f]::-webkit-scrollbar-track,.event-content[data-v-85a4064f]::-webkit-scrollbar-track,.event-content[data-v-85a4064f] pre::-webkit-scrollbar-track,.message-content[data-v-85a4064f] pre::-webkit-scrollbar-track,.thinking-content[data-v-85a4064f] pre::-webkit-scrollbar-track{background:var(--bg-secondary);border-radius:4px}.event-block[data-v-85a4064f]::-webkit-scrollbar-thumb,.event-content[data-v-85a4064f]::-webkit-scrollbar-thumb,.event-content[data-v-85a4064f] pre::-webkit-scrollbar-thumb,.message-content[data-v-85a4064f] pre::-webkit-scrollbar-thumb,.thinking-content[data-v-85a4064f] pre::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.event-block[data-v-85a4064f]::-webkit-scrollbar-thumb:hover,.event-content[data-v-85a4064f]::-webkit-scrollbar-thumb:hover,.event-content[data-v-85a4064f] pre::-webkit-scrollbar-thumb:hover,.message-content[data-v-85a4064f] pre::-webkit-scrollbar-thumb:hover,.thinking-content[data-v-85a4064f] pre::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.message-bubble[data-v-85a4064f]{position:relative;min-width:0;max-width:100%;padding:1rem;border-radius:var(--radius-lg);margin-bottom:.6rem;background:var(--bg-surface)}.message-bubble.assistant[data-v-85a4064f]{border:1px solid var(--border)}.message-bubble.user[data-v-85a4064f]{width:fit-content;background:var(--user-message-bg);color:var(--user-message-text);border:1px solid var(--user-message-border);box-shadow:var(--user-message-shadow);margin-left:auto;max-width:75%;padding:.45rem .75rem}.message-bubble.git-diff-card[data-v-85a4064f]{padding:.65rem .75rem .75rem}.message-bubble.thinking-only-bubble[data-v-85a4064f]{padding:.55rem .75rem}.message-bubble.thinking-header-only-bubble[data-v-85a4064f]{padding:.25rem 0;border-color:transparent;background:transparent}.message-actions[data-v-85a4064f]{position:absolute;top:.5rem;right:.5rem;z-index:11;display:flex;align-items:center;gap:.35rem}.message-actions .copy-btn[data-v-85a4064f]{position:relative;top:auto;right:auto}.copy-btn[data-v-85a4064f]{position:absolute;top:.5rem;right:.5rem;z-index:10;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--text-secondary);opacity:0;cursor:pointer;transition:opacity var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out)}.copy-btn[data-v-85a4064f]:hover,.copy-btn[data-v-85a4064f]:focus-visible{background:var(--bg-elevated);border-color:var(--text-tertiary);color:var(--text-primary);outline:none}.copy-btn[data-v-85a4064f]:after{content:attr(title);position:absolute;right:0;bottom:calc(100% + .4rem);padding:.25rem .45rem;border-radius:var(--radius-sm);background:var(--bg-elevated);color:var(--text-primary);font-size:.6875rem;font-weight:600;line-height:1.2;white-space:nowrap;pointer-events:none;opacity:0;transform:translateY(2px);transition:opacity var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out);box-shadow:var(--shadow-md)}.copy-btn[data-v-85a4064f]:hover:after,.copy-btn[data-v-85a4064f]:focus-visible:after{opacity:1;transform:translateY(0)}.copy-btn[data-v-85a4064f]:active{transform:scale(.92)}.copy-btn.copied[data-v-85a4064f]{background:var(--success-muted);border-color:var(--success);color:var(--success);opacity:1}.message-bubble:hover .copy-btn[data-v-85a4064f],.message-bubble:focus-within .copy-btn[data-v-85a4064f]{opacity:1}.message-bubble.user .copy-btn[data-v-85a4064f]{background:#00000038;border-color:#ffffff6b;color:#fffffff2;box-shadow:0 4px 12px #0000002e}.message-bubble.user .copy-btn[data-v-85a4064f]:hover,.message-bubble.user .copy-btn[data-v-85a4064f]:focus-visible{background:#00000057;border-color:#ffffffad;color:#fff}.message-bubble.user .copy-btn[data-v-85a4064f]:after{background:#0c121cf5;color:#fff}.thinking-block[data-v-85a4064f]{min-width:0;max-width:100%;margin-bottom:.75rem}.compact-thinking[data-v-85a4064f]{margin-bottom:0}.thinking-header[data-v-85a4064f]{min-width:0;display:flex;align-items:center;gap:.5rem;cursor:pointer;padding:.25rem 0;-webkit-user-select:none;user-select:none;color:var(--thinking-text);transition:color var(--duration-fast) var(--ease-out)}.thinking-header[data-v-85a4064f]:hover{color:var(--text-primary)}.thinking-icon[data-v-85a4064f]{color:var(--warning);flex:0 0 auto}.thinking-label[data-v-85a4064f]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.8125rem;font-weight:600}.thinking-toggle[data-v-85a4064f]{font-size:.75rem;margin-left:auto}.thinking-content[data-v-85a4064f]{margin-top:.5rem;color:var(--thinking-text);opacity:.85;overflow-wrap:anywhere;word-break:break-word}.thinking-content[data-v-85a4064f] pre{max-width:100%;max-height:min(45vh,520px);background:var(--bg-primary);padding:1rem;border-radius:var(--radius-md);overflow:auto;margin:.5rem 0;overflow-wrap:normal;word-break:normal}.thinking-content[data-v-85a4064f] code{font-family:Fira Code,Consolas,monospace;font-size:.875rem;overflow-wrap:anywhere;word-break:break-word}.thinking-content[data-v-85a4064f] pre code{overflow-wrap:normal;word-break:normal}.thinking-content[data-v-85a4064f] p{margin-bottom:.5rem}.thinking-content[data-v-85a4064f] ul,.thinking-content[data-v-85a4064f] ol{padding-left:1.5rem;margin-bottom:.5rem}.message-images[data-v-85a4064f]{display:grid;grid-template-columns:repeat(2,minmax(0,12rem));gap:.5rem;margin-bottom:.6rem}.message-images[data-v-85a4064f]:last-child{margin-bottom:0}.message-image-item[data-v-85a4064f]{position:relative}.message-image[data-v-85a4064f]{display:block;width:100%;max-height:15rem;object-fit:cover;border:1px solid color-mix(in srgb,var(--border) 75%,transparent);border-radius:var(--radius-md);background:var(--bg-primary);cursor:zoom-in}.message-image-annotate[data-v-85a4064f]{position:absolute;right:.4rem;bottom:.4rem;display:inline-flex;align-items:center;gap:.3rem;padding:.3rem .5rem;border:1px solid rgba(255,255,255,.25);border-radius:var(--radius-sm);color:#fff;background:#000000ad;font-size:.75rem}.message-image-annotate[data-v-85a4064f]:hover{background:#000000db}.message-image-lightbox[data-v-85a4064f]{position:fixed;inset:0;z-index:4000;display:flex;align-items:center;justify-content:center;padding:2rem;background:#000000d1}.message-image-lightbox-image[data-v-85a4064f]{max-width:100%;max-height:100%;object-fit:contain;border-radius:var(--radius-md);box-shadow:var(--shadow-xl);touch-action:none;-webkit-user-select:none;user-select:none}.message-image-lightbox-image.can-pan[data-v-85a4064f]{cursor:grab}.message-image-lightbox-image.is-dragging[data-v-85a4064f]{cursor:grabbing}.message-image-lightbox-close[data-v-85a4064f]{position:absolute;top:1rem;right:1rem;display:grid;width:2.5rem;height:2.5rem;place-items:center;border:1px solid rgba(255,255,255,.24);border-radius:50%;color:#fff;background:#0000007a;font-size:1.75rem;line-height:1}.message-image-lightbox-close[data-v-85a4064f]:hover{background:#ffffff29}.message-content[data-v-85a4064f]{min-width:0;max-width:100%;line-height:1.6;overflow-wrap:anywhere;word-break:break-word}.message-content[data-v-85a4064f] [data-internal],.event-content[data-v-85a4064f] [data-internal]{display:block;margin:.5rem 0}.message-content[data-v-85a4064f] [data-internal=thinking],.event-content[data-v-85a4064f] [data-internal=thinking]{margin:.25rem 0;padding-left:0}.message-content[data-v-85a4064f] [data-internal=tool-call],.event-content[data-v-85a4064f] [data-internal=tool-call]{opacity:.8}.message-content[data-v-85a4064f] [data-internal=observation],.event-content[data-v-85a4064f] [data-internal=observation]{border-left:3px solid var(--text-tertiary);padding-left:.75rem}.message-content[data-v-85a4064f] .review-internal-header,.event-content[data-v-85a4064f] .review-internal-header{display:flex;align-items:center;gap:.5rem;cursor:pointer;list-style:none;color:var(--thinking-text);font-size:.8125rem;font-weight:600;-webkit-user-select:none;user-select:none}.message-content[data-v-85a4064f] .review-internal-header:hover,.event-content[data-v-85a4064f] .review-internal-header:hover{color:var(--text-primary)}.message-content[data-v-85a4064f] .review-thinking-only,.event-content[data-v-85a4064f] .review-thinking-only{cursor:default}.message-content[data-v-85a4064f] .review-thinking-only:after,.event-content[data-v-85a4064f] .review-thinking-only:after{display:none}.message-content[data-v-85a4064f] .review-internal-header:after,.event-content[data-v-85a4064f] .review-internal-header:after{content:"›";display:inline-block;width:.75rem;margin-left:auto;color:var(--text-secondary);font-size:1rem;line-height:1;transition:transform var(--duration-fast) var(--ease-out)}.message-content[data-v-85a4064f] .review-internal-block[open]>.review-internal-header:after,.event-content[data-v-85a4064f] .review-internal-block[open]>.review-internal-header:after{transform:rotate(90deg)}.message-content[data-v-85a4064f] .review-thinking-icon,.event-content[data-v-85a4064f] .review-thinking-icon{flex:0 0 auto;color:var(--warning)}.message-content[data-v-85a4064f] .review-internal-header::-webkit-details-marker,.event-content[data-v-85a4064f] .review-internal-header::-webkit-details-marker{display:none}.message-content[data-v-85a4064f] .review-internal-body,.event-content[data-v-85a4064f] .review-internal-body{margin-top:.5rem;color:var(--thinking-text);opacity:.85}.message-content[data-v-85a4064f] [data-internal=thinking]>.review-internal-body,.event-content[data-v-85a4064f] [data-internal=thinking]>.review-internal-body{margin-top:.25rem}.message-content[data-v-85a4064f] [data-internal] pre,.event-content[data-v-85a4064f] [data-internal] pre{white-space:pre}.git-diff-card .message-content[data-v-85a4064f] h3:first-child{display:flex;align-items:baseline;gap:.4rem;margin:0 0 .45rem;font-size:.95rem}.git-diff-card .message-content[data-v-85a4064f] h3:first-child code{color:var(--text-tertiary);font-size:.78em;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.git-diff-card .markdown-body[data-v-85a4064f] .code-block{max-height:min(58vh,720px);margin:.45rem 0}.git-diff-card .markdown-body[data-v-85a4064f] .code-block-header{padding:.3rem .6rem}.git-diff-card .markdown-body[data-v-85a4064f] .code-block pre{max-height:calc(min(58vh,720px) - 1.6rem)}.git-diff-card .markdown-body[data-v-85a4064f] .code-block code.hljs{padding:.65rem .75rem}.git-diff-card .markdown-body[data-v-85a4064f] .diff-code-block code.hljs{padding:.45rem 0}.git-diff-card .markdown-body[data-v-85a4064f] .diff-code-line{padding:0 .75rem}.message-content[data-v-85a4064f] pre{max-width:100%;max-height:min(45vh,520px);background:var(--bg-primary);padding:1rem;border-radius:var(--radius-md);overflow:auto;margin:.5rem 0;overflow-wrap:normal;word-break:normal}.message-content[data-v-85a4064f] code{font-family:Fira Code,Consolas,monospace;font-size:.875rem;overflow-wrap:anywhere;word-break:break-word}.message-content[data-v-85a4064f] pre code{overflow-wrap:normal;word-break:normal}.markdown-body[data-v-85a4064f] a{color:var(--markdown-accent);font-weight:600;text-decoration:none;border-bottom:1px solid rgba(121,192,255,.35);transition:color .16s ease,border-color .16s ease}.markdown-body[data-v-85a4064f] a:hover,.markdown-body[data-v-85a4064f] a:focus-visible{color:var(--markdown-accent-hover);border-bottom-color:var(--markdown-accent-hover);outline:none}.message-bubble.user .markdown-body[data-v-85a4064f] a{color:var(--user-message-link);border-bottom-color:var(--user-message-link-underline)}.message-bubble.user .markdown-body[data-v-85a4064f] a:hover,.message-bubble.user .markdown-body[data-v-85a4064f] a:focus-visible{color:var(--user-message-link-hover);border-bottom-color:var(--user-message-link-hover)}.markdown-body[data-v-85a4064f] strong{color:var(--text-primary);font-weight:700}.markdown-body[data-v-85a4064f] em{color:var(--markdown-muted)}.markdown-body[data-v-85a4064f] :not(pre)>code{display:inline-block;max-width:100%;padding:.08rem .38rem;border:1px solid var(--markdown-inline-code-border);border-radius:5px;background:var(--markdown-inline-code-bg);color:var(--markdown-inline-code-text);font-family:Fira Code,Consolas,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9em;font-style:normal;font-weight:600;line-height:1.45;vertical-align:baseline;overflow-wrap:anywhere;word-break:break-word}.markdown-body[data-v-85a4064f] h1,.markdown-body[data-v-85a4064f] h2,.markdown-body[data-v-85a4064f] h3,.markdown-body[data-v-85a4064f] h4,.markdown-body[data-v-85a4064f] h5,.markdown-body[data-v-85a4064f] h6{margin:.45rem 0;color:var(--text-primary);font-weight:750;line-height:1.25}.markdown-body[data-v-85a4064f] h1{font-size:1.45rem}.markdown-body[data-v-85a4064f] h2{font-size:1.25rem}.markdown-body[data-v-85a4064f] h3{font-size:1.1rem}.markdown-body[data-v-85a4064f] h4,.markdown-body[data-v-85a4064f] h5,.markdown-body[data-v-85a4064f] h6{font-size:1rem}.markdown-body[data-v-85a4064f] blockquote{margin:.75rem 0;padding:.65rem .85rem;border-left:3px solid var(--markdown-quote-border);border-radius:0 8px 8px 0;background:var(--markdown-quote-bg);color:var(--markdown-muted)}.markdown-body[data-v-85a4064f] blockquote p:last-child{margin-bottom:0}.markdown-body[data-v-85a4064f] ul,.markdown-body[data-v-85a4064f] ol{padding-left:1.35rem}.markdown-body[data-v-85a4064f] li{margin:.18rem 0;padding-left:.15rem}.markdown-body[data-v-85a4064f] li::marker{color:var(--markdown-accent)}.markdown-body[data-v-85a4064f] table{display:block;width:100%;max-width:100%;margin:.85rem 0;overflow:auto;border-collapse:collapse;color:var(--markdown-text)}.markdown-body[data-v-85a4064f] th,.markdown-body[data-v-85a4064f] td{padding:.48rem .65rem;border:1px solid var(--markdown-table-border);text-align:left;vertical-align:top}.markdown-body[data-v-85a4064f] th{background:var(--bg-surface);color:var(--text-primary);font-weight:700}.markdown-body[data-v-85a4064f] tr:nth-child(2n) td{background:var(--markdown-table-row-bg)}.markdown-body[data-v-85a4064f] hr{height:1px;margin:1rem 0;border:0;background:var(--border)}.markdown-body[data-v-85a4064f] .code-block{max-width:100%;max-height:min(45vh,520px);margin:.75rem 0;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-primary)}.markdown-body[data-v-85a4064f] .code-block-header{padding:.45rem .75rem;border-bottom:1px solid var(--border);background:var(--bg-surface);color:var(--text-tertiary);font-family:ui-sans-serif,system-ui,sans-serif;font-size:.6875rem;font-style:normal;font-weight:600;letter-spacing:.04em;line-height:1;text-transform:uppercase}.markdown-body[data-v-85a4064f] .code-block pre{max-height:calc(min(45vh,520px) - 2rem);margin:0;padding:0;overflow:auto;border:0;border-radius:0;background:transparent}.markdown-body[data-v-85a4064f] .code-block code.hljs{display:block;padding:1rem;background:transparent;color:var(--code-text);overflow-wrap:normal;word-break:normal}.markdown-body[data-v-85a4064f] .diff-code-block code.hljs{padding:.75rem 0}.markdown-body[data-v-85a4064f] .diff-code-line{display:block;box-sizing:border-box;min-width:100%;width:max-content;padding:0 1rem;white-space:pre}.markdown-body[data-v-85a4064f] .diff-added{background:var(--diff-added-bg);color:var(--diff-added-text)}.markdown-body[data-v-85a4064f] .diff-removed{background:var(--diff-removed-bg);color:var(--diff-removed-text)}.markdown-body[data-v-85a4064f] .diff-hunk{background:var(--diff-hunk-bg);color:var(--diff-hunk-text)}.markdown-body[data-v-85a4064f] .diff-meta{color:var(--diff-meta-text)}.markdown-body[data-v-85a4064f] .hljs-keyword,.markdown-body[data-v-85a4064f] .hljs-selector-tag,.markdown-body[data-v-85a4064f] .hljs-subst{color:var(--syntax-keyword)}.markdown-body[data-v-85a4064f] .hljs-string,.markdown-body[data-v-85a4064f] .hljs-regexp,.markdown-body[data-v-85a4064f] .hljs-symbol,.markdown-body[data-v-85a4064f] .hljs-bullet{color:var(--syntax-string)}.markdown-body[data-v-85a4064f] .hljs-comment,.markdown-body[data-v-85a4064f] .hljs-quote{color:var(--syntax-comment)}.markdown-body[data-v-85a4064f] .hljs-title,.markdown-body[data-v-85a4064f] .hljs-section,.markdown-body[data-v-85a4064f] .hljs-name{color:var(--syntax-title)}.markdown-body[data-v-85a4064f] .hljs-attr,.markdown-body[data-v-85a4064f] .hljs-attribute,.markdown-body[data-v-85a4064f] .hljs-variable,.markdown-body[data-v-85a4064f] .hljs-template-variable{color:var(--syntax-attr)}.markdown-body[data-v-85a4064f] .hljs-number,.markdown-body[data-v-85a4064f] .hljs-literal{color:var(--syntax-number)}.markdown-body[data-v-85a4064f] .hljs-built_in,.markdown-body[data-v-85a4064f] .hljs-type,.markdown-body[data-v-85a4064f] .hljs-class{color:var(--syntax-built-in)}.message-content[data-v-85a4064f] p{margin:0 0 .5rem}.message-content[data-v-85a4064f] p:last-child{margin-bottom:0}.message-content[data-v-85a4064f] ul,.message-content[data-v-85a4064f] ol{padding-left:1.5rem;margin-bottom:.5rem}[data-v-85a4064f] .file-link,[data-v-85a4064f] .git-commit-link{cursor:pointer;color:var(--markdown-accent);text-decoration:none;transition:color .16s ease,text-decoration-color .16s ease}[data-v-85a4064f] .file-link:hover,[data-v-85a4064f] .git-commit-link:hover{color:var(--markdown-accent-hover);text-decoration:underline;text-decoration-color:var(--markdown-accent-hover)}.memory-recall[data-v-85a4064f]{margin-top:.75rem;padding-top:.5rem;border-top:1px solid var(--border);color:var(--text-tertiary);font-size:.75rem}.memory-recall-toggle[data-v-85a4064f]{display:inline-flex;align-items:center;gap:.25rem;padding:0;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer}.memory-recall-toggle[data-v-85a4064f]:hover{color:var(--text-secondary)}.memory-recall-panel[data-v-85a4064f]{margin-top:.5rem;display:grid;gap:.5rem}.memory-recall-item[data-v-85a4064f]{padding:.5rem;border:1px solid var(--border);border-radius:.5rem;background:var(--bg-surface)}.memory-recall-meta[data-v-85a4064f]{display:flex;flex-wrap:wrap;gap:.375rem;margin-bottom:.25rem;color:var(--text-tertiary);font-size:.7rem}.memory-recall-content[data-v-85a4064f],.memory-recall-empty[data-v-85a4064f]{color:var(--text-secondary);line-height:1.4}.token-usage[data-v-85a4064f]{margin-top:.75rem;padding-top:.5rem;border-top:1px solid var(--border);color:var(--text-tertiary);font-size:.75rem;line-height:1.4}.slash-command-menu[data-v-c3d99bd4]{position:absolute;left:1rem;right:1rem;bottom:calc(100% - .75rem);z-index:20;max-height:280px;overflow-y:auto;padding:.375rem;background:var(--bg-primary);border:1px solid var(--border);border-radius:10px;box-shadow:0 16px 40px #00000047}.slash-command-item[data-v-c3d99bd4]{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.625rem .75rem;color:var(--text-primary);background:transparent;border:0;border-radius:8px;text-align:left;cursor:pointer}.slash-command-item[data-v-c3d99bd4]:hover,.slash-command-item.active[data-v-c3d99bd4]{background:var(--bg-surface)}.command-main[data-v-c3d99bd4]{min-width:0;flex:1;display:flex;flex-direction:column;gap:.2rem}.command-line[data-v-c3d99bd4]{min-width:0;display:flex;align-items:center;gap:.5rem}.command-label[data-v-c3d99bd4]{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-weight:700;color:var(--accent)}.command-description[data-v-c3d99bd4]{color:var(--text-secondary);font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.command-category[data-v-c3d99bd4]{flex:0 0 auto;margin-left:auto;padding:.2rem .45rem;border:1px solid var(--border);border-radius:999px;color:var(--text-secondary);font-size:.7rem;text-transform:uppercase}.file-search-menu[data-v-2e18457c]{position:absolute;left:1rem;right:1rem;bottom:calc(100% - .75rem);z-index:20;max-height:320px;overflow-y:auto;padding:.375rem;background:var(--bg-primary);border:1px solid var(--border);border-radius:10px;box-shadow:0 16px 40px #00000047}.file-search-header[data-v-2e18457c]{padding:.75rem 1rem .5rem;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border)}.header-label[data-v-2e18457c]{font-size:.75rem;font-weight:600;color:var(--text-tertiary);text-transform:uppercase}.header-query[data-v-2e18457c]{font-size:.7rem;color:var(--text-tertiary);font-family:monospace}.loading-indicator[data-v-2e18457c]{padding:2rem 1rem;text-align:center;color:var(--text-secondary);font-size:.9rem}.empty-state[data-v-2e18457c]{padding:2rem 1rem;text-align:center;display:flex;flex-direction:column;gap:.5rem}.empty-icon[data-v-2e18457c]{font-size:2rem}.empty-text[data-v-2e18457c]{font-size:.9rem;color:var(--text-secondary)}.empty-hint[data-v-2e18457c]{font-size:.75rem;color:var(--text-tertiary)}.file-search-list[data-v-2e18457c]{padding:.25rem 0}.file-search-item[data-v-2e18457c]{width:100%;display:flex;align-items:center;gap:.75rem;padding:.625rem .75rem;color:var(--text-primary);background:transparent;border:0;border-radius:8px;text-align:left;cursor:pointer}.file-search-item[data-v-2e18457c]:hover,.file-search-item.active[data-v-2e18457c]{background:var(--bg-surface)}.file-icon[data-v-2e18457c]{font-size:1.1rem;flex-shrink:0}.file-info[data-v-2e18457c]{flex:1;min-width:0}.file-label[data-v-2e18457c]{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem}.file-directory[data-v-2e18457c]{color:var(--text-secondary);font-family:monospace;font-size:.8rem}.file-name[data-v-2e18457c]{font-weight:600}.recent-badge[data-v-2e18457c]{flex-shrink:0;padding:.2rem .45rem;border:1px solid var(--border);border-radius:999px;color:var(--text-secondary);font-size:.7rem;text-transform:uppercase}.tree-modal-backdrop[data-v-87cee85e]{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem;background:#0000008c}.tree-modal[data-v-87cee85e]{width:min(1040px,96vw);max-height:min(760px,92vh);display:flex;flex-direction:column;background:#070d14;border:1px solid color-mix(in srgb,var(--border) 72%,#6e8cff 28%);border-radius:10px;box-shadow:0 24px 80px #0006;color:#e6e0f6;overflow:hidden}.tree-modal-header[data-v-87cee85e],.tree-modal-footer[data-v-87cee85e]{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1rem;border-bottom:1px solid rgba(126,139,166,.28);background:#0b0c12}.tree-modal-footer[data-v-87cee85e]{border-top:1px solid rgba(126,139,166,.28);border-bottom:0;background:#0b0c12}.tree-modal-header h3[data-v-87cee85e]{margin:0 0 .25rem;color:#f1eefc;font-size:1.15rem;letter-spacing:0}.tree-modal-header p[data-v-87cee85e],.tree-modal-state[data-v-87cee85e]{color:#818b9b}.tree-modal-header p[data-v-87cee85e]{margin:0;font-size:.86rem}.tree-modal-state[data-v-87cee85e]{padding:2rem;text-align:center}.tree-modal-state.error[data-v-87cee85e]{color:var(--danger, #ef4444)}.tree-list[data-v-87cee85e]{overflow:auto;padding:.65rem .75rem .85rem;background:#06111b;scrollbar-color:rgba(126,139,166,.45) transparent}.tree-row[data-v-87cee85e]{width:100%;display:flex;align-items:center;min-height:1.5rem;padding:0 .25rem;color:#e6e0f6;background:transparent;border:0;border-radius:3px;font-family:SFMono-Regular,ui-monospace,Menlo,Monaco,Consolas,monospace;font-size:.95rem;line-height:1.5;text-align:left;cursor:pointer}.tree-row[data-v-87cee85e]:hover,.tree-row.selected[data-v-87cee85e]{background:#5b77b342}.tree-row.leaf[data-v-87cee85e]{background:#5d76a32e}.tree-prefix[data-v-87cee85e]{flex:0 0 auto;display:inline-flex;min-width:0;margin-right:0;line-height:inherit;white-space:pre}.tree-guide[data-v-87cee85e]{display:inline-block;width:1.42rem;text-align:left}.tree-guide[data-v-87cee85e]{position:relative;height:1.5rem}.tree-guide-line[data-v-87cee85e]{position:absolute;top:0;bottom:0;left:.28rem;border-left:1px solid #6b8cff}.tree-connector[data-v-87cee85e]{display:inline-block;width:1.42rem;height:1.5rem;position:relative}.tree-connector[data-v-87cee85e]:before,.tree-connector[data-v-87cee85e]:after{content:"";position:absolute;background:#6b8cff}.tree-connector[data-v-87cee85e]:before{top:0;bottom:0;left:.28rem;width:1px}.tree-connector.last[data-v-87cee85e]:before{bottom:50%}.tree-connector[data-v-87cee85e]:after{top:50%;left:.28rem;right:0;height:1px}.tree-branch-toggle[data-v-87cee85e],.tree-branch-spacer[data-v-87cee85e]{flex:0 0 1.12rem;width:1.12rem;height:1.5rem;margin:0 .12rem 0 0}.tree-branch-toggle[data-v-87cee85e]{display:flex;align-items:center;justify-content:center;padding:0 8px 0 0;color:#6b8cff;background:transparent;border:0;font-family:inherit;font-size:.95rem;font-weight:600;line-height:1;cursor:pointer}.tree-branch-toggle[data-v-87cee85e]:hover{color:#6b8cff}.tree-role-dot[data-v-87cee85e]{flex:0 0 auto;width:.3rem;height:.3rem;margin:0 .5rem 0 0;border-radius:999px}.tree-role-dot.role-user[data-v-87cee85e]{background:#2f8cff}.tree-role-dot.role-assistant[data-v-87cee85e]{background:#34d267}.tree-row-main[data-v-87cee85e]{min-width:0;flex:1 1 auto;overflow:hidden}.tree-row-title[data-v-87cee85e]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.5}.tree-row-role[data-v-87cee85e]{margin-right:.42rem;font-weight:600}.tree-row-role.role-user[data-v-87cee85e]{color:#2f8cff}.tree-row-role.role-assistant[data-v-87cee85e]{color:#34d267}.tree-row-text[data-v-87cee85e]{color:#e6e0f6}.tree-row-badge[data-v-87cee85e]{margin-left:.5rem;color:#818b9b;font-size:.78rem}.summary-toggle[data-v-87cee85e]{display:flex;align-items:center;gap:.5rem;color:#a3a6b7;font-size:.88rem}.summary-toggle input[data-v-87cee85e]{width:1rem;height:1rem;accent-color:#6b8cff}.tree-modal-actions[data-v-87cee85e]{display:flex;gap:.5rem}.primary-btn[data-v-87cee85e],.secondary-btn[data-v-87cee85e]{cursor:pointer}.primary-btn[data-v-87cee85e]{color:#fff;background:#6b8cff;border:1px solid #6b8cff}.primary-btn[data-v-87cee85e]:disabled{opacity:.6;cursor:not-allowed}.secondary-btn[data-v-87cee85e]{color:#e6e0f6;background:#1a1b25;border:1px solid rgba(126,139,166,.32)}@media(max-width:640px){.tree-modal[data-v-87cee85e]{width:100vw;max-height:100vh;border-radius:0}.tree-modal-backdrop[data-v-87cee85e]{padding:0}.tree-row[data-v-87cee85e]{font-size:.86rem}.tree-guide[data-v-87cee85e],.tree-connector[data-v-87cee85e]{width:1rem}.tree-modal-footer[data-v-87cee85e]{align-items:stretch;flex-direction:column}.tree-modal-actions[data-v-87cee85e]{justify-content:flex-end}}.chat-workspace[data-v-bd70c51b]{flex:1;min-width:0;min-height:0;display:flex;overflow:hidden}.discussion-pane[data-v-bd70c51b],.chat-panel[data-v-bd70c51b]{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden}.messages-shell[data-v-bd70c51b]{position:relative;flex:1;min-width:0;overflow:hidden}.messages[data-v-bd70c51b]{height:100%;min-width:0;overflow-y:auto;overflow-x:hidden;padding:1rem 1rem 5.875rem;display:flex;flex-direction:column}.message-block[data-v-bd70c51b]{display:flow-root;flex:0 0 auto}.message-block[data-v-bd70c51b]:focus{outline:none}.message-block.is-selected[data-v-bd70c51b] .message-bubble,.message-block.is-selected[data-v-bd70c51b] .chat-event-row{box-shadow:0 0 0 1px var(--accent)}.tts-message-controls[data-v-bd70c51b]{display:flex;align-items:center;justify-content:flex-end;gap:.35rem;margin:.25rem .25rem .15rem}.tts-control-btn[data-v-bd70c51b]{display:inline-flex;align-items:center;gap:.25rem;padding:.2rem .45rem;border:1px solid var(--border);border-radius:999px;color:var(--text-secondary);background:var(--bg-secondary);font-size:.72rem;cursor:pointer}.tts-control-btn[data-v-bd70c51b]:hover:not(:disabled){color:var(--text-primary);border-color:var(--accent)}.tts-control-btn[data-v-bd70c51b]:disabled{opacity:.6;cursor:wait}.tts-error[data-v-bd70c51b]{color:var(--error);font-size:.72rem}.floating-chat-controls[data-v-bd70c51b]{position:absolute;right:2rem;bottom:2.25rem;z-index:30;display:flex;flex-direction:column;align-items:flex-end;gap:.5rem}.floating-button-row[data-v-bd70c51b]{display:flex;gap:.5rem}.floating-chat-btn[data-v-bd70c51b],.view-option-row[data-v-bd70c51b]{background:color-mix(in srgb,var(--bg-surface) 92%,transparent);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;transition:color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out);box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.floating-chat-btn[data-v-bd70c51b]{width:2.625rem;height:2.625rem;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-md)}.view-options-popover[data-v-bd70c51b]{min-width:11rem;padding:.375rem;background:color-mix(in srgb,var(--bg-surface) 96%,transparent);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.view-option-row[data-v-bd70c51b]{width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.5rem .625rem;border-radius:var(--radius-sm);box-shadow:none;font-size:.75rem;text-align:left}.view-option-row span[data-v-bd70c51b]{display:inline-flex;align-items:center;gap:.375rem}.view-option-row strong[data-v-bd70c51b]{font-size:.6875rem;font-weight:600;color:var(--text-tertiary)}.view-option-row[data-v-bd70c51b]:disabled{cursor:not-allowed;opacity:.55}.floating-chat-btn[data-v-bd70c51b]:hover,.floating-chat-btn[data-v-bd70c51b]:focus-visible,.view-option-row[data-v-bd70c51b]:hover,.view-option-row[data-v-bd70c51b]:focus-visible{background:var(--bg-elevated);color:var(--text-primary);border-color:var(--border-subtle);outline:none}.floating-chat-btn[data-v-bd70c51b]:active,.view-option-row[data-v-bd70c51b]:active:not(:disabled){transform:scale(.96)}.tooltip[data-v-bd70c51b]{position:relative}.tooltip[data-v-bd70c51b]:after{content:attr(data-tooltip);position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%);padding:4px 10px;background:var(--bg-elevated);color:var(--text-primary);font-size:.75rem;border-radius:var(--radius-sm);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--duration-fast) var(--ease-out);border:1px solid var(--border);z-index:100;box-shadow:var(--shadow-md)}.tooltip[data-v-bd70c51b]:hover:after{opacity:1}.tooltip-above[data-v-bd70c51b]:after{top:auto;bottom:calc(100% + 6px)}.composer-skill-selector.tooltip[data-v-bd70c51b],.composer-model-selector.tooltip[data-v-bd70c51b],.composer-thinking-selector.tooltip[data-v-bd70c51b]{overflow:visible}.streaming-indicator[data-v-bd70c51b]{display:inline-flex;align-items:center;align-self:flex-start;gap:.5rem;width:fit-content;margin:0 0 .6rem 1rem;padding:.25rem 0;color:var(--text-secondary);font-size:.8125rem}.streaming-spinner[data-v-bd70c51b]{display:grid;grid-template-columns:repeat(2,.28rem);grid-template-rows:repeat(3,.28rem);gap:.105rem;flex:0 0 auto}.streaming-spinner-dot[data-v-bd70c51b]{width:.28rem;height:.28rem;background:var(--accent);border-radius:50%;box-shadow:0 0 8px var(--accent-muted);animation:streaming-spinner-dot-bd70c51b 1s infinite ease-in-out}.streaming-spinner-dot[data-v-bd70c51b]:nth-child(1){animation-delay:0s}.streaming-spinner-dot[data-v-bd70c51b]:nth-child(2){animation-delay:.12s}.streaming-spinner-dot[data-v-bd70c51b]:nth-child(3){animation-delay:.6s}.streaming-spinner-dot[data-v-bd70c51b]:nth-child(4){animation-delay:.24s}.streaming-spinner-dot[data-v-bd70c51b]:nth-child(5){animation-delay:.48s}.streaming-spinner-dot[data-v-bd70c51b]:nth-child(6){animation-delay:.36s}.streaming-copy[data-v-bd70c51b]{display:inline-flex;align-items:baseline;gap:.5rem;line-height:1}.streaming-label[data-v-bd70c51b]{color:var(--text-primary);font-weight:600;line-height:1}.streaming-elapsed[data-v-bd70c51b]{position:relative;top:.06em;min-width:2ch;color:var(--text-tertiary);font-variant-numeric:tabular-nums;line-height:1}@keyframes streaming-spinner-dot-bd70c51b{0%,to{opacity:.25}40%{opacity:1}}.input-area[data-v-bd70c51b]{position:relative;min-width:0;padding:.875rem 1rem 1rem;background:var(--bg-secondary);border-top:1px solid var(--border);display:flex;align-items:flex-end;gap:.75rem}.input-resize-handle[data-v-bd70c51b]{position:absolute;z-index:2;top:-5px;left:0;width:100%;height:10px;cursor:ns-resize;touch-action:none}.input-resize-handle[data-v-bd70c51b]:after{content:"";position:absolute;top:4px;left:0;width:100%;height:2px;background:transparent;transition:background .15s}.input-resize-handle[data-v-bd70c51b]:hover:after,.input-resize-handle.is-resizing[data-v-bd70c51b]:after{background:var(--accent)}.composer-shell[data-v-bd70c51b]{flex:1;min-width:0;padding:.625rem .875rem .5rem;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);transition:border-color var(--duration-normal) var(--ease-out),box-shadow var(--duration-normal) var(--ease-out)}.composer-shell[data-v-bd70c51b]:focus-within,.composer-shell.drag-over[data-v-bd70c51b]{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-muted)}.composer-shell.drag-over[data-v-bd70c51b]{background:color-mix(in srgb,var(--accent-muted) 45%,var(--bg-surface))}.attachment-tray[data-v-bd70c51b]{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.6rem}.attachment-item[data-v-bd70c51b]{width:min(16rem,100%);min-width:0;display:flex;align-items:center;gap:.5rem;padding:.35rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-elevated)}.attachment-item img[data-v-bd70c51b]{width:2.75rem;height:2.75rem;flex:none;object-fit:cover;border-radius:var(--radius-sm);cursor:zoom-in}.message-image-lightbox[data-v-bd70c51b]{position:fixed;inset:0;z-index:4000;display:flex;align-items:center;justify-content:center;padding:2rem;background:#000000d1}.message-image-lightbox-image[data-v-bd70c51b]{max-width:100%;max-height:100%;object-fit:contain;border-radius:var(--radius-md);box-shadow:var(--shadow-xl)}.message-image-lightbox-close[data-v-bd70c51b]{position:absolute;top:1rem;right:1rem;display:grid;width:2.5rem;height:2.5rem;place-items:center;border:1px solid rgba(255,255,255,.24);border-radius:50%;color:#fff;background:#0000007a;font-size:1.75rem;line-height:1}.message-image-lightbox-close[data-v-bd70c51b]:hover{background:#ffffff29}.attachment-details[data-v-bd70c51b]{min-width:0;display:flex;flex:1;flex-direction:column}.attachment-details strong[data-v-bd70c51b],.attachment-details small[data-v-bd70c51b]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-details strong[data-v-bd70c51b]{font-size:.75rem}.attachment-details small[data-v-bd70c51b]{color:var(--text-tertiary);font-size:.65rem}.attachment-remove[data-v-bd70c51b],.attach-image-btn[data-v-bd70c51b],.prompt-polish-btn[data-v-bd70c51b],.dictation-btn[data-v-bd70c51b],.switch-model-btn[data-v-bd70c51b]{color:var(--text-secondary)}.attachment-remove[data-v-bd70c51b],.attach-image-btn[data-v-bd70c51b],.prompt-polish-btn[data-v-bd70c51b],.dictation-btn[data-v-bd70c51b]{display:inline-flex;align-items:center;justify-content:center;padding:.25rem;border-radius:var(--radius-sm)}.attachment-remove[data-v-bd70c51b]:hover,.attach-image-btn[data-v-bd70c51b]:hover,.prompt-polish-btn[data-v-bd70c51b]:hover:not(:disabled),.dictation-btn[data-v-bd70c51b]:hover:not(:disabled){color:var(--text-primary);background:var(--bg-hover)}.dictation-btn.recording[data-v-bd70c51b]{color:var(--error);background:color-mix(in srgb,var(--error) 14%,transparent)}.dictation-btn[data-v-bd70c51b]:disabled{cursor:wait;opacity:.65}.mobile-camera-btn[data-v-bd70c51b]{display:none}.prompt-polish-btn[data-v-bd70c51b]:disabled{cursor:not-allowed;opacity:.55}.attachment-error[data-v-bd70c51b],.prompt-polish-error[data-v-bd70c51b],.dictation-error[data-v-bd70c51b],.attachment-model-warning[data-v-bd70c51b]{margin:0 0 .5rem;color:var(--error);font-size:.75rem;line-height:1.35}.switch-model-btn[data-v-bd70c51b]{margin-left:.25rem;color:var(--accent);font-weight:700;text-decoration:underline}.image-file-input[data-v-bd70c51b]{display:none}.composer-shell textarea[data-v-bd70c51b]{display:block;width:100%;min-height:36px;max-height:276px;padding:0;resize:none;overflow-y:hidden;background:transparent;border:0;border-radius:0;line-height:1.5;font-size:.9375rem}.composer-shell textarea[data-v-bd70c51b]:focus{border-color:transparent;box-shadow:none}.composer-shell textarea[data-v-bd70c51b]::placeholder{color:var(--text-tertiary)}.composer-meta-row[data-v-bd70c51b]{margin-top:.375rem;display:flex;align-items:center;justify-content:space-between;min-width:0;gap:.75rem;color:var(--text-tertiary);font-size:.6875rem;line-height:1.2}.user-prompt-picker[data-v-bd70c51b]{position:relative;display:inline-flex}.user-prompt-menu[data-v-bd70c51b]{position:absolute;z-index:20;right:0;bottom:calc(100% + .5rem);width:min(22rem,80vw);max-height:16rem;overflow:auto;padding:.35rem;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-secondary);box-shadow:0 12px 30px #00000040}.user-prompt-menu button[data-v-bd70c51b]{display:grid;width:100%;gap:.2rem;padding:.65rem .75rem;border:0;border-radius:7px;background:transparent;color:var(--text-primary);text-align:left;cursor:pointer}.user-prompt-menu button[data-v-bd70c51b]:hover{background:var(--bg-tertiary)}.user-prompt-menu span[data-v-bd70c51b]{overflow:hidden;color:var(--text-secondary);font-size:.8rem;text-overflow:ellipsis;white-space:nowrap}.composer-hint[data-v-bd70c51b]{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.composer-skill-selector[data-v-bd70c51b],.composer-model-selector[data-v-bd70c51b]{flex:0 1 auto;min-width:0;max-width:35%;display:inline-flex;padding:0;color:var(--text-secondary);background:transparent;border:0;font:inherit;font-weight:600;white-space:nowrap}.composer-skill-selector[data-v-bd70c51b]:hover:not(:disabled),.composer-model-selector[data-v-bd70c51b]:hover:not(:disabled){color:var(--text-primary)}.composer-skill-selector[data-v-bd70c51b]:disabled,.composer-model-selector[data-v-bd70c51b]:disabled{cursor:not-allowed}.composer-thinking-selector[data-v-bd70c51b]{flex:0 1 auto;min-width:0;max-width:7rem;display:inline-flex;padding:0;color:var(--text-secondary);background:transparent;border:0;font:inherit;font-weight:600;white-space:nowrap;cursor:pointer}.composer-selector-label[data-v-bd70c51b]{display:block;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.composer-thinking-selector[data-v-bd70c51b]:hover:not(:disabled){color:var(--text-primary)}.composer-thinking-selector[data-v-bd70c51b]:disabled{cursor:not-allowed}.model-selector-modal.thinking-selector-modal[data-v-bd70c51b]{width:min(480px,100%)}.model-selector-modal.model-selector-dialog[data-v-bd70c51b]{width:min(460px,100%)}.composer-context[data-v-bd70c51b]{flex:0 1 auto;color:var(--text-secondary);white-space:nowrap}.composer-actions[data-v-bd70c51b]{display:flex;flex-direction:column;align-items:stretch;gap:.5rem}.composer-actions>.stop-btn[data-v-bd70c51b]{order:-1}.send-btn[data-v-bd70c51b],.stop-btn[data-v-bd70c51b]{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:.625rem 1rem;border-radius:var(--radius-md);font-size:.875rem;font-weight:600;transition:color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out)}.send-btn[data-v-bd70c51b]{min-width:4.5rem;background:var(--accent);color:#fff}.stop-btn[data-v-bd70c51b]{background:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border)}.send-btn[data-v-bd70c51b]:hover:not(:disabled){background:var(--accent-hover)}.stop-btn[data-v-bd70c51b]:hover:not(:disabled){background:var(--bg-elevated);border-color:var(--text-tertiary)}.send-btn[data-v-bd70c51b]:active:not(:disabled),.stop-btn[data-v-bd70c51b]:active:not(:disabled){transform:scale(.96)}.send-btn[data-v-bd70c51b]:disabled,.stop-btn[data-v-bd70c51b]:disabled{opacity:.4;cursor:not-allowed}.commit-preview[data-v-bd70c51b]{display:flex;flex-direction:column;gap:.5rem;text-align:left}.commit-preview-label[data-v-bd70c51b]{margin-top:.25rem;color:var(--text-primary);font-weight:700}.pr-ai-row[data-v-bd70c51b]{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.pr-ai-generate-btn[data-v-bd70c51b]{min-height:34px;padding:.375rem .625rem;gap:.35rem}.commit-message-input[data-v-bd70c51b]{width:100%;padding:.5rem .625rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-surface);color:var(--text-primary);font:inherit;resize:vertical}.commit-file-stats[data-v-bd70c51b]{flex:0 0 auto;display:flex;gap:.5rem}.commit-file-stats .is-added[data-v-bd70c51b]{color:var(--success, #4ade80)}.commit-file-stats .is-removed[data-v-bd70c51b]{color:var(--danger, #f87171)}.commit-diff-panel[data-v-bd70c51b]{max-height:min(55vh,640px);overflow:auto;font-family:var(--font-mono, monospace);font-size:12px}.commit-diff-toolbar[data-v-bd70c51b]{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.5rem}.commit-diff-summary[data-v-bd70c51b]{margin:0;color:var(--text-secondary)}.commit-diff-actions[data-v-bd70c51b],.commit-diff-view-toggle[data-v-bd70c51b]{display:flex;align-items:center}.commit-diff-actions[data-v-bd70c51b]{flex:0 0 auto;gap:.5rem}.commit-diff-view-toggle[data-v-bd70c51b]{padding:2px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-secondary)}.commit-diff-view-toggle button[data-v-bd70c51b],.commit-diff-collapse-all[data-v-bd70c51b]{padding:.25rem .5rem;border:0;border-radius:3px;color:var(--text-secondary);background:transparent;font:inherit;cursor:pointer}.commit-diff-view-toggle button.active[data-v-bd70c51b]{color:var(--text-primary);background:var(--bg-surface);box-shadow:0 1px 2px #00000026}.commit-diff-collapse-all[data-v-bd70c51b]{border:1px solid var(--border)}.commit-diff-view-toggle button[data-v-bd70c51b]:hover,.commit-diff-collapse-all[data-v-bd70c51b]:hover{color:var(--text-primary);background:var(--bg-hover)}.commit-diff-file[data-v-bd70c51b]{margin-bottom:.5rem;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-sm)}.commit-diff-file[data-v-bd70c51b]:last-child{margin-bottom:0}.commit-diff-file h4[data-v-bd70c51b]{position:sticky;top:0;z-index:1;margin:0;background:var(--bg-secondary);font-family:inherit}.commit-diff-file h4 button[data-v-bd70c51b]{width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.5rem .625rem;color:inherit;background:none;border:0;font:inherit;font-weight:inherit;text-align:left;cursor:pointer}.commit-diff-file h4 button[data-v-bd70c51b]:hover,.commit-diff-file h4 button[data-v-bd70c51b]:focus-visible{background:var(--bg-hover);outline:none}.commit-diff-file-title[data-v-bd70c51b]{min-width:0;display:flex;align-items:center;gap:.375rem;overflow-wrap:anywhere}.commit-diff-file h4 button svg[data-v-bd70c51b]{flex:0 0 auto;transition:transform .15s ease}.commit-diff-file h4 button[aria-expanded=false] svg[data-v-bd70c51b]{transform:rotate(-90deg)}.commit-diff-content[data-v-bd70c51b]{border-top:1px solid var(--border);overflow-x:auto}.commit-diff-file pre[data-v-bd70c51b]{margin:0;padding:.5rem 0}.commit-split-diff[data-v-bd70c51b]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;min-width:48rem;padding:.5rem 0}.commit-split-row[data-v-bd70c51b]{display:contents}.commit-split-row>.commit-diff-line[data-v-bd70c51b]{min-width:0;white-space:pre-wrap;overflow-wrap:anywhere}.commit-split-row[data-v-bd70c51b]>:first-child{border-right:1px solid var(--border)}.commit-diff-line[data-v-bd70c51b]{display:block;min-height:18px;padding:0 .625rem;white-space:pre}.commit-diff-line.is-added[data-v-bd70c51b]{color:var(--success, #4ade80);background:#22c55e1a}.commit-diff-line.is-removed[data-v-bd70c51b]{color:var(--danger, #f87171);background:#ef44441a}.commit-diff-line.is-hunk[data-v-bd70c51b]{color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent)}.commit-diff-line.is-metadata[data-v-bd70c51b]{color:var(--text-secondary)}.commit-diff-line.is-empty[data-v-bd70c51b]{background:var(--bg-secondary)}@media(max-width:700px){.commit-diff-toolbar[data-v-bd70c51b]{align-items:flex-start;flex-direction:column}}.commit-diff-state[data-v-bd70c51b]{padding:1.5rem;color:var(--text-secondary);text-align:center;border:1px solid var(--border);border-radius:var(--radius-sm)}.model-selector-backdrop[data-v-bd70c51b]{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.model-selector-modal[data-v-bd70c51b]{width:min(720px,100%);max-height:min(720px,calc(100vh - 2rem));display:flex;flex-direction:column;gap:.875rem;padding:1.25rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl)}.model-selector-header[data-v-bd70c51b]{display:flex;justify-content:space-between;gap:1rem}.model-selector-header h3[data-v-bd70c51b]{margin:0 0 .25rem;color:var(--text-primary)}.model-selector-header p[data-v-bd70c51b]{margin:0;color:var(--text-secondary);font-size:.875rem}.model-search-input[data-v-bd70c51b]{width:100%;padding:.625rem .75rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-surface);color:var(--text-primary)}.model-list[data-v-bd70c51b]{min-height:0;overflow:auto;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-surface)}.model-option[data-v-bd70c51b]{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.625rem .75rem;background:transparent;border:0;border-bottom:1px solid var(--border);color:var(--text-primary);text-align:left;cursor:pointer}.model-option[data-v-bd70c51b]:last-child{border-bottom:0}.model-option[data-v-bd70c51b]:hover,.model-option.current[data-v-bd70c51b],.model-option.keyboard-active[data-v-bd70c51b]{background:var(--bg-elevated)}.model-option-main[data-v-bd70c51b]{min-width:0;display:flex;flex-direction:column;gap:.1rem}.model-name-row[data-v-bd70c51b]{min-width:0;display:flex;align-items:center;gap:.4rem}.model-name[data-v-bd70c51b]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700}.model-capability[data-v-bd70c51b]{flex:0 0 auto;width:fit-content;padding:.1rem .35rem;color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 45%,transparent);border-radius:var(--radius-full);font-size:.65rem;font-weight:700}.model-id[data-v-bd70c51b]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-secondary);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.8rem}.model-current[data-v-bd70c51b]{flex:0 0 auto;color:var(--accent);font-weight:800}.model-selector-empty[data-v-bd70c51b]{padding:1rem;color:var(--text-secondary);text-align:center}.model-selector-empty.error[data-v-bd70c51b]{color:var(--error)}.skill-selector-modal[data-v-bd70c51b]{width:min(760px,100%)}.skill-mode-options[data-v-bd70c51b]{display:grid;gap:.5rem}.skill-mode-option[data-v-bd70c51b]{display:flex;gap:.625rem;padding:.75rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-surface);color:var(--text-primary)}.skill-mode-option span[data-v-bd70c51b]{display:grid;gap:.2rem}.skill-mode-option small[data-v-bd70c51b]{color:var(--text-secondary)}.skill-picker-muted[data-v-bd70c51b]{opacity:.55}.skill-selector-actions[data-v-bd70c51b]{display:flex;justify-content:flex-end;gap:.75rem}.branch-dialog-modal[data-v-bd70c51b]{width:min(600px,100%)}.branch-dialog-fields[data-v-bd70c51b]{display:grid;gap:.75rem}.branch-name-row[data-v-bd70c51b]{display:grid;grid-template-columns:1fr auto;gap:.5rem}.branch-checkbox-row[data-v-bd70c51b]{display:flex;align-items:center;gap:.5rem;color:var(--text-primary)}.branch-checkbox-row code[data-v-bd70c51b]{color:var(--text-secondary)}.branch-dialog-hint[data-v-bd70c51b]{margin:-.25rem 0 0;color:var(--text-secondary);font-size:.8rem}.mobile-trigger-btns[data-v-bd70c51b]{display:none}@media(max-width:768px){.messages[data-v-bd70c51b]{padding:.75rem;overscroll-behavior-y:contain}.input-area[data-v-bd70c51b]{flex-wrap:wrap;padding:.75rem;gap:.5rem}.composer-shell[data-v-bd70c51b]{flex-basis:100%}.composer-hint[data-v-bd70c51b],.user-prompt-picker[data-v-bd70c51b]{display:none}.mobile-camera-btn[data-v-bd70c51b]{display:inline-flex}.composer-dictation-btn[data-v-bd70c51b]{display:none}.composer-skill-selector[data-v-bd70c51b],.composer-model-selector[data-v-bd70c51b],.composer-thinking-selector[data-v-bd70c51b],.composer-context[data-v-bd70c51b]{max-width:100%}.mobile-trigger-btns[data-v-bd70c51b]{display:flex;gap:.5rem;order:2}.trigger-btn[data-v-bd70c51b]{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:44px;height:40px;border-radius:var(--radius-md);background:var(--bg-surface);border:1px solid var(--border);color:var(--text-secondary);font-size:1.125rem;font-weight:600;font-family:SF Mono,Fira Code,Consolas,monospace;transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.trigger-btn[data-v-bd70c51b]:hover{background:var(--bg-elevated);color:var(--text-primary)}.trigger-btn[data-v-bd70c51b]:active{transform:scale(.95)}.trigger-btn-clear[data-v-bd70c51b]{display:none}.composer-actions[data-v-bd70c51b]{flex:1;order:3;flex-direction:row;gap:.5rem;min-width:0}.composer-actions>.stop-btn[data-v-bd70c51b]{order:initial}.send-btn[data-v-bd70c51b],.stop-btn[data-v-bd70c51b]{flex:1;min-height:40px;padding:.5rem .75rem}.floating-chat-controls[data-v-bd70c51b]{display:none}}.modal-backdrop[data-v-e1afd595]{position:fixed;inset:0;z-index:1000;display:flex;align-items:flex-start;justify-content:center;padding-top:10vh;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.search-modal[data-v-e1afd595]{width:min(640px,calc(100vw - 2rem));max-height:70vh;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-xl);display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--shadow-xl)}.search-header[data-v-e1afd595]{padding:1rem;border-bottom:1px solid var(--border)}.search-input-wrapper[data-v-e1afd595]{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:.75rem;transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out)}.search-input-wrapper[data-v-e1afd595]:focus-within{background:var(--bg-secondary);border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-muted)}.search-input-wrapper.result-focused[data-v-e1afd595]{background:var(--bg-primary);border-color:var(--border);box-shadow:none}.search-icon[data-v-e1afd595]{flex-shrink:0;color:var(--text-tertiary);transition:color var(--duration-fast) var(--ease-out)}.search-input-wrapper:focus-within .search-icon[data-v-e1afd595]{color:var(--accent)}.search-input-wrapper.result-focused .search-icon[data-v-e1afd595]{color:var(--text-tertiary)}.search-input[data-v-e1afd595]{flex:1;background:transparent;border:none;outline:none;font-size:1rem;color:var(--text-primary)}.search-input[data-v-e1afd595]:focus{box-shadow:none}.search-input[data-v-e1afd595]::placeholder{color:var(--text-secondary)}.shortcut-hint[data-v-e1afd595]{padding:.25rem .5rem;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.6875rem;font-family:monospace;color:var(--text-tertiary)}.search-close-btn[data-v-e1afd595]{display:inline-flex;flex:0 0 auto;width:32px;height:32px;align-items:center;justify-content:center;border-radius:var(--radius-sm);color:var(--text-secondary);font-size:1.5rem;line-height:1}.search-close-btn[data-v-e1afd595]:hover{background:var(--bg-surface);color:var(--text-primary)}.scope-toggle[data-v-e1afd595]{display:flex;gap:.25rem;padding:.25rem;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md)}.scope-toggle button[data-v-e1afd595]{flex:1;padding:.5rem;border:1px solid transparent;border-radius:var(--radius-sm);font-size:.8125rem;color:var(--text-secondary);transition:color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out)}.scope-toggle button.active[data-v-e1afd595]{background:var(--accent-muted);border-color:var(--accent);color:var(--accent);font-weight:600}.scope-toggle button[data-v-e1afd595]:hover:not(.active){color:var(--text-primary)}.search-results[data-v-e1afd595]{flex:1;min-height:0;overflow-y:auto;padding:1rem}.loading-state[data-v-e1afd595],.empty-state[data-v-e1afd595],.hint-state[data-v-e1afd595]{padding:2rem;text-align:center;color:var(--text-secondary);display:flex;flex-direction:column;align-items:center;gap:.75rem}.loading-spinner[data-v-e1afd595]{width:24px;height:24px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin-e1afd595 .8s linear infinite}@keyframes spin-e1afd595{to{transform:rotate(360deg)}}.results-count[data-v-e1afd595]{font-size:.8125rem;color:var(--text-tertiary);margin-bottom:.75rem}.results-list[data-v-e1afd595]{display:flex;flex-direction:column;gap:.5rem}.result-item[data-v-e1afd595]{padding:1rem;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;transition:background var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out)}.result-item[data-v-e1afd595]:hover,.result-item.focused[data-v-e1afd595]{border-color:var(--accent);background:var(--bg-surface)}.results-list.keyboard-navigation .result-item[data-v-e1afd595]:hover:not(.focused){border-color:var(--border);background:var(--bg-primary)}.result-header[data-v-e1afd595]{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.result-title[data-v-e1afd595]{font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.result-meta[data-v-e1afd595]{font-size:.75rem;color:var(--text-secondary);flex-shrink:0;margin-left:.75rem}.result-snippet[data-v-e1afd595]{font-size:.875rem;color:var(--text-secondary);line-height:1.5;margin-bottom:.5rem;overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}.result-snippet[data-v-e1afd595] mark{background:var(--accent-muted);color:var(--accent);padding:.125rem .25rem;border-radius:2px}.result-footer[data-v-e1afd595]{display:flex;gap:.75rem;font-size:.75rem;color:var(--text-secondary)}.result-path[data-v-e1afd595]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.result-date[data-v-e1afd595],.match-count[data-v-e1afd595]{flex-shrink:0}.load-more-btn[data-v-e1afd595]{width:100%;padding:.75rem;margin-top:.75rem;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);font-size:.875rem;font-weight:500;cursor:pointer;transition:background var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out)}.load-more-btn[data-v-e1afd595]:hover{background:var(--bg-elevated);border-color:var(--text-tertiary)}@media(max-width:768px){.modal-backdrop[data-v-e1afd595]{align-items:stretch;padding:max(.75rem,env(safe-area-inset-top)) .75rem max(.75rem,env(safe-area-inset-bottom))}.search-modal[data-v-e1afd595]{width:100%;max-height:none}.shortcut-hint[data-v-e1afd595]{display:none}}.modal-enter-active[data-v-e1afd595]{transition:opacity var(--duration-fast) var(--ease-out)}.modal-leave-active[data-v-e1afd595]{transition:opacity .1s var(--ease-out)}.modal-enter-from[data-v-e1afd595],.modal-leave-to[data-v-e1afd595]{opacity:0}.memory-toast[data-v-be58262f]{position:fixed;right:24px;bottom:24px;z-index:4200;width:min(380px,calc(100vw - 32px));padding:14px;color:var(--text-primary);background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 8%,transparent),transparent 42%),var(--bg-elevated);border:1px solid color-mix(in srgb,var(--accent) 26%,var(--border));border-radius:12px;box-shadow:var(--shadow-lg)}.memory-toast-header[data-v-be58262f],.memory-toast-title[data-v-be58262f],.memory-toast-actions[data-v-be58262f],.memory-toast-action[data-v-be58262f]{display:flex;align-items:center}.memory-toast-header[data-v-be58262f]{justify-content:space-between;gap:12px}.memory-toast-title[data-v-be58262f]{gap:8px;font-size:.8125rem;font-weight:700;letter-spacing:.01em}.memory-toast-icon[data-v-be58262f]{display:inline-flex;padding:5px;color:var(--accent);background:var(--accent-muted);border-radius:7px}.memory-toast-close[data-v-be58262f]{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;color:var(--text-tertiary);border-radius:7px}.memory-toast-close[data-v-be58262f]:hover{color:var(--text-primary);background:var(--bg-surface)}.memory-toast-counts[data-v-be58262f]{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}.memory-toast-counts p[data-v-be58262f]{margin:0;padding:9px 10px;color:var(--text-secondary);background:color-mix(in srgb,var(--bg-primary) 72%,transparent);border:1px solid var(--border);border-radius:8px;font-size:.75rem;line-height:1.35}.memory-toast-counts strong[data-v-be58262f]{display:block;margin-bottom:2px;color:var(--text-primary);font-size:1rem}.memory-toast-actions[data-v-be58262f]{justify-content:flex-end;gap:7px}.memory-toast-action[data-v-be58262f]{justify-content:center;gap:6px;min-height:32px;padding:0 11px;color:var(--text-secondary);border:1px solid var(--border);border-radius:8px;font-size:.75rem;font-weight:650}.memory-toast-action[data-v-be58262f]:hover{color:var(--text-primary);background:var(--bg-surface);border-color:color-mix(in srgb,var(--accent) 30%,var(--border))}.memory-toast-review[data-v-be58262f]{color:var(--accent);background:var(--accent-muted);border-color:color-mix(in srgb,var(--accent) 32%,var(--border))}.memory-toast button[data-v-be58262f]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.memory-toast-enter-active[data-v-be58262f],.memory-toast-leave-active[data-v-be58262f]{transition:opacity .16s var(--ease-out),transform .16s var(--ease-out)}.memory-toast-enter-from[data-v-be58262f],.memory-toast-leave-to[data-v-be58262f]{opacity:0;transform:translateY(8px)}@media(max-width:520px){.memory-toast[data-v-be58262f]{right:16px;bottom:16px}.memory-toast-counts[data-v-be58262f]{grid-template-columns:1fr}}.toast-host[data-v-eae0acb9]{position:fixed;top:calc(16px + var(--safe-top));right:max(16px,var(--safe-right));z-index:3000;display:flex;width:min(360px,calc(100vw - 32px - var(--safe-left) - var(--safe-right)));flex-direction:column;align-items:flex-end;gap:8px;pointer-events:none}@media(min-width:769px){.toast-host[data-v-eae0acb9]{top:16px;right:auto;left:50%;align-items:center;transform:translate(-50%)}}.app-toast[data-v-eae0acb9]{--toast-color: var(--accent);--toast-tint: var(--accent-muted);display:flex;align-items:center;box-sizing:border-box;width:fit-content;max-width:100%;gap:9px;min-height:42px;padding:7px 8px 7px 10px;border:1px solid color-mix(in srgb,var(--toast-color) 24%,var(--border));border-radius:var(--radius-lg);color:var(--text-primary);background:var(--bg-elevated);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);pointer-events:auto}.app-toast.success[data-v-eae0acb9]{--toast-color: var(--success);--toast-tint: var(--success-muted)}.app-toast.error[data-v-eae0acb9]{--toast-color: var(--error);--toast-tint: var(--error-muted)}.toast-icon[data-v-eae0acb9]{display:inline-flex;flex:none;align-items:center;justify-content:center;width:26px;height:26px;border-radius:7px;color:var(--toast-color);background:var(--toast-tint)}.toast-message[data-v-eae0acb9]{flex:1;font-size:.8125rem;font-weight:550;line-height:1.4;overflow-wrap:anywhere}.app-toast button[data-v-eae0acb9]{display:inline-flex;flex:none;align-items:center;justify-content:center;width:28px;height:28px;border:0;border-radius:7px;color:var(--text-tertiary);background:transparent;cursor:pointer;transition:color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out)}.app-toast button[data-v-eae0acb9]:hover{color:var(--text-primary);background:var(--bg-surface)}.app-toast button[data-v-eae0acb9]:focus-visible{outline:2px solid var(--toast-color);outline-offset:1px}.toast-enter-active[data-v-eae0acb9],.toast-leave-active[data-v-eae0acb9]{transition:opacity .16s ease,transform .16s ease}.toast-enter-from[data-v-eae0acb9],.toast-leave-to[data-v-eae0acb9]{opacity:0;transform:translateY(-8px)}.app-loading[data-v-ea070804]{min-height:100vh;display:grid;place-items:center;color:var(--text-secondary)}.app[data-v-ea070804]{display:flex;height:100vh;height:100dvh;width:100%;overflow:hidden}.app-utility-rail[data-v-ea070804]{flex:0 0 60px;width:60px;box-sizing:border-box;display:flex;flex-direction:column;align-items:flex-start;padding:10px 0 12px 12px;background:var(--bg-secondary);border-right:1px solid var(--border)}.sidebar-logo[data-v-ea070804]{position:relative;width:36px;padding:0;height:36px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border-radius:12px;background:linear-gradient(135deg,#6c8cff38,#4ade801a);box-shadow:inset 0 0 0 1px #ffffff14,0 6px 18px #0000003d}.sidebar-logo img[data-v-ea070804]{width:30px;height:30px;display:block;border-radius:10px}.connection-badge[data-v-ea070804]{position:absolute;right:2px;bottom:2px;width:9px;height:9px;border-radius:var(--radius-full);background:var(--error);box-shadow:0 0 0 2px var(--bg-secondary),0 0 0 3px #f8717147}.sidebar-logo.connected .connection-badge[data-v-ea070804]{background:var(--success);box-shadow:0 0 0 2px var(--bg-secondary),0 0 0 3px #4ade8047}.utility-rail-group[data-v-ea070804]{display:flex;flex-direction:column;gap:6px}.utility-rail-primary[data-v-ea070804]{margin-top:20px}.utility-rail-sessions[data-v-ea070804]{width:36px;min-height:0;margin-top:18px;padding-top:18px;display:flex;flex:1 1 auto;flex-direction:column;gap:6px;overflow-y:auto;border-top:1px solid var(--border);scrollbar-width:none}.utility-rail-sessions[data-v-ea070804]::-webkit-scrollbar{display:none}.utility-rail-session[data-v-ea070804]{position:relative;width:36px;height:36px;flex:0 0 36px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;color:var(--text-secondary);background:var(--bg-surface);font-size:.9375rem;font-weight:700;transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.utility-rail-session[data-v-ea070804]:hover{color:var(--text-primary);background:var(--bg-hover)}.utility-rail-session.active[data-v-ea070804]{color:var(--sidebar-selected-text);background:var(--sidebar-selected-bg)}.utility-session-status[data-v-ea070804]{position:absolute;right:2px;bottom:2px;width:7px;height:7px;border:2px solid var(--bg-secondary);border-radius:var(--radius-full)}.utility-session-status.streaming[data-v-ea070804]{right:0;bottom:0;width:10px;height:10px;background:var(--success)}.utility-session-status.ready[data-v-ea070804]{background:var(--warning)}.utility-rail-bottom[data-v-ea070804]{margin-top:auto;padding-top:18px;border-top:1px solid var(--border)}.utility-rail-btn[data-v-ea070804]{position:relative;width:36px;height:38px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);color:var(--text-secondary);transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out)}.utility-rail-btn[data-v-ea070804]:hover{background:var(--bg-surface);color:var(--text-primary)}.utility-rail-btn[data-v-ea070804]:active{transform:scale(.94)}.utility-rail-btn.active[data-v-ea070804]{background:var(--accent-muted);color:var(--accent)}.app-utility-rail .tooltip[data-v-ea070804]:after{top:50%;left:calc(100% + 8px);transform:translateY(-50%)}.sidebar-memory-btn.has-error[data-v-ea070804]{color:var(--warning)}.memory-pending-badge[data-v-ea070804]{position:absolute;top:-4px;right:-6px;min-width:17px;height:17px;padding:0 4px;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;border:2px solid var(--bg-secondary);border-radius:var(--radius-full);color:var(--bg-primary);background:var(--accent);font-size:.5625rem;font-weight:800;line-height:1}.memory-error-indicator[data-v-ea070804]{position:absolute;left:4px;bottom:4px;width:6px;height:6px;border:1px solid var(--bg-secondary);border-radius:var(--radius-full);background:var(--warning)}.header-actions .mobile-title-new-btn[data-v-ea070804]{display:none}.main[data-v-ea070804]{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden}.header[data-v-ea070804]{min-width:0;padding:0 1rem;height:56px;background:var(--bg-secondary);border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-shrink:0}.header-title[data-v-ea070804]{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:.265rem;overflow:hidden;white-space:nowrap}.finish-worktree-preview[data-v-ea070804]{text-align:left}.finish-worktree-preview p[data-v-ea070804]{margin:0 0 .875rem}.cleanup-list[data-v-ea070804]{display:flex;flex-direction:column;gap:.875rem;margin:0;padding-left:1.125rem}.cleanup-list li[data-v-ea070804]{display:flex;flex-direction:column;gap:.25rem}.cleanup-list code[data-v-ea070804]{display:block;padding:.375rem .5rem;border-radius:var(--radius-sm);background:var(--bg-primary);color:var(--text-primary);font-size:.75rem;line-height:1.35;word-break:break-all}.cleanup-list em[data-v-ea070804],.preview-error[data-v-ea070804]{color:var(--warning);font-style:normal}.session-title-text[data-v-ea070804],.session-title-input[data-v-ea070804]{box-sizing:border-box;width:100%;height:1.5rem;min-width:0;color:var(--text-primary);font-size:.875rem;font-weight:600;line-height:1.2}.session-title-text[data-v-ea070804]{overflow:hidden;line-height:1.5rem;text-overflow:ellipsis}.session-title-input[data-v-ea070804]{max-width:20rem;padding:.125rem .25rem;border:1px solid var(--accent);border-radius:var(--radius-sm);background:var(--bg-primary);outline:none}.header-metadata[data-v-ea070804]{width:100%;min-width:0;display:flex;align-items:center;gap:.625rem;overflow:hidden;color:var(--text-tertiary);font-size:.71875rem;line-height:1.15}.session-cwd[data-v-ea070804]{min-width:0;display:inline-flex;align-items:center;gap:.25rem;overflow:hidden;color:inherit;white-space:nowrap}.session-cwd>span[data-v-ea070804]{min-width:0;overflow:hidden;text-overflow:ellipsis}.session-cwd-switch[data-v-ea070804]{display:inline-flex;align-items:center;gap:.375rem;padding:.125rem .375rem;border:1px solid transparent;border-radius:var(--radius-full);background:transparent;cursor:pointer;font:inherit}.session-cwd-switch[data-v-ea070804]:hover{border-color:var(--border);background:var(--bg-hover);color:var(--text-secondary)}.session-cwd-switch-path[data-v-ea070804]{min-width:0;overflow:hidden;text-overflow:ellipsis}.session-cwd-switch-label[data-v-ea070804]{flex:0 0 auto;color:var(--accent);font-size:.6875rem;font-weight:600}.git-branch-pill[data-v-ea070804],.agent-pill[data-v-ea070804],.pull-request-pill[data-v-ea070804]{flex:0 1 auto;min-width:0;display:inline-flex;align-items:center;gap:.25rem;max-width:180px;color:var(--text-tertiary);font-weight:500;text-decoration:none}.git-branch-pill[data-v-ea070804]{color:var(--accent)}.agent-pill[data-v-ea070804]{color:#a78bfa}.pull-request-pill[data-v-ea070804]{color:#60a5fa;cursor:pointer}.pull-request-pill.merged[data-v-ea070804]{color:#c084fc}.git-branch-pill svg[data-v-ea070804],.agent-pill svg[data-v-ea070804],.pull-request-pill svg[data-v-ea070804]{flex:0 0 auto}.git-branch-pill span[data-v-ea070804],.agent-pill span[data-v-ea070804],.pull-request-pill span[data-v-ea070804]{min-width:0;overflow:hidden;text-overflow:ellipsis}.header-actions[data-v-ea070804]{flex:0 0 auto;display:flex;align-items:center;gap:.25rem}.mobile-actions-wrap[data-v-ea070804]{display:none;position:relative}.mobile-actions-menu[data-v-ea070804]{position:absolute;top:calc(100% + .5rem);right:0;z-index:1002;min-width:220px;padding:.375rem;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-secondary);box-shadow:var(--shadow-xl)}.mobile-action-item[data-v-ea070804]{width:100%;display:flex;align-items:center;gap:.75rem;padding:.75rem;border-radius:var(--radius-md);color:var(--text-secondary);font-size:.9375rem;text-align:left}.mobile-action-item[data-v-ea070804]:hover,.mobile-action-item.active[data-v-ea070804]{background:var(--bg-surface);color:var(--text-primary)}.mobile-action-item.danger[data-v-ea070804]{color:var(--error)}.mobile-action-item[data-v-ea070804]:disabled{opacity:.55}.mobile-actions-backdrop[data-v-ea070804]{display:none}.icon-btn[data-v-ea070804]{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-sm);color:var(--text-secondary);transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out)}.icon-btn[data-v-ea070804]:hover{background:var(--bg-surface);color:var(--text-primary)}.icon-btn[data-v-ea070804]:active{transform:scale(.92)}.icon-btn.active[data-v-ea070804]{background:var(--accent-muted);color:var(--accent)}.delete-btn[data-v-ea070804]:hover{background:var(--error-muted);color:var(--error)}.tooltip[data-v-ea070804]{position:relative}.tooltip[data-v-ea070804]:after{content:attr(data-tooltip);position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%);padding:4px 10px;background:var(--bg-elevated);color:var(--text-primary);font-size:.75rem;border-radius:var(--radius-sm);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--duration-fast) var(--ease-out);border:1px solid var(--border);z-index:100;box-shadow:var(--shadow-md)}.tooltip[data-v-ea070804]:hover:after{opacity:1}.mobile-task-close[data-v-ea070804],.mobile-hamburger[data-v-ea070804]{display:none;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-sm);color:var(--text-secondary);flex-shrink:0;transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.mobile-hamburger[data-v-ea070804]:hover{background:var(--bg-surface);color:var(--text-primary)}.mobile-sidebar-backdrop[data-v-ea070804]{display:none}@media(max-width:768px){.app-utility-rail[data-v-ea070804]{display:none}.mobile-task-close[data-v-ea070804],.mobile-hamburger[data-v-ea070804]{display:flex}.header-actions .mobile-title-new-btn[data-v-ea070804]{display:inline-flex}.header[data-v-ea070804]{height:calc(56px + var(--safe-top));padding:0 .75rem;padding-left:max(.75rem,var(--safe-left));padding-right:max(.75rem,var(--safe-right));padding-top:var(--safe-top)}.header-actions .icon-btn[data-v-ea070804]:not(.title-new-btn):not(.mobile-task-close):not(.mobile-actions-toggle){display:none}.mobile-actions-wrap[data-v-ea070804]{display:block}.mobile-actions-toggle[data-v-ea070804]{display:inline-flex}.mobile-actions-backdrop[data-v-ea070804]{display:block;position:fixed;inset:0;z-index:1001;background:transparent}.header-title[data-v-ea070804]{gap:.18rem}.header-metadata[data-v-ea070804]{gap:.375rem}.session-cwd-switch-label[data-v-ea070804]{display:none}[data-v-ea070804] .session-sidebar{position:fixed!important;top:0;left:0;width:85vw!important;max-width:320px!important;height:100vh!important;height:100dvh!important;z-index:1000;transform:translate(-100%);transition:transform var(--duration-slow) var(--ease-out);border-right:1px solid var(--border)}[data-v-ea070804] .session-sidebar.mobile-open{transform:translate(0)}[data-v-ea070804] .session-sidebar .sidebar-resize-handle{display:none}.mobile-sidebar-backdrop[data-v-ea070804]{display:block;position:fixed;inset:0;background:#00000080;z-index:999;-webkit-tap-highlight-color:transparent}[data-v-ea070804] .terminal-panel{position:fixed!important;inset:0;width:100%!important;height:100%!important;border-radius:0!important;border:none!important;z-index:1100!important}[data-v-ea070804] .terminal-panel .resize-handle{display:none!important}[data-v-ea070804] .task-inbox-panel,[data-v-ea070804] .editor-panel{position:fixed!important;inset:0;width:100vw!important;height:100vh!important;height:100dvh!important;border-radius:0!important;border:none!important;z-index:1100!important}[data-v-ea070804] .editor-panel .editor-resize-handle{display:none!important}[data-v-ea070804] .chat-panel .input-area{flex-wrap:wrap;padding:.75rem;padding-left:max(.75rem,var(--safe-left));padding-right:max(.75rem,var(--safe-right));padding-bottom:max(.75rem,var(--safe-bottom))}[data-v-ea070804] .chat-panel .composer-actions{flex:1;min-width:0}[data-v-ea070804] .chat-panel .send-btn,[data-v-ea070804] .chat-panel .stop-btn{flex:1;min-height:40px}[data-v-ea070804] .icon-btn{min-width:32px;min-height:32px}}@font-face{font-family:Pi Terminal Nerd Font;src:url(/assets/MesloLGMNerdFontMono-Regular-COOxA6qy.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}*{margin:0;padding:0;box-sizing:border-box;scrollbar-width:thin;scrollbar-color:var(--border) var(--bg-secondary)}*::-webkit-scrollbar{width:6px;height:6px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:var(--border);border-radius:999px}*::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}:root{color-scheme:dark;--bg-primary: #0f0f14;--bg-secondary: #16161e;--bg-surface: #1e1e28;--bg-elevated: #262632;--bg-tertiary: #2a2a3e;--bg-hover: #333344;--text-primary: #e4e4ef;--text-secondary: #8b8ba0;--text-tertiary: #5c5c72;--accent: #6c8cff;--accent-hover: #8ba4ff;--accent-muted: rgba(108, 140, 255, .12);--user-message-bg: #3656bd;--user-message-text: #cabdbd;--user-message-border: rgba(139, 164, 255, .22);--user-message-shadow: 0 10px 28px rgba(8, 12, 24, .28);--user-message-link: #79c0ff;--user-message-link-hover: #a5d6ff;--user-message-link-underline: rgba(121, 192, 255, .35);--sidebar-selected-bg: #324fba;--sidebar-selected-text: #f8fbff;--sidebar-selected-muted: rgba(248, 251, 255, .78);--sidebar-selected-border: rgba(139, 164, 255, .24);--sidebar-selected-shadow: 0 8px 20px rgba(8, 12, 24, .24);--border: #2a2a38;--border-subtle: #22222e;--success: #4ade80;--success-muted: rgba(74, 222, 128, .12);--warning: #fbbf24;--warning-muted: rgba(251, 191, 36, .12);--error: #f87171;--error-muted: rgba(248, 113, 113, .12);--info: #3b82f6;--danger: #ef4444;--thinking-text: #8b8ba0;--thinking-border: #2a2a38;--markdown-accent: #79c0ff;--markdown-accent-hover: #a5d6ff;--markdown-strong: #f0f6fc;--markdown-inline-code-text: #79c0ff;--markdown-quote-border: #30363d;--markdown-quote-bg: rgba(48, 54, 61, .24);--markdown-table-border: rgba(139, 148, 158, .28);--markdown-table-header-bg: rgba(48, 54, 61, .42);--markdown-table-row-bg: rgba(48, 54, 61, .16);--code-text: #e6edf3;--syntax-keyword: #ff7b72;--syntax-string: #a5d6ff;--syntax-comment: #8b949e;--syntax-title: #d2a8ff;--syntax-attr: #79c0ff;--syntax-number: #79c0ff;--syntax-built-in: #ffa657;--diff-added-bg: rgba(46, 160, 67, .2);--diff-added-text: #aff5b4;--diff-removed-bg: rgba(248, 81, 73, .18);--diff-removed-text: #ffdcd7;--diff-hunk-bg: rgba(56, 139, 253, .16);--diff-hunk-text: #a5d6ff;--diff-meta-text: #8b949e;--diff-empty-bg: #161b22;--git-added: #3fb950;--git-modified: #d29922;--git-deleted: #f85149;--login-shell-bg: radial-gradient(circle at 50% 28%, rgba(108, 140, 255, .18), transparent 34rem), radial-gradient(circle at 12% 18%, rgba(74, 222, 128, .08), transparent 24rem), linear-gradient(180deg, var(--bg-primary), #0b0b10 72%);--login-card-bg: linear-gradient(180deg, rgba(30, 30, 40, .92), rgba(22, 22, 30, .96));--login-card-border: rgba(255, 255, 255, .08);--login-card-shadow: 0 24px 80px rgba(0, 0, 0, .42), inset 0 1px 0 rgba(255, 255, 255, .04);--login-input-bg: rgba(15, 15, 20, .58);--login-error-text: #fecaca;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .25);--shadow-md: 0 4px 12px rgba(0, 0, 0, .3);--shadow-lg: 0 12px 40px rgba(0, 0, 0, .4);--shadow-xl: 0 24px 80px rgba(0, 0, 0, .5);--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--duration-fast: .12s;--duration-normal: .18s;--duration-slow: .28s;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--safe-right: env(safe-area-inset-right, 0px)}[data-theme=dark]{color-scheme:dark}[data-theme=light]{color-scheme:light;--bg-primary: #ffffff;--bg-secondary: #f5f5f7;--bg-surface: #ffffff;--bg-elevated: #f0f0f2;--bg-tertiary: #e8e8ee;--bg-hover: #e4e6ef;--text-primary: #1a1a2e;--text-secondary: #6b6b80;--text-tertiary: #9b9baa;--accent: #4a6cf7;--accent-hover: #3b5de6;--accent-muted: rgba(74, 108, 247, .1);--user-message-bg: #3f63e8;--user-message-text: #ffffff;--user-message-border: rgba(35, 80, 210, .18);--user-message-shadow: 0 8px 22px rgba(35, 80, 210, .16);--user-message-link: #ffffff;--user-message-link-hover: #fef3c7;--user-message-link-underline: rgba(255, 255, 255, .72);--sidebar-selected-bg: #4165e6;--sidebar-selected-text: #ffffff;--sidebar-selected-muted: rgba(255, 255, 255, .82);--sidebar-selected-border: rgba(35, 80, 210, .2);--sidebar-selected-shadow: 0 7px 18px rgba(35, 80, 210, .14);--border: #e0e0e6;--border-subtle: #ebebef;--success: #15803d;--success-muted: rgba(21, 128, 61, .1);--warning: #b45309;--warning-muted: rgba(180, 83, 9, .12);--error: #dc2626;--error-muted: rgba(220, 38, 38, .1);--info: #2563eb;--danger: #dc2626;--thinking-text: #6b6b80;--thinking-border: #e0e0e6;--markdown-accent: #0969da;--markdown-accent-hover: #0550ae;--markdown-strong: #24292f;--markdown-inline-code-text: #0969da;--markdown-quote-border: #d0d7de;--markdown-quote-bg: rgba(208, 215, 222, .28);--markdown-table-border: rgba(31, 35, 40, .18);--markdown-table-header-bg: rgba(234, 238, 242, .72);--markdown-table-row-bg: rgba(246, 248, 250, .72);--code-text: #24292f;--syntax-keyword: #cf222e;--syntax-string: #0a3069;--syntax-comment: #6e7781;--syntax-title: #8250df;--syntax-attr: #0550ae;--syntax-number: #0550ae;--syntax-built-in: #953800;--diff-added-bg: #dafbe1;--diff-added-text: #1f2328;--diff-removed-bg: #ffebe9;--diff-removed-text: #1f2328;--diff-hunk-bg: #ddf4ff;--diff-hunk-text: #0969da;--diff-meta-text: #57606a;--diff-empty-bg: #f6f8fa;--git-added: #1f883d;--git-modified: #9a6700;--git-deleted: #cf222e;--login-shell-bg: radial-gradient(circle at 50% 28%, rgba(74, 108, 247, .14), transparent 34rem), radial-gradient(circle at 12% 18%, rgba(21, 128, 61, .08), transparent 24rem), linear-gradient(180deg, #ffffff, #f5f5f7 72%);--login-card-bg: linear-gradient(180deg, rgba(255, 255, 255, .92), rgba(245, 245, 247, .96));--login-card-border: rgba(26, 26, 46, .1);--login-card-shadow: 0 24px 80px rgba(26, 26, 46, .14), inset 0 1px 0 rgba(255, 255, 255, .72);--login-input-bg: rgba(255, 255, 255, .72);--login-error-text: #991b1b;--shadow-sm: 0 1px 2px rgba(26, 26, 46, .08);--shadow-md: 0 4px 12px rgba(26, 26, 46, .12);--shadow-lg: 0 12px 40px rgba(26, 26, 46, .14);--shadow-xl: 0 24px 80px rgba(26, 26, 46, .18)}html{height:100%;overflow:hidden;overscroll-behavior:none}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;background-color:var(--bg-primary);color:var(--text-primary);height:100vh;height:100dvh;overflow:hidden;overscroll-behavior:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media(hover:none),(pointer:coarse){.tooltip:before,.tooltip:after,.session-tooltip,.editor-tab-tooltip{display:none!important;content:none!important;opacity:0!important}}#app{height:100vh;height:100dvh;display:flex}button{cursor:pointer;border:none;background:none;color:inherit;font:inherit}button:active{transform:scale(.98)}.dialog-action,.settings-action-btn{box-sizing:border-box;min-height:36px;padding:.5rem .875rem;border-radius:var(--radius-md);font-size:.875rem;line-height:1.25;font-weight:600}.compact-action{min-height:32px;padding:.375rem .75rem;font-size:.8125rem}input,textarea{font:inherit;color:inherit;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:8px 12px;transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}input:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-muted)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important}button:active{transform:none!important}.modal-enter-active,.modal-leave-active,.settings-modal-enter-active,.settings-modal-leave-active,.memory-center-enter-active,.memory-center-leave-active,.memory-toast-enter-active,.memory-toast-leave-active{transition:opacity .12s var(--ease-out)!important}.modal-enter-active>*,.modal-leave-active>*,.settings-modal-enter-active>*,.settings-modal-leave-active>*,.memory-center-enter-active .memory-center-dialog,.memory-center-leave-active .memory-center-dialog,.memory-toast{transition:opacity .12s var(--ease-out)!important;transform:none!important}.session-sidebar,.live-indicator,.memory-spinner,.loading-spinner,.streaming-spinner-dot{animation:none!important;transform:none!important}.tooltip:after,.session-tooltip{transition:opacity .12s var(--ease-out)!important;transform:none!important}}