cc-viewer 1.6.329 → 1.6.331

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 (60) hide show
  1. package/README.md +7 -8
  2. package/cli.js +6 -6
  3. package/concepts/ar/GlobalSettings.md +5 -2
  4. package/concepts/ar/ProxySwitch.md +15 -5
  5. package/concepts/da/GlobalSettings.md +5 -2
  6. package/concepts/da/ProxySwitch.md +15 -5
  7. package/concepts/de/GlobalSettings.md +5 -2
  8. package/concepts/de/ProxySwitch.md +15 -5
  9. package/concepts/en/GlobalSettings.md +7 -2
  10. package/concepts/en/ProxySwitch.md +15 -5
  11. package/concepts/es/GlobalSettings.md +5 -2
  12. package/concepts/es/ProxySwitch.md +15 -5
  13. package/concepts/fr/GlobalSettings.md +5 -2
  14. package/concepts/fr/ProxySwitch.md +15 -5
  15. package/concepts/it/GlobalSettings.md +5 -2
  16. package/concepts/it/ProxySwitch.md +15 -5
  17. package/concepts/ja/GlobalSettings.md +5 -2
  18. package/concepts/ja/ProxySwitch.md +15 -5
  19. package/concepts/ko/GlobalSettings.md +5 -2
  20. package/concepts/ko/ProxySwitch.md +15 -5
  21. package/concepts/no/GlobalSettings.md +5 -2
  22. package/concepts/no/ProxySwitch.md +15 -5
  23. package/concepts/pl/GlobalSettings.md +5 -2
  24. package/concepts/pl/ProxySwitch.md +15 -5
  25. package/concepts/pt-BR/GlobalSettings.md +5 -2
  26. package/concepts/pt-BR/ProxySwitch.md +34 -24
  27. package/concepts/ru/GlobalSettings.md +5 -2
  28. package/concepts/ru/ProxySwitch.md +15 -5
  29. package/concepts/th/GlobalSettings.md +5 -2
  30. package/concepts/th/ProxySwitch.md +15 -5
  31. package/concepts/tr/GlobalSettings.md +5 -2
  32. package/concepts/tr/ProxySwitch.md +34 -24
  33. package/concepts/uk/GlobalSettings.md +5 -2
  34. package/concepts/uk/ProxySwitch.md +15 -5
  35. package/concepts/zh/GlobalSettings.md +5 -2
  36. package/concepts/zh/ProxySwitch.md +15 -5
  37. package/concepts/zh-TW/GlobalSettings.md +7 -4
  38. package/concepts/zh-TW/ProxySwitch.md +15 -5
  39. package/dist/assets/App-Bla1Fr_X.css +1 -0
  40. package/dist/assets/{App-zGAU2EYM.js → App-CCQARuiH.js} +1 -1
  41. package/dist/assets/{MdxEditorPanel-5Pb0ZTc6.js → MdxEditorPanel-BjJTwpmV.js} +1 -1
  42. package/dist/assets/{Mobile-BYT_A8TX.js → Mobile-BsJPIcqy.js} +1 -1
  43. package/dist/assets/index-ReSZCrNR.js +2 -0
  44. package/dist/assets/seqResourceLoaders-K-REW6io.js +2 -0
  45. package/dist/assets/{seqResourceLoaders-BFMsIN74.css → seqResourceLoaders-P_ytfji6.css} +1 -1
  46. package/dist/index.html +1 -1
  47. package/dist/voice-packs/default/pack.json +1 -1
  48. package/findcc.js +50 -40
  49. package/interceptor.js +1 -1
  50. package/package.json +8 -4
  51. package/plugins/README.md +8 -0
  52. package/server/_paths.js +24 -22
  53. package/server/interceptor.js +39 -25
  54. package/server/lib/interceptor-core.js +107 -0
  55. package/server/routes/preferences.js +14 -1
  56. package/server.js +1 -0
  57. package/ultraAgents/README.md +49 -40
  58. package/dist/assets/App-j3FcuV1C.css +0 -1
  59. package/dist/assets/index-DENLOp7J.js +0 -2
  60. package/dist/assets/seqResourceLoaders-C7QiLG9L.js +0 -2
@@ -38,4 +38,4 @@
38
38
 
39
39
  Outdated base version: https://github.com/primer/github-syntax-dark
40
40
  Current colors taken from GitHub's CSS
41
- */.hljs{color:#c9d1d9;background:#0d1117}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#ff7b72}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#d2a8ff}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-variable,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id{color:#79c0ff}.hljs-regexp,.hljs-string,.hljs-meta .hljs-string{color:#a5d6ff}.hljs-built_in,.hljs-symbol{color:#ffa657}.hljs-comment,.hljs-code,.hljs-formula{color:#8b949e}.hljs-name,.hljs-quote,.hljs-selector-tag,.hljs-selector-pseudo{color:#7ee787}.hljs-subst{color:#c9d1d9}.hljs-section{color:#1f6feb;font-weight:700}.hljs-bullet{color:#f2cc60}.hljs-emphasis{color:#c9d1d9;font-style:italic}.hljs-strong{color:#c9d1d9;font-weight:700}.hljs-addition{color:#aff5b4;background-color:#033a16}.hljs-deletion{color:#ffdcd7;background-color:#67060c}._fullFileDiffView_1o8kb_1{width:100%;height:100%;display:flex;flex-direction:column;background:var(--bg-base-alt);overflow:hidden;-webkit-text-size-adjust:100%;text-size-adjust:100%}._diffSummary_1o8kb_12{padding:8px 16px;background:var(--bg-container);border-bottom:1px solid var(--border-primary);display:flex;gap:8px;align-items:center;flex-shrink:0}._addedBadge_1o8kb_22{padding:2px 8px;background:var(--color-diff-add-bg);border:1px solid var(--color-diff-add-bg);border-radius:4px;font-size:11px;font-weight:600;color:var(--color-diff-add);font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,Courier New,monospace}._deletedBadge_1o8kb_33{padding:2px 8px;background:var(--color-error-bg-light);border:1px solid var(--color-error-bg-medium);border-radius:4px;font-size:11px;font-weight:600;color:var(--color-error);font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,Courier New,monospace}._codeContainer_1o8kb_44{flex:1;overflow:hidden;display:flex;min-height:0;font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,Courier New,monospace;font-size:12px;line-height:1.6}._lineNumberCol_1o8kb_54{flex-shrink:0;overflow:hidden;background:var(--bg-base-alt);border-right:1px solid var(--border-primary);-webkit-user-select:none;user-select:none}._lineNumRow_1o8kb_62{display:flex;min-height:20px}._oldLineNum_1o8kb_67,._newLineNum_1o8kb_68{display:inline-block;width:40px;text-align:right;padding:0 6px;font-size:12px;box-sizing:border-box}._lineNumNormal_1o8kb_77 ._oldLineNum_1o8kb_67,._lineNumNormal_1o8kb_77 ._newLineNum_1o8kb_68{color:var(--text-disabled)}._lineNumAdd_1o8kb_82{border-right:3px solid var(--color-diff-add)}._lineNumAdd_1o8kb_82 ._oldLineNum_1o8kb_67{color:var(--text-disabled)}._lineNumAdd_1o8kb_82 ._newLineNum_1o8kb_68{color:var(--color-diff-add);font-weight:600}._lineNumDelete_1o8kb_95{border-right:3px solid var(--color-error)}._lineNumDelete_1o8kb_95 ._oldLineNum_1o8kb_67{color:var(--color-error);font-weight:600}._lineNumDelete_1o8kb_95 ._newLineNum_1o8kb_68{color:var(--text-disabled)}._codeColWrap_1o8kb_108{flex:1;position:relative;min-width:0;overflow:hidden}._codeCol_1o8kb_108{width:100%;height:100%;overflow:auto;min-width:0}._codeInner_1o8kb_122{width:fit-content;min-width:100%}._codeLine_1o8kb_127{position:relative;min-height:20px;display:flex;transition:background .1s}._codeLine_1o8kb_127:hover{background:var(--overlay-light-faint)}._linePrefix_1o8kb_138{display:inline-block;width:16px;text-align:center;color:var(--text-tertiary);flex-shrink:0;-webkit-user-select:none;user-select:none}._lineContent_1o8kb_147{padding-right:16px;color:var(--text-secondary);white-space:pre}._lineNormal_1o8kb_153{background:#0000}._lineAdd_1o8kb_157{background:var(--color-diff-add-bg)}._lineAdd_1o8kb_157 ._linePrefix_1o8kb_138{color:var(--color-diff-add)}._lineDelete_1o8kb_165{background:var(--color-error-bg-faint)}._lineDelete_1o8kb_165 ._linePrefix_1o8kb_138{color:var(--color-error)}._lineDelete_1o8kb_165 ._lineContent_1o8kb_147{text-decoration:line-through;opacity:.8}._miniMap_1ho3j_1{position:absolute;top:0;right:0;width:10px;height:100%;cursor:pointer;z-index:10}._marker_1ho3j_11{position:absolute;left:0;width:100%;border-radius:1px;pointer-events:none}._gitDiffView_ypk84_1{flex:1;display:flex;flex-direction:column;background:var(--bg-base-alt);overflow:hidden;animation:_slideInFromRight_ypk84_1 .25s ease-out}@keyframes _slideInFromRight_ypk84_1{0%{transform:translate(-40px);opacity:0}to{transform:translate(0);opacity:1}}._closing_ypk84_21{animation:_slideOutToRight_ypk84_1 .2s ease-in forwards}@keyframes _slideOutToRight_ypk84_1{0%{transform:translate(0);opacity:1}to{transform:translate(-40px);opacity:0}}._header_ypk84_36{display:flex;align-items:center;justify-content:space-between;padding:6px 16px;border-bottom:1px solid var(--border-primary);background:var(--bg-container);flex-shrink:0}._headerLeft_ypk84_46{display:flex;align-items:center;gap:12px;flex:1;min-width:0}._backBtn_ypk84_54{width:28px;height:28px;border:none;background:none;color:var(--text-tertiary);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:4px;padding:0;flex-shrink:0;transition:all .15s}._backBtn_ypk84_54:hover{color:var(--text-secondary);background:var(--bg-surface)}._filePath_ypk84_75{font-size:13px;color:var(--text-secondary);font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,Courier New,monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;transition:color .15s}._filePath_ypk84_75:hover{color:var(--color-info-light);text-decoration:underline}._diffBadge_ypk84_91{padding:2px 8px;background:var(--bg-surface);border:1px solid var(--border-light);border-radius:4px;font-size:10px;font-weight:600;color:var(--color-accent-yellow);letter-spacing:.5px;flex-shrink:0}._headerRight_ypk84_103{display:flex;align-items:center;flex-shrink:0}._closeBtn_ypk84_109{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;background:transparent;color:var(--text-tertiary);border-radius:6px;cursor:pointer;transition:background .15s,color .15s}._closeBtn_ypk84_109:hover{background:var(--overlay-light-medium);color:var(--text-primary)}._contentContainer_ypk84_129{flex:1;overflow:auto;position:relative}._loading_ypk84_135{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-tertiary);font-size:13px}._error_ypk84_144{display:flex;align-items:center;justify-content:center;height:100%;color:var(--color-error-light);font-size:13px;padding:20px;text-align:center}._binaryNotice_ypk84_155{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-tertiary);font-size:13px;font-style:italic;padding:20px;text-align:center}._largeFileWarning_ypk84_167{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--color-accent-yellow);font-size:13px;padding:20px;text-align:center;gap:8px}._fileSize_ypk84_180{color:var(--text-tertiary);font-size:12px;margin:0}._imagePreviewWrap_ypk84_186{display:flex;align-items:center;justify-content:center;height:100%;padding:20px}._imagePreview_ypk84_186{max-width:100%;max-height:100%;object-fit:contain;border-radius:4px;cursor:zoom-in;transition:opacity .2s}._imagePreview_ypk84_186:hover{opacity:.85}._panel_sccpn_1{position:absolute;bottom:100%;margin-bottom:8px;left:16px;right:16px;z-index:99999;background:var(--bg-elevated);border:none;border-radius:12px;padding:12px 16px;box-shadow:0 4px 32px var(--shadow-approval-heavy),0 0 12px var(--shadow-approval-glow);animation:_slideUp_sccpn_1 .2s ease-out}._panelGlobal_sccpn_20{position:fixed;bottom:max(calc(var(--chat-input-bar-height, 200px) + 12px),56px);left:10px;right:10px;z-index:99999;background:var(--bg-elevated);border:none;border-radius:12px;padding:10px 14px;box-shadow:0 4px 32px var(--shadow-approval-heavy),0 0 12px var(--shadow-approval-glow);animation:_slideUp_sccpn_1 .2s ease-out;font-size:80%}._panelGlobal_sccpn_20 ._toolName_sccpn_43{font-size:14px}._panelGlobal_sccpn_20 ._command_sccpn_47{font-size:12px;max-height:80px;padding:6px 10px}._panelGlobal_sccpn_20 ._allowBtn_sccpn_53,._panelGlobal_sccpn_20 ._allowSessionBtn_sccpn_54,._panelGlobal_sccpn_20 ._denyBtn_sccpn_55{padding:7px 18px;font-size:14px}._borderSvg_sccpn_60{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;overflow:visible}._borderSvgInset_sccpn_69{overflow:hidden}._borderRect_sccpn_73{animation:_dashRotate_sccpn_1 4s linear infinite}@keyframes _dashRotate_sccpn_1{0%{stroke-dashoffset:0}to{stroke-dashoffset:-100}}@keyframes _slideUp_sccpn_1{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes _slideDown_sccpn_1{0%{transform:translateY(0);opacity:1}to{transform:translateY(100%);opacity:0}}._exiting_sccpn_92{animation:_slideDown_sccpn_1 .2s ease-in forwards}._header_sccpn_96{display:flex;align-items:center;gap:8px;margin-bottom:8px}._toolName_sccpn_43{color:var(--text-primary);font-weight:600;font-size:13px;font-family:SF Mono,Menlo,Monaco,Consolas,monospace}._label_sccpn_110{color:var(--color-approval-label);font-size:12px;font-weight:500;margin-left:auto}._subAgentBadge_sccpn_117{display:inline-block;padding:1px 6px;border-radius:4px;background:var(--color-primary-bg-light);color:var(--color-primary-light);font-size:11px;font-weight:500;letter-spacing:.02em}._body_sccpn_128{margin-bottom:12px}._command_sccpn_47{background:var(--bg-container-alt);border:1px solid var(--border-primary);border-radius:6px;padding:8px 12px;color:var(--text-secondary);font-size:12px;font-family:SF Mono,Menlo,Monaco,Consolas,monospace;line-height:1.5;max-height:120px;overflow-y:auto;white-space:pre-wrap;word-break:break-all;margin:0}._detail_sccpn_148{margin-top:6px;color:var(--text-tertiary);font-size:11px;font-family:SF Mono,Menlo,Monaco,Consolas,monospace;white-space:pre-wrap;word-break:break-all;max-height:40px;overflow:hidden}._actions_sccpn_159{display:flex;align-items:center;gap:8px}._autoApproveBtn_sccpn_165{margin-right:auto;padding:4px 10px;border-radius:4px;border:1px solid var(--border-light);background:transparent;color:var(--text-muted);font-size:11px;cursor:pointer;transition:color .15s,border-color .15s;white-space:nowrap}._autoApproveBtn_sccpn_165:hover{color:var(--text-secondary);border-color:var(--text-muted)}._autoApproveActive_sccpn_183{color:var(--color-success);border-color:var(--color-success)}._autoApproveActive_sccpn_183:hover{color:var(--color-success-light);border-color:var(--color-success-light)}._allowBtn_sccpn_53{padding:6px 20px;border-radius:6px;border:1px solid var(--color-success);background:var(--color-success-bg-light);color:var(--color-success);font-size:13px;font-weight:500;cursor:pointer;transition:background .15s}._allowBtn_sccpn_53:hover{background:var(--color-success-bg-medium)}._allowSessionBtn_sccpn_54{padding:6px 16px;border-radius:6px;border:1px solid var(--color-primary-light);background:var(--color-primary-bg-light);color:var(--color-primary-light);font-size:12px;font-weight:500;cursor:pointer;transition:background .15s}._allowSessionBtn_sccpn_54:hover{background:var(--color-primary-bg-medium)}._denyBtn_sccpn_55{padding:6px 20px;border-radius:6px;border:1px solid var(--color-error);background:var(--color-error-bg-light);color:var(--color-error);font-size:13px;font-weight:500;cursor:pointer;transition:background .15s}._denyBtn_sccpn_55:hover{background:var(--color-error-bg-medium)}._allowBtn_sccpn_53:focus-visible,._allowSessionBtn_sccpn_54:focus-visible,._denyBtn_sccpn_55:focus-visible{outline:2px solid currentColor;outline-offset:2px}@media(max-width:768px){._panel_sccpn_1{right:10px;left:10px;border-radius:12px;padding:16px 20px}._toolName_sccpn_43{font-size:18px}._command_sccpn_47{font-size:16px;max-height:160px}._allowBtn_sccpn_53,._allowSessionBtn_sccpn_54,._denyBtn_sccpn_55{padding:10px 28px;font-size:18px}}html.pad-mode ._panel_sccpn_1{right:16px;left:16px;padding:12px 16px;z-index:99999}html.pad-mode ._toolName_sccpn_43{font-size:13px}html.pad-mode ._command_sccpn_47{font-size:12px;max-height:120px}html.pad-mode ._allowBtn_sccpn_53,html.pad-mode ._allowSessionBtn_sccpn_54,html.pad-mode ._denyBtn_sccpn_55{padding:6px 20px;font-size:13px}html.pad-mode ._panelGlobal_sccpn_20{font-size:90%}html.pad-mode ._panelGlobal_sccpn_20 ._toolName_sccpn_43{font-size:14px}html.pad-mode ._panelGlobal_sccpn_20 ._command_sccpn_47{font-size:13px;max-height:100px}html.pad-mode ._panelGlobal_sccpn_20 ._allowBtn_sccpn_53,html.pad-mode ._panelGlobal_sccpn_20 ._allowSessionBtn_sccpn_54,html.pad-mode ._panelGlobal_sccpn_20 ._denyBtn_sccpn_55{padding:8px 22px;font-size:14px}._teamActiveSpinner_jsskf_1{position:absolute;bottom:4px;right:4px;width:10px;height:10px;border:2px solid var(--overlay-light-medium);border-top-color:var(--color-warning);border-radius:50%;animation:_teamSpin_jsskf_1 .8s linear infinite}@keyframes _teamSpin_jsskf_1{to{transform:rotate(360deg)}}._teamPopover_jsskf_17{min-width:200px;max-width:320px;padding:8px 0}._teamPopoverTitle_jsskf_23{font-size:13px;font-weight:600;color:var(--text-primary);padding:4px 12px 8px;border-bottom:1px solid var(--border-primary)}._teamPopoverItem_jsskf_31{display:flex;align-items:center;padding:6px 12px;cursor:pointer;transition:background .15s;font-size:12px;color:var(--text-secondary)}._teamPopoverItem_jsskf_31:hover{background:var(--bg-elevated)}._teamPopoverName_jsskf_45{flex:1;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._teamPopoverMeta_jsskf_53{color:var(--text-muted);font-size:11px;margin:0 8px;flex-shrink:0}._teamPopoverTime_jsskf_60{color:var(--text-disabled);font-size:11px;flex-shrink:0}._teamModalBody_jsskf_66{flex:1;min-width:0;overflow-y:auto;padding:16px 24px;display:flex;flex-direction:column;gap:4px}._teamGanttToggle_jsskf_76{cursor:pointer;padding:8px 16px;font-size:12px;color:var(--text-tertiary);-webkit-user-select:none;user-select:none;border-bottom:1px solid var(--border-primary);transition:color .15s}._teamGanttToggle_jsskf_76:hover{color:var(--text-secondary)}._ganttExportBtn_jsskf_90{display:inline-flex;align-items:center;margin-left:8px;padding:2px 4px;color:var(--text-muted);cursor:pointer;border-radius:3px;transition:color .15s,background .15s}._ganttExportBtn_jsskf_90:hover{color:var(--text-secondary);background:var(--bg-surface)}._teamGanttWrap_jsskf_106{--gantt-label-width: 110px;padding:8px 16px 4px;position:relative;max-height:120px;overflow-y:auto;flex-shrink:0}._teamGanttResizer_jsskf_115{height:5px;cursor:ns-resize;background:#0000;border-bottom:1px solid var(--border-primary);flex-shrink:0;transition:background .15s}._teamGanttResizer_jsskf_115:hover{background:var(--border-secondary)}._teamGanttRow_jsskf_128{display:flex;align-items:center;height:22px;margin-bottom:3px}._teamGanttLabel_jsskf_135{width:calc(var(--gantt-label-width) - 10px);font-size:11px;color:var(--text-tertiary);text-align:right;padding-right:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:0}._teamGanttTrack_jsskf_147{flex:1;height:14px;background:var(--bg-container);border-radius:3px;position:relative;overflow:hidden}._teamGanttBar_jsskf_156{position:absolute;height:100%;border-radius:3px;min-width:4px;top:0}._teamGanttDiamond_jsskf_164{position:absolute;top:50%;transform:translate(-50%,-50%);font-size:12px;line-height:1;z-index:2;pointer-events:auto;cursor:default;filter:drop-shadow(0 0 2px var(--overlay-dark-strong));transition:transform .15s}._teamGanttDiamond_jsskf_164:hover{transform:translate(-50%,-50%) scale(1.4)}._teamGanttArrows_jsskf_181{position:absolute;top:0;left:var(--gantt-label-width);right:0;width:calc(100% - var(--gantt-label-width));pointer-events:none;z-index:5}._teamGanttIndicator_jsskf_191{position:absolute;top:0;bottom:0;width:2px;background:var(--color-primary-pale);z-index:10;pointer-events:none;box-shadow:0 0 6px var(--color-primary-pale-shadow);transition:left .15s ease-out}._teamModalLayout_jsskf_203{display:flex;height:100%}._teamAgentCards_jsskf_208{width:160px;flex-shrink:0;border-right:1px solid var(--border-primary);overflow-y:auto;background:var(--bg-base-alt);padding:8px}._teamAgentCard_jsskf_208{padding:8px;border-radius:0;margin-bottom:6px;border-left:3px solid var(--border-secondary);background:var(--bg-container);transition:background .15s}._teamAgentCard_jsskf_208:hover,._teamAgentCard_jsskf_208._teamAgentCardActive_jsskf_232{background:var(--bg-elevated)}._teamAgentCardHeader_jsskf_236{display:flex;align-items:center;gap:6px}._teamAgentAvatar_jsskf_242{width:20px;height:20px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;overflow:hidden;color:var(--model-logo-mono)}._teamAgentAvatar_jsskf_242 svg{width:14px;height:14px;fill:currentColor}._teamAgentName_jsskf_260{font-size:12px;font-weight:500;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._teamAgentType_jsskf_269{font-size:10px;color:var(--text-muted);margin-top:2px}._teamAgentStatus_jsskf_275{font-size:10px;margin-top:4px}._teamAgentPopover_jsskf_280{padding:10px 12px;min-width:200px}._teamAgentPopTeammateMsg_jsskf_285{background:var(--bg-code-system);border:1px solid var(--border-code-system);border-radius:6px;padding:10px 12px;margin-bottom:8px}._teamAgentPopTmSummary_jsskf_293{font-size:12px;font-weight:600;color:var(--color-primary-pale);margin-bottom:6px}._teamAgentPopTmContent_jsskf_300{font-size:12px;color:var(--text-secondary);line-height:1.6}._teamAgentPopTask_jsskf_306{font-size:13px;font-weight:600;color:var(--text-primary);margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid var(--border-primary)}._teamAgentPopMsg_jsskf_315{font-size:12px;color:var(--text-secondary);line-height:1.5;white-space:pre-wrap;word-break:break-word;margin-bottom:8px;padding:6px 8px;background:var(--bg-container);border-radius:4px;border:1px solid var(--border-primary)}._teammateReportEntry_jsskf_328{background:var(--bg-code-system);border:1px solid var(--border-code-system);border-radius:8px;padding:12px;margin:4px 0}._teammateReportHeader_jsskf_336{display:flex;align-items:center;gap:8px;margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid var(--border-code-system)}._teammateReportName_jsskf_345{font-size:13px;font-weight:600;color:var(--text-primary)}._teammateReportSummary_jsskf_351{font-size:12px;color:var(--color-primary-pale);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}._teammateReportBody_jsskf_360{font-size:12px;color:var(--text-secondary);line-height:1.6}._teamModalContent_jsskf_366{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden}._teamBtnRelative_jsskf_374{position:relative}._ganttLabelLead_jsskf_378{color:var(--color-primary);font-weight:600}._ganttLabelAgent_jsskf_383{color:var(--text-primary)}._ganttTimeAxisRow_jsskf_387{margin-top:2px}._ganttTimeAxisTrack_jsskf_391{background:#0000;height:16px;position:relative}._ganttTickLabel_jsskf_397{position:absolute;transform:translate(-50%);font-size:9px;color:var(--text-disabled);white-space:nowrap}._teamPopoverStatus_jsskf_405{margin-right:6px;font-size:10px}._statusConverged_jsskf_411{color:var(--color-success);opacity:.55}._statusPending_jsskf_417{color:var(--text-tertiary)}._statusPossiblyAlive_jsskf_422{color:var(--color-warning-light)}._statusReused_jsskf_427{color:var(--text-tertiary);font-style:italic}._ganttIndicatorInitial_jsskf_432{left:110px}._teamModalTitle_jsskf_436{color:var(--text-primary);font-size:15px}._teamLeadCard_jsskf_441{border-left-color:var(--color-primary)}._agentNoMessages_jsskf_445{color:var(--text-muted);font-size:12px}._teamAgentCardClickable_jsskf_450{border-left-color:var(--text-primary);cursor:pointer}._agentStatusDurSuffix_jsskf_455{color:var(--text-tertiary)}._wfPopover_1fpr3_3{min-width:220px;max-width:360px;padding:8px 0}._wfPopoverScroll_1fpr3_10{max-height:calc(100vh - 48px);overflow-y:auto;overflow-x:hidden}._wfPopoverTitle_1fpr3_16{font-size:13px;font-weight:600;color:var(--text-primary);padding:4px 12px 8px;border-bottom:1px solid var(--border-primary)}._wfPopoverItem_1fpr3_24{display:flex;align-items:center;padding:6px 12px;cursor:pointer;transition:background .15s;font-size:12px;color:var(--text-secondary)}._wfPopoverItem_1fpr3_24:hover{background:var(--bg-elevated)}._wfPopoverStatus_1fpr3_38{margin-right:6px;font-size:10px;flex-shrink:0}._wfPopoverName_1fpr3_44{flex:1;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._wfPopoverMeta_1fpr3_52{color:var(--text-muted);font-size:11px;margin:0 6px;flex-shrink:0}._wfPopoverTime_1fpr3_59{color:var(--text-disabled);font-size:11px;flex-shrink:0}._wfModalTitle_1fpr3_65{font-weight:600}._wfModalBody_1fpr3_69{max-height:calc(100vh - 160px);overflow-y:auto}._snapLine_1qd8k_1{position:absolute;top:0;bottom:0;width:2px;background:#0000;border-left:2px dashed var(--overlay-light-medium);pointer-events:none;z-index:1000;transition:all .15s}._snapLineActive_1qd8k_13{position:absolute;top:0;bottom:0;width:2px;background:#0000;border-left:2px dashed var(--overlay-light-half);pointer-events:none;z-index:1001}._snapPreview_1qd8k_24{position:absolute;top:0;bottom:0;background:var(--overlay-light-medium);pointer-events:none;z-index:999}._roleFilterBar_122ad_1{display:flex;align-items:center;gap:6px;padding:0 12px;height:41px;background:var(--bg-base-pure);border-bottom:1px solid var(--border-secondary);overflow-x:auto;flex-shrink:0}._roleChip_122ad_12,._roleChipActive_122ad_12{display:flex;align-items:center;gap:4px;padding:3px 8px;border-radius:12px;border:1px solid var(--border-secondary);background:#0000;color:var(--text-tertiary);font-size:11px;cursor:pointer;white-space:nowrap;transition:border-color .15s,color .15s}._roleChipActive_122ad_12{border-color:var(--color-primary-pale);color:var(--text-secondary)}._roleChip_122ad_12:hover,._roleChipActive_122ad_12:hover{border-color:var(--text-disabled)}._roleAvatar_122ad_33{width:16px;height:16px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#fff}._roleAvatar_122ad_33 svg{width:10px;height:10px}._roleAvatarImg_122ad_47{width:16px;height:16px;border-radius:50%;flex-shrink:0;object-fit:cover}._roleName_122ad_54{max-width:80px;overflow:hidden;text-overflow:ellipsis}._roleCheck_122ad_59{color:var(--color-primary-pale);font-size:10px}._chatInputBar_uvhdv_1{padding:8px 16px 12px;background:var(--bg-input-bar);flex-shrink:0}._chatInputWrapper_uvhdv_7{display:flex;flex-direction:column;background:var(--bg-elevated);border:1px solid var(--border-secondary);border-radius:16px;transition:border-color .2s;overflow:visible}._chatInputWrapper_uvhdv_7:focus-within{border-color:var(--text-disabled)}._chatTextareaWrap_uvhdv_21{position:relative;flex:1}._textareaWithGhost_uvhdv_28{position:relative}._chatTextarea_uvhdv_21{width:100%;min-height:22px;max-height:120px;padding:12px 14px 4px;background:#0000;color:var(--text-primary);border:none;outline:none;resize:none;font-size:14px;line-height:1.5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;box-sizing:border-box}._chatTextarea_uvhdv_21::placeholder{color:var(--text-disabled)}._chatInputBottom_uvhdv_52{display:flex;align-items:center;padding:4px 6px 6px;gap:4px}._chatInputBottomLeft_uvhdv_60,._chatInputBottomRight_uvhdv_62{display:flex;align-items:center;gap:4px;flex:0 0 auto}._chatInputBottomRight_uvhdv_62{margin-left:auto}._plusArea_uvhdv_74{position:relative}._plusBtn_uvhdv_78,._micBtn_uvhdv_79{width:28px;height:28px;border-radius:50%;border:1px solid var(--border-light);background:#0000;color:var(--text-tertiary);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s,color .15s,border-color .15s,transform .25s ease}._plusBtnOpen_uvhdv_94{transform:rotate(45deg)}._plusBtn_uvhdv_78:hover,._micBtn_uvhdv_79:hover{background:var(--bg-surface);color:var(--text-secondary);border-color:var(--text-muted)}._micBtnRecording_uvhdv_105,._micBtnRecording_uvhdv_105:hover{background:var(--color-error);color:#fff;border-color:var(--color-error);animation:_ccvMicPulse_uvhdv_1 1.4s ease-in-out infinite}@keyframes _ccvMicPulse_uvhdv_1{0%,to{box-shadow:0 0 rgba(var(--color-error-rgb),.45)}50%{box-shadow:0 0 0 6px rgba(var(--color-error-rgb),0)}}@media(prefers-reduced-motion:reduce){._micBtnRecording_uvhdv_105,._micBtnRecording_uvhdv_105:hover{animation:none}}._interimPreview_uvhdv_125{position:absolute;left:14px;right:14px;bottom:4px;z-index:101;color:var(--text-secondary);font-size:12px;font-style:italic;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;white-space:pre-wrap;max-height:40px;overflow:hidden;-webkit-user-select:none;user-select:none;pointer-events:none;background:linear-gradient(to bottom,transparent 0%,var(--bg-elevated) 30%);padding-top:8px}._plusOverlay_uvhdv_144{position:fixed;top:0;left:0;right:0;bottom:0;z-index:99}._plusMenu_uvhdv_153{position:absolute;bottom:36px;left:0;background:var(--bg-elevated);border:1px solid var(--border-hover);border-radius:10px;padding:4px;min-width:140px;box-shadow:0 4px 16px var(--overlay-dark-light);z-index:100}._plusMenuItem_uvhdv_166{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;border:none;background:#0000;color:var(--text-secondary);font-size:13px;cursor:pointer;border-radius:6px;transition:background .15s;white-space:nowrap}._plusMenuItem_uvhdv_166:hover{background:var(--bg-surface)}._plusMenuItemMuted_uvhdv_186{color:var(--text-tertiary);border-bottom:1px solid var(--border-light);margin-bottom:2px}._plusMenuItemMuted_uvhdv_186:hover{color:var(--text-primary)}._plusMenuItem_uvhdv_166 svg{width:16px;height:16px;flex-shrink:0}._plusMenuItemMuted_uvhdv_186 svg{stroke:var(--text-tertiary);transition:stroke .15s}._plusMenuItemMuted_uvhdv_186:hover svg{stroke:var(--text-primary)}._presetLabel_uvhdv_212{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._plusMenuQuick_uvhdv_220{min-width:200px}._plusBtn_uvhdv_78 svg{width:16px;height:16px}._quickMenuPresetItem_uvhdv_232{max-width:260px;overflow:hidden;text-overflow:ellipsis}._chatInputHint_uvhdv_238{font-size:11px;color:var(--border-light);-webkit-user-select:none;user-select:none;padding:0 4px}._ctxBarSlot_uvhdv_61{flex:0 1 200px;max-width:200px;min-width:0;display:flex;align-items:stretch;height:28px;margin-left:4px}._ctxBarSlot_uvhdv_61>*{flex:1 1 0;min-width:0}._sendBtn_uvhdv_263{width:28px;height:28px;border-radius:50%;border:none;background:var(--text-white);color:var(--bg-base-pure);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:opacity .15s}._sendBtnDisabled_uvhdv_278{background:var(--border-light);color:var(--text-tertiary);cursor:default}._sendBtn_uvhdv_263 svg{width:16px;height:16px}._ghostText_uvhdv_289{position:absolute;top:0;left:0;right:0;padding:12px 14px 4px;color:var(--border-light);font-size:14px;line-height:1.5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;pointer-events:none;white-space:pre-wrap;overflow:hidden;max-height:120px}._suggestionChip_uvhdv_305{display:flex;align-items:center;gap:8px;padding:8px 14px;background:var(--bg-elevated);border-top:1px solid var(--border-primary);cursor:pointer;flex-shrink:0;transition:background .15s;height:35px}._suggestionChip_uvhdv_305:hover{background:var(--bg-elevated)}._suggestionChipText_uvhdv_322{flex:1;color:var(--text-disabled);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._suggestionChipAction_uvhdv_331{color:var(--color-primary-pale);font-size:14px;flex-shrink:0}._imagePreviewStrip_uvhdv_338{display:flex;gap:8px;padding:8px 14px 0;overflow-x:auto;scrollbar-width:none}._imagePreviewStrip_uvhdv_338::-webkit-scrollbar{display:none}._imagePreviewItem_uvhdv_350{position:relative;width:48px;height:48px;border-radius:6px;overflow:hidden;flex-shrink:0;border:1px solid var(--border-light);transition:border-color .15s}._imagePreviewItem_uvhdv_350:hover{border-color:var(--color-primary-pale)}._imagePreviewThumb_uvhdv_365{width:100%;height:100%;object-fit:cover;cursor:pointer}._imagePreviewUploading_uvhdv_373{cursor:default}._imagePreviewSpinner_uvhdv_377{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#00000059}._imagePreviewRemove_uvhdv_386{position:absolute;top:2px;right:2px;width:16px;height:16px;border-radius:50%;background:#000000b3;color:#fff;border:none;font-size:12px;line-height:14px;text-align:center;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s}._imagePreviewItem_uvhdv_350:hover ._imagePreviewRemove_uvhdv_386{opacity:1}@media(hover:none){._imagePreviewRemove_uvhdv_386,._filePreviewClose_uvhdv_414{opacity:1;min-width:22px;min-height:22px}}._filePreviewChip_uvhdv_421{display:flex;align-items:center;gap:6px;padding:6px 10px;background:var(--bg-surface);border:1px solid var(--border-hover);border-radius:8px;flex-shrink:0;max-width:200px;color:var(--text-secondary);transition:border-color .15s}._filePreviewChip_uvhdv_421:hover{border-color:var(--color-primary-pale)}._filePreviewChip_uvhdv_421 svg{flex-shrink:0;color:var(--text-tertiary)}._filePreviewName_uvhdv_444{font-size:12px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._filePreviewClose_uvhdv_414{flex-shrink:0;width:16px;height:16px;border-radius:50%;background:transparent;color:var(--text-muted);border:none;font-size:14px;line-height:14px;text-align:center;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;transition:color .15s}._filePreviewClose_uvhdv_414:hover{color:var(--text-primary)}@media(max-width:768px){._chatInputBar_uvhdv_1{padding:10px 21px 16px;background:transparent}._chatInputWrapper_uvhdv_7{border-radius:21px}._chatTextarea_uvhdv_21{min-height:52px;max-height:208px;padding:18px 21px 8px;font-size:22px}._ghostText_uvhdv_289{padding:18px 21px 8px;font-size:22px}._chatInputBottom_uvhdv_52{padding:8px 10px 10px;gap:8px}._plusBtn_uvhdv_78,._micBtn_uvhdv_79{width:47px;height:47px}._plusBtn_uvhdv_78 svg,._micBtn_uvhdv_79 svg{width:23px;height:23px}._interimPreview_uvhdv_125{left:21px;right:21px;bottom:8px;font-size:17px;max-height:60px;padding-top:12px}._plusMenu_uvhdv_153{bottom:57px}._plusMenuItem_uvhdv_166{padding:13px 18px;font-size:20px}._chatInputHint_uvhdv_238{font-size:17px}._sendBtn_uvhdv_263{width:47px;height:47px}._sendBtn_uvhdv_263 svg{width:23px;height:23px}._imagePreviewStrip_uvhdv_338{gap:10px;padding:10px 18px 0}._imagePreviewItem_uvhdv_350{width:56px;height:56px;border-radius:8px}._imagePreviewRemove_uvhdv_386{width:20px;height:20px;font-size:14px;opacity:1}._filePreviewChip_uvhdv_421{padding:8px 12px;gap:8px;border-radius:10px;max-width:240px}._filePreviewName_uvhdv_444{font-size:15px}._filePreviewClose_uvhdv_414{width:20px;height:20px;font-size:16px}}html.pad-mode ._chatInputBar_uvhdv_1{padding:8px 16px 12px}html.pad-mode ._chatInputWrapper_uvhdv_7{border-radius:16px}html.pad-mode ._chatTextarea_uvhdv_21{min-height:22px;max-height:120px;padding:12px 14px 4px;font-size:14px}html.pad-mode ._ghostText_uvhdv_289{padding:12px 14px 4px;font-size:14px}html.pad-mode ._chatInputBottom_uvhdv_52{padding:4px 6px 6px;gap:4px}html.pad-mode ._plusBtn_uvhdv_78,html.pad-mode ._micBtn_uvhdv_79{width:28px;height:28px}html.pad-mode ._plusBtn_uvhdv_78 svg,html.pad-mode ._micBtn_uvhdv_79 svg{width:16px;height:16px}html.pad-mode ._interimPreview_uvhdv_125{left:14px;right:14px;bottom:4px;font-size:12px;max-height:40px;padding-top:8px}html.pad-mode ._plusMenu_uvhdv_153{bottom:36px}html.pad-mode ._plusMenuItem_uvhdv_166{padding:8px 12px;font-size:13px}html.pad-mode ._chatInputHint_uvhdv_238{font-size:11px}html.pad-mode ._sendBtn_uvhdv_263{width:28px;height:28px}html.pad-mode ._sendBtn_uvhdv_263 svg{width:16px;height:16px}html.pad-mode ._imagePreviewStrip_uvhdv_338{gap:8px;padding:8px 14px 0}html.pad-mode ._imagePreviewItem_uvhdv_350{width:48px;height:48px;border-radius:6px}html.pad-mode ._imagePreviewRemove_uvhdv_386{width:16px;height:16px;font-size:12px;opacity:0}html.pad-mode ._filePreviewChip_uvhdv_421{padding:6px 10px;gap:6px;border-radius:8px;max-width:200px}html.pad-mode ._filePreviewName_uvhdv_444{font-size:12px}html.pad-mode ._filePreviewClose_uvhdv_414{width:16px;height:16px;font-size:12px}._sendBtnWrap_uvhdv_608{position:relative;display:flex;flex-shrink:0}._bar_m7vks_2{flex:0 0 auto;margin:0 8px 6px;background:var(--bg-container);border:1px solid var(--border-secondary);border-radius:8px;font-size:12px;overflow:hidden}._header_m7vks_12{display:flex;align-items:center;gap:8px;padding:6px 10px;cursor:pointer;border-bottom:1px solid var(--border-secondary)}._title_m7vks_21{flex:0 0 auto;max-width:200px;font-weight:600;color:var(--color-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}._stat_m7vks_31{flex:1 1 auto;min-width:0;color:var(--text-secondary);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}._actions_m7vks_41{flex:0 0 auto;display:flex;align-items:center;gap:4px}._viewToggle_m7vks_48{display:inline-flex;gap:0;padding:2px;background:var(--bg-sub-avatar, rgba(127, 127, 127, .12));border-radius:6px}._viewBtn_m7vks_56{background:transparent;border:none;color:var(--text-secondary);font-size:11px;line-height:1.5;padding:1px 10px;cursor:pointer;border-radius:4px;transition:color .12s ease,background .12s ease}._viewBtn_m7vks_56:hover{color:var(--color-primary)}._viewBtnActive_m7vks_70,._viewBtnActive_m7vks_70:hover{color:#fffffff5;background:var(--color-primary)}._iconBtn_m7vks_76{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;font-size:12px;line-height:1;padding:2px 4px;border-radius:4px}._iconBtn_m7vks_76:hover{color:var(--color-primary);background:var(--color-primary-pale)}._rows_m7vks_92{max-height:60vh;overflow-y:auto;padding:4px 0}._row_m7vks_92{display:flex;align-items:baseline;gap:8px;padding:2px 10px;line-height:1.6}._head_m7vks_12{color:var(--text-gray);font-size:11px;text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid var(--border-secondary);padding-top:2px;padding-bottom:5px;margin-bottom:2px}._head_m7vks_12 ._labelCell_m7vks_118{color:var(--text-gray)}._dot_m7vks_120{flex:0 0 auto;width:1em;text-align:center;font-size:11px}._labelCell_m7vks_118{flex:1 1 auto;min-width:0;display:flex;align-items:baseline;gap:6px;overflow:hidden}._label_m7vks_118{flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--color-primary)}._doing_m7vks_146{flex:0 0 auto;max-width:140px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:var(--color-primary);border-radius:4px;padding:0 6px;font-size:11px;color:#fffffff5}._model_m7vks_160{flex:0 0 96px;color:var(--text-gray);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}._tok_m7vks_169,._tool_m7vks_169,._dur_m7vks_169{flex:0 0 auto;text-align:right;color:var(--text-secondary);font-variant-numeric:tabular-nums;white-space:nowrap}._tok_m7vks_169{flex-basis:60px}._tool_m7vks_169{flex-basis:44px}._dur_m7vks_169{flex-basis:52px;color:var(--text-gray)}._liveDot_m7vks_181{flex:0 0 auto;width:8px;height:8px;border-radius:50%;background:var(--color-success, #3fb950)}._stateDone_m7vks_189{color:var(--color-success, #3fb950)}._stateFailed_m7vks_190{color:var(--color-error, #f85149)}._stateRunning_m7vks_191{color:var(--text-secondary)}._stateQueued_m7vks_192{color:var(--text-gray)}._statePulse_m7vks_194{animation:_ccvHudPulse_m7vks_1 1.1s ease-in-out infinite}@keyframes _ccvHudPulse_m7vks_1{0%,to{opacity:1}50%{opacity:.3}}@media(prefers-reduced-motion:reduce){._statePulse_m7vks_194{animation:none}}@media(max-width:768px){._model_m7vks_160{display:none}._row_m7vks_92{gap:8px}}._phases_m7vks_211{display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px;padding:5px 10px;border-bottom:1px solid var(--border-secondary);max-height:96px;overflow-y:auto}._phasesLabel_m7vks_222{flex:0 0 auto;color:var(--text-gray);font-size:11px;text-transform:uppercase;letter-spacing:.03em;margin-right:2px}._phaseChip_m7vks_231{flex:0 0 auto;display:inline-flex;align-items:baseline;gap:4px;max-width:220px;padding:1px 8px;font-size:11px;line-height:1.6;color:var(--text-secondary);background:var(--bg-sub-avatar);border-radius:10px}._phaseChipIdx_m7vks_245{flex:0 0 auto;color:var(--text-gray);font-variant-numeric:tabular-nums}._phaseChipTitle_m7vks_251{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}._backdrop_jg8gb_1{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;background:#00000080;display:flex;align-items:center;justify-content:center}._modal_jg8gb_11{width:95vw;max-width:560px;height:480px;max-height:85vh;background:var(--bg-elevated);border:1px solid var(--border-hover);border-radius:12px;overflow:hidden;display:flex;flex-direction:column;position:relative}._modalContent_jg8gb_37{flex:1 1 auto;display:flex;flex-direction:column;min-height:0;width:100%}._header_jg8gb_45{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 8px}._title_jg8gb_52{font-size:16px;font-weight:600;color:var(--text-primary)}._closeBtn_jg8gb_58{width:28px;height:28px;border:none;background:none;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:6px}._closeBtn_jg8gb_58:hover{background:var(--bg-surface);color:var(--text-secondary)}._headerActions_jg8gb_76{display:flex;align-items:center;gap:4px}._customWrap_jg8gb_83{position:relative;display:inline-flex;align-items:center;flex-shrink:0}._customTitle_jg8gb_90{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._editPencil_jg8gb_97{position:absolute;top:-4px;inset-inline-end:-4px;width:16px;height:16px;border-radius:50%;background:var(--bg-elevated);border:1px solid var(--border-primary);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transition:opacity .15s;z-index:2}._customWrap_jg8gb_83:hover ._editPencil_jg8gb_97{opacity:1}._editPencil_jg8gb_97:hover{color:var(--color-primary);border-color:var(--color-primary)}@media(max-width:768px){._editPencil_jg8gb_97{opacity:1}}._disabledTip_jg8gb_129{padding:16px;font-size:13px;color:var(--text-muted);line-height:1.5}._variantRow_jg8gb_141{display:flex;align-items:flex-end;gap:8px;padding:0 20px;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-ms-overflow-style:none}._variantRow_jg8gb_141::-webkit-scrollbar{display:none}._roleBtn_jg8gb_158{display:inline-flex;align-items:center;gap:5px;padding:9px 14px;font-size:15px;line-height:1.6;border:1px solid var(--border-color);border-radius:14px;background:var(--bg-main);color:var(--text-secondary);cursor:pointer;transition:all .2s;-webkit-user-select:none;user-select:none;white-space:nowrap;flex-shrink:0}._roleBtn_jg8gb_158:hover{border-color:var(--color-primary);color:var(--color-primary)}._roleBtn_jg8gb_158._roleBtnActive_jg8gb_187{background:var(--bg-container);color:var(--color-primary);border-color:var(--border-primary);border-bottom-color:var(--bg-container);border-radius:10px 10px 0 0;font-weight:500;margin-bottom:-1px;position:relative;z-index:1}._variantRow_jg8gb_141>._roleBtn_jg8gb_158._roleBtnActive_jg8gb_187,._customWrap_jg8gb_83:has(>._roleBtn_jg8gb_158._roleBtnActive_jg8gb_187){position:sticky;left:0;right:0;z-index:2}[data-theme=light] ._textareaWrap_jg8gb_23{box-shadow:0 3px 8px #00000014}[data-theme=light] ._roleBtnActive_jg8gb_187{box-shadow:0 -3px 8px #0000000f}._addExpertBtn_jg8gb_236{display:inline-flex;align-items:center;align-self:center;gap:5px;padding:6px 14px;font-size:15px;line-height:1.6;margin-left:4px;margin-bottom:2px;border:none;border-radius:14px;background:transparent;color:var(--text-muted);cursor:pointer;transition:background .15s,color .15s;-webkit-user-select:none;user-select:none;white-space:nowrap;flex-shrink:0}._addExpertBtn_jg8gb_236:hover{color:var(--color-primary);background:var(--bg-surface)}[data-theme=light] ._addExpertBtn_jg8gb_236{color:var(--text-secondary)}._fileList_jg8gb_272{display:flex;flex-wrap:wrap;gap:6px;padding:8px 14px;max-height:80px;overflow-y:auto;flex-shrink:0}._fileChip_jg8gb_287{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:4px;background:var(--bg-elevated);border:1px solid var(--border-primary);font-size:11px;color:var(--text-secondary);max-width:180px;white-space:nowrap;transition:border-color .15s}._fileChip_jg8gb_287:hover{border-color:var(--color-primary-pale)}._fileChip_jg8gb_287 svg{flex-shrink:0}._fileName_jg8gb_310{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}._fileRemove_jg8gb_317{flex-shrink:0;cursor:pointer;color:var(--text-disabled)}._fileRemove_jg8gb_317:hover{color:var(--text-primary)}._imageItem_jg8gb_327{position:relative;width:48px;height:48px;border-radius:6px;overflow:hidden;border:1px solid var(--border-primary);transition:border-color .15s}._imageItem_jg8gb_327:hover{border-color:var(--color-primary-pale)}._imageThumb_jg8gb_341{width:100%;height:100%;object-fit:cover;cursor:pointer}._imageRemove_jg8gb_348{position:absolute;top:0;right:0;width:18px;height:18px;border:none;background:#0009;color:#fff;font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:0 0 0 6px;opacity:0;transition:opacity .15s}._imageItem_jg8gb_327:hover ._imageRemove_jg8gb_348{opacity:1}@media(hover:none){._imageRemove_jg8gb_348,._fileRemove_jg8gb_317{opacity:1;min-width:22px;min-height:22px}}._textareaWrap_jg8gb_23{margin:0 16px;display:flex;flex-direction:column;flex:1 1 0;min-height:0;background:var(--bg-container);border-radius:8px;overflow:hidden;padding:4px}._textarea_jg8gb_23{flex:1 1 0;width:100%;min-height:0;box-sizing:border-box;padding:12px 14px;background:transparent;border:1px solid var(--border-primary);border-radius:8px;color:var(--text-primary);font-size:16px;line-height:1.5;font-family:inherit;transition:border-color .15s;resize:none;outline:none}._textarea_jg8gb_23:focus{border-color:var(--color-primary-pale)}._resizeHandle_jg8gb_33{position:absolute;top:6px;left:6px;width:18px;height:18px;cursor:nwse-resize;z-index:5;touch-action:none;color:var(--text-disabled-faint);opacity:.7;transition:opacity .15s ease;display:block;line-height:0}._resizeHandle_jg8gb_33 svg{width:100%;height:100%;display:block}._resizeHandle_jg8gb_33:hover,._resizeHandle_jg8gb_33:active{opacity:1}.pad-mode ._resizeHandle_jg8gb_33{width:22px;height:22px;top:8px;left:8px}._textarea_jg8gb_23::placeholder{color:var(--text-disabled)}._footer_jg8gb_468{display:flex;align-items:center;justify-content:space-between;padding:12px 16px 14px}._sendBtn_jg8gb_475{height:38px;padding:0 24px;border:none;border-radius:8px;background:var(--color-primary);color:#fff;font-size:16px;cursor:pointer;white-space:nowrap;transition:opacity .15s}._sendBtn_jg8gb_475:hover{opacity:.85}._sendBtn_jg8gb_475:disabled{opacity:.4;cursor:not-allowed}._uploadBtn_jg8gb_497{display:flex;align-items:center;gap:5px;height:38px;padding:0 18px;border:1px solid var(--border-secondary);border-radius:8px;background:var(--bg-elevated);color:var(--text-light);font-size:16px;cursor:pointer;white-space:nowrap;transition:background .15s}._uploadBtn_jg8gb_497:hover{background:var(--bg-surface);color:var(--text-primary);border-color:var(--text-disabled)}@media(max-width:768px){._backdrop_jg8gb_1{zoom:1.4}}html.pad-mode ._backdrop_jg8gb_1{zoom:1}._centerEmpty_wt9xa_1{display:flex;align-items:center;justify-content:center;height:100%}._container_wt9xa_8{flex:1;overflow-x:hidden;overflow-y:auto;padding:16px 0;display:flex;flex-direction:column;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}._mobileVirtuoso_wt9xa_19{flex:1;min-height:0}._sessionDividerText_wt9xa_24{font-size:11px;color:var(--text-disabled)}._lastResponseLabel_wt9xa_29{font-size:11px}._splitContainer_wt9xa_33{display:flex;flex-direction:row;height:100%;overflow:hidden}._chatSection_wt9xa_40{flex:1;display:flex;flex-direction:column;min-width:0;overflow:hidden}._vResizer_wt9xa_48{width:5px;background:var(--bg-elevated);cursor:col-resize;flex-shrink:0;border-left:1px solid var(--border-primary);border-right:1px solid var(--border-primary);transition:background .15s}._vResizer_wt9xa_48:hover{background:var(--border-secondary)}._terminalToggle_wt9xa_62{display:flex;align-items:center;justify-content:center;align-self:center;width:14px;height:48px;margin-left:-14px;flex-shrink:0;cursor:pointer;color:var(--text-disabled);background:var(--overlay-light-faint);border-radius:4px 0 0 4px;transition:background .2s,color .2s;z-index:20;position:relative}._terminalToggle_wt9xa_62:hover{background:var(--overlay-light-medium);color:var(--text-tertiary)}._messageListWrap_wt9xa_85{position:relative;flex:1;min-height:0;display:flex;flex-direction:column}._stickyBottomBtn_wt9xa_93{position:absolute;right:12px;bottom:0;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 18px;justify-content:flex-end;border-radius:0;border:none;background:none;color:var(--text-tertiary);font-size:12px;cursor:pointer;transition:color .15s;z-index:10;box-shadow:none}._stickyBottomBtn_wt9xa_93 span{background:var(--bg-sticky-btn);padding:2px 10px;border-radius:10px}._loadingPet_wt9xa_120{width:48px;height:48px;image-rendering:pixelated}._stickyBottomBtn_wt9xa_93:hover{color:var(--text-white);background:none}@media(max-width:768px){._stickyBottomBtn_wt9xa_93{right:auto;left:0;gap:4px;padding:16px 18px;font-size:24px}._stickyBottomBtn_wt9xa_93 span{padding:4px 20px;border-radius:20px}._stickyBottomBtn_wt9xa_93 svg{width:28px;height:28px}}html.pad-mode ._stickyBottomBtn_wt9xa_93{right:0;left:auto;padding:8px 18px;font-size:12px}html.pad-mode ._stickyBottomBtn_wt9xa_93 span{padding:2px 10px;border-radius:10px}html.pad-mode ._stickyBottomBtn_wt9xa_93 svg{width:auto;height:auto}._loadMoreWrap_wt9xa_154{display:flex;justify-content:center;padding:12px 0 4px}._loadMoreBtn_wt9xa_160{padding:6px 18px;border-radius:16px;border:1px solid var(--border-hover);background:var(--overlay-light-faint);color:var(--text-tertiary);font-size:12px;cursor:pointer;transition:background .15s,color .15s}._loadMoreBtn_wt9xa_160:hover{background:var(--overlay-light-medium);color:var(--text-secondary)}._navSidebar_wt9xa_176{width:40px;flex-shrink:0;background:var(--bg-elevated);border-right:1px solid var(--border-primary);display:flex;flex-direction:column;align-items:center;padding-top:4px;gap:4px}@media(max-width:768px){._navSidebar_wt9xa_176{display:none}}._navBtn_wt9xa_193{width:32px;height:32px;border:none;background:none;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:6px;padding:0;transition:background .15s,color .15s}._navBtn_wt9xa_193:hover{color:var(--text-secondary);background:var(--bg-elevated)}._navBtnActive_wt9xa_213{width:32px;height:32px;border:none;background:var(--color-primary-bg-light);color:var(--color-primary-pale);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:6px;padding:0;transition:background .15s,color .15s}._navDivider_wt9xa_228{width:60%;height:0;border:0;border-top:1px dashed var(--border-primary);margin:6px auto}._navBtnActive_wt9xa_213:hover{background:var(--color-primary-bg-medium);color:var(--color-info-light)}._navAvatarImg_wt9xa_241{width:19px;height:19px;border-radius:50%;object-fit:cover}._userPromptNavWrap_wt9xa_248{display:flex;flex-direction:column;min-width:200px;max-width:360px;max-height:calc(100vh - 48px)}._userPromptNavTitle_wt9xa_257{font-size:13px;font-weight:600;color:var(--text-primary);padding:4px 12px 8px;border-bottom:1px solid var(--border-primary);flex-shrink:0}._userPromptNavList_wt9xa_266{overflow-y:auto;overflow-x:hidden;flex:1 1 auto;min-height:0}._userPromptNavItem_wt9xa_273{display:flex;align-items:baseline;gap:8px;padding:6px 10px;font-size:12px;color:var(--text-secondary);cursor:pointer;border-bottom:1px solid var(--border-primary)}._userPromptNavTime_wt9xa_285{flex:0 0 auto;font-size:11px;font-variant-numeric:tabular-nums;white-space:nowrap;opacity:.7}._userPromptNavText_wt9xa_293{flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}._userPromptNavItem_wt9xa_273:hover{background:var(--bg-surface);color:var(--text-white)}._userPromptNavItem_wt9xa_273:last-child{border-bottom:none}._userPromptNavSessionSep_wt9xa_311{display:flex;align-items:center;gap:8px;padding:6px 10px;font-size:11px;color:var(--text-disabled);-webkit-user-select:none;user-select:none}._userPromptNavSessionSep_wt9xa_311:before,._userPromptNavSessionSep_wt9xa_311:after{content:"";flex:1 1 auto;border-top:1px solid var(--border-secondary)}._userPromptNavItem_wt9xa_273:has(+._userPromptNavSessionSep_wt9xa_311){border-bottom:none}._terminalPanelWrap_wt9xa_333{flex-shrink:0;min-width:200px;min-height:0;overflow:hidden;display:flex;flex-direction:column}._navSidebarContent_wt9xa_344{flex:1;min-width:0;display:flex;flex-direction:column;min-height:0}._innerSplitArea_wt9xa_352{flex:1;display:flex;min-width:0;position:relative}._chatSectionFlex_wt9xa_359{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden;position:relative}._inputStack_wt9xa_369{position:relative;flex-shrink:0}._overlayPanel_wt9xa_374{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;display:flex;flex-direction:column}._streamingSpinnerWrap_wt9xa_382{display:flex;justify-content:center;padding:4px 0;transition:opacity .5s ease-out;user-select:none;-webkit-user-select:none;pointer-events:none}._streamingSpinnerHidden_wt9xa_393{opacity:0}._sessionDivider_wt9xa_24{border-color:var(--border-secondary);margin:16px 0}._loadMoreBtnLoading_wt9xa_402{cursor:default;opacity:.7;display:inline-flex;align-items:center;gap:8px}._loadMoreSpinner_wt9xa_410{width:14px;height:14px;border:2px solid var(--overlay-light-medium);border-top-color:var(--color-primary-pale);border-radius:50%;animation:_loadMoreSpin_wt9xa_410 .8s linear infinite;flex-shrink:0}@keyframes _loadMoreSpin_wt9xa_410{to{transform:rotate(360deg)}}._lastResponseDivider_wt9xa_424{border-color:var(--border-primary);margin:8px 0}._lastResponseDivider_wt9xa_424._lastResponseDivider_wt9xa_424:before,._lastResponseDivider_wt9xa_424._lastResponseDivider_wt9xa_424:after{border-block-start-style:dashed}._hideLastResponseDivider_wt9xa_439 ._lastResponseDivider_wt9xa_424{display:none}._backdrop_1fcbc_7{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:1200;display:flex;align-items:center;justify-content:center;padding:32px 16px;animation:_backdropFadeIn_1fcbc_1 .16s ease-out}@keyframes _backdropFadeIn_1fcbc_1{0%{opacity:0}to{opacity:1}}._modal_1fcbc_25{width:min(90vw,1100px);max-height:calc(100vh - 64px);background:var(--bg-elevated, #1f1f1f);color:var(--text-primary, #e8e8e8);border:1px solid var(--border-color, rgba(255, 255, 255, .08));border-radius:12px;box-shadow:0 16px 48px #0006;display:flex;flex-direction:column;overflow:hidden;animation:_modalSlideIn_1fcbc_1 .2s cubic-bezier(.2,.9,.3,1)}@keyframes _modalSlideIn_1fcbc_1{0%{transform:translateY(12px);opacity:0}to{transform:translateY(0);opacity:1}}._header_1fcbc_44{display:flex;align-items:center;gap:8px;padding:14px 18px;border-bottom:1px solid var(--border-color, rgba(255, 255, 255, .06));flex-wrap:wrap}._title_1fcbc_53{font-size:14px;font-weight:600;flex:1}._chip_1fcbc_59{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;font-size:12px;border-radius:999px;background:var(--bg-code, rgba(255, 255, 255, .06));color:var(--text-secondary, #b8b8b8)}._chipAction_1fcbc_70{cursor:pointer;background:var(--color-primary-soft, rgba(22, 104, 220, .18));color:var(--color-primary-light, #4096ff);border:1px solid var(--color-primary-light, #4096ff);transition:background .12s}._chipAction_1fcbc_70:hover{background:var(--color-primary, #1668dc);color:#fff}._body_1fcbc_83{padding:16px 18px;overflow:auto;display:flex;flex-direction:column;gap:12px}._slot_1fcbc_91{display:flex;flex-direction:column}._slotHidden_1fcbc_96{display:none}._footer_1fcbc_100{display:flex;justify-content:flex-start;align-items:center;gap:12px;padding:12px 18px;border-top:1px solid var(--border-color, rgba(255, 255, 255, .06));font-size:12px;color:var(--text-tertiary, #888)}._footerHint_1fcbc_111{color:var(--text-secondary, #b8b8b8)}._footerHintLabel_1fcbc_115{color:var(--text-tertiary, #888);font-weight:500}._headerDismissBtn_1fcbc_122{margin-left:auto;background:transparent;border:1px solid var(--border-color, rgba(255, 255, 255, .12));color:var(--text-secondary, #b8b8b8);padding:4px 12px;border-radius:6px;cursor:pointer;font-size:12px;transition:background .12s,border-color .12s}._headerDismissBtn_1fcbc_122:hover{background:var(--bg-code, rgba(255, 255, 255, .06));border-color:var(--color-primary-light, #4096ff)}._kindTabs_1fcbc_139{display:flex;gap:6px;padding:6px 18px 0;border-bottom:1px solid var(--border-color, rgba(255, 255, 255, .06))}._kindTab_1fcbc_139{padding:6px 12px;border:0;background:transparent;color:var(--text-tertiary, #888);font-size:13px;cursor:pointer;border-radius:6px 6px 0 0;border-bottom:2px solid transparent}._kindTabActive_1fcbc_157{color:var(--color-primary-light, #4096ff);border-bottom-color:var(--color-primary-light, #4096ff)}._helpBtn_1sxut_5{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:var(--bg-elevated);border:1px solid var(--border-light);color:var(--text-light);font-size:11px;line-height:1;cursor:pointer;margin-left:4px;vertical-align:middle;transition:background .2s;-webkit-user-select:none;user-select:none}._helpBtn_1sxut_5:hover{background:var(--border-secondary)}._catalog_1sxut_29{max-height:60vh;overflow-y:auto;overflow-x:hidden;padding:4px 2px}._catBlock_1sxut_36{margin-bottom:14px}._catBlock_1sxut_36:last-child{margin-bottom:0}._catLabel_1sxut_43{font-size:12px;font-weight:600;color:var(--text-light);text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px}._chipRow_1sxut_52{display:flex;flex-wrap:wrap;gap:8px}._toolChip_1sxut_58{display:inline-flex;align-items:center;padding:4px 12px;border-radius:14px;background:var(--bg-elevated);border:1px solid var(--border-light);color:var(--text-primary);font-size:13px;line-height:1.4;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .2s,border-color .2s}._toolChip_1sxut_58:hover{background:var(--border-secondary);border-color:var(--border-hover)}._toolChip_1sxut_58:focus-visible{outline:2px solid var(--color-primary-pale);outline-offset:1px}@media(max-width:768px){._catalog_1sxut_29{max-height:75vh}}._container_1mrxf_1{display:flex;flex-direction:column;gap:8px;padding:8px 0}._collapseArea_1mrxf_11{display:flex;flex-direction:column;gap:8px;background:var(--bg-base-alt);border-radius:6px;padding:10px 12px}._headerRow_1mrxf_20{display:flex;align-items:center;justify-content:space-between;gap:12px}._headerLabel_1mrxf_27{font-weight:600;color:var(--text-color, #333)}._row_1mrxf_32{display:flex;align-items:center;gap:8px}._rowLabel_1mrxf_38{min-width:64px;color:var(--text-color-secondary, #666);font-size:12px}._sliderWrap_1mrxf_44{flex:1;min-width:120px}._eventsList_1mrxf_49{display:flex;flex-direction:column;gap:6px}._eventRow_1mrxf_55{display:flex;align-items:center;gap:8px}._eventLabel_1mrxf_61{flex:0 0 auto;min-width:140px;color:var(--text-color, #333);font-size:12px}._eventLabelHelp_1mrxf_71{cursor:help;text-decoration:underline dotted;text-underline-offset:2px}._uploadHintIcon_1mrxf_77{color:var(--text-color-secondary, #888);cursor:help;font-size:14px;margin-left:2px}._eventSelect_1mrxf_84{flex:1;min-width:120px}._uploadRow_1mrxf_89{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding-top:4px}._uploadRow_1mrxf_89 ._uploadBtn_1mrxf_98{font-size:12px}._uploadedList_1mrxf_103{display:flex;flex-direction:column;gap:4px;padding-top:4px}._uploadedTitle_1mrxf_110{font-size:12px;font-weight:600;color:var(--text-color-secondary, #666)}._uploadedRow_1mrxf_116{display:flex;align-items:center;gap:8px;padding:4px 6px;background:var(--card-bg, rgba(0, 0, 0, .03));border-radius:4px}._uploadedName_1mrxf_125{flex:1;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._uploadedMeta_1mrxf_133{font-size:11px;color:var(--text-color-secondary, #888);flex:0 0 auto}@media(max-width:480px){._eventRow_1mrxf_55{flex-wrap:wrap}._eventLabel_1mrxf_61{flex:1 0 100%;min-width:0}._eventSelect_1mrxf_84{flex:1}}._cachePopover_1m2xl_3{max-width:800px}._cacheScrollArea_1m2xl_7{max-height:calc(100vh - 140px);overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}._cacheScrollAreaInDrawer_1m2xl_19{max-height:none;overflow-y:visible}._cachePopoverTitle_1m2xl_24{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:600;color:var(--text-primary)}._cachePopoverHeader_1m2xl_33{margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid var(--border-secondary)}._cacheSection_1m2xl_39{margin-bottom:10px}._cacheSectionBordered_1m2xl_43{border:1px solid var(--border-secondary);border-radius:6px;padding:8px 10px;background:var(--bg-container)}._cacheSectionBordered_1m2xl_43>._cacheSectionLabel_1m2xl_50,._cacheSectionBordered_1m2xl_43>._cacheSectionHeader_1m2xl_51{border-bottom:1px solid var(--border-secondary);padding-bottom:6px;margin-bottom:8px}._cacheSectionHeader_1m2xl_51{display:flex;align-items:center;justify-content:space-between;gap:6px}._cacheSectionHeader_1m2xl_51>._cacheSectionLabel_1m2xl_50{margin-bottom:0}._cacheSectionLabel_1m2xl_50{font-size:12px;font-weight:600;color:var(--text-light);margin-bottom:4px;padding:4px 0;-webkit-user-select:none;user-select:none}._memoryLabelWithIcon_1m2xl_78{display:inline-flex;align-items:center;gap:6px}._toolChipGridVertical_1m2xl_84{display:flex;flex-direction:column;align-items:stretch;gap:4px;padding:2px 0 6px}._claudeMdChip_1m2xl_92{font-family:inherit;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;font-size:11px;padding:0 6px;border-radius:3px;background:var(--bg-surface);color:var(--text-secondary);line-height:18px;max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border:1px solid var(--border-primary);display:inline-flex;align-items:center;gap:5px}._claudeMdChip_1m2xl_92:hover{background:var(--bg-hover, var(--bg-surface));color:var(--text-primary)}._cacheChipBadge_1m2xl_119{font-size:10px;line-height:14px;padding:0 5px;border-radius:2px;font-weight:500;letter-spacing:.2px}._cacheChipBadgeProject_1m2xl_128{background:var(--color-primary-bg-light);color:var(--color-primary-light)}._cacheChipBadgeGlobal_1m2xl_133{background:var(--color-success-bg-light);color:var(--color-success-light)}._chipDetailBody_1m2xl_138{margin:0;font-family:inherit;font-size:13px;line-height:1.55;white-space:pre-wrap;word-break:break-word;max-height:60vh;overflow-y:auto;color:var(--text-primary)}._chipDetailEmpty_1m2xl_150{color:var(--text-muted);font-style:italic}._mcpServerGroup_1m2xl_155{margin-bottom:6px}._mcpServerName_1m2xl_159{font-size:11px;font-weight:600;color:var(--text-muted);padding:2px 0 6px 2px}._cacheUsageLabel_1m2xl_166{font-size:13px;color:var(--text-primary);font-weight:400;margin-right:4px}._cachePercent_1m2xl_173{font-size:13px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}._cacheCalibrationLabel_1m2xl_180{margin-left:auto;color:var(--text-tertiary);font-size:12px;font-weight:400;white-space:nowrap}._calibrationSelect_1m2xl_188{width:80px;flex-shrink:0}._memoryStatus_1m2xl_193{padding:6px 4px}._memoryDirHint_1m2xl_197{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:11px;color:var(--text-tertiary);margin-top:4px;word-break:break-all;-webkit-user-select:text;user-select:text}._skillsList_ap3j0_4{display:flex;flex-direction:column;gap:8px}._skillCard_ap3j0_10{border:1px solid var(--border-secondary);border-radius:6px;padding:10px 12px;background:var(--bg-container)}._skillCardHeader_ap3j0_17{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:6px}._skillCardName_ap3j0_25{font-size:14px;font-weight:600;color:var(--text-primary);word-break:break-word;flex:1}._skillCardActions_ap3j0_33{flex-shrink:0;display:flex;align-items:center;gap:6px}._skillDeleteBtn_ap3j0_41{display:inline-flex;align-items:center;justify-content:center;padding:2px 4px;border:none;background:transparent;color:var(--text-muted);cursor:pointer;border-radius:4px;font-size:14px;line-height:1;transition:color .15s,background .15s}._skillDeleteBtn_ap3j0_41:hover{color:#cf1322;background:#fff1f0}[data-theme=dark] ._skillDeleteBtn_ap3j0_41:hover{color:#ff7875;background:#2a1215}._skillCardDesc_ap3j0_64{font-size:13px;line-height:1.55;white-space:pre-wrap;word-break:break-word;color:var(--text-secondary)}._skillsEmpty_ap3j0_72{padding:32px 12px;text-align:center;color:var(--text-muted);font-style:italic}._skillsReadonlySection_ap3j0_80{margin-top:16px;padding-top:12px;border-top:1px solid var(--border-secondary)}._skillsReadonlyLabel_ap3j0_86{font-size:12px;color:var(--text-muted);margin-bottom:6px}._skillCardDisabled_ap3j0_93{opacity:.55;background:var(--bg-elevated, var(--bg-surface))}._skillCardDisabled_ap3j0_93 ._skillCardName_ap3j0_25{text-decoration:line-through}._skillCardTitleRow_ap3j0_100{display:flex;align-items:center;gap:8px;flex:1;min-width:0}._skillSourceBadge_ap3j0_107{font-size:10px;font-weight:600;padding:1px 6px;border-radius:3px;letter-spacing:.3px;flex-shrink:0;white-space:nowrap;text-transform:uppercase}._skillSource_user_ap3j0_117{background:#e6f4ff;color:#0958d9}._skillSource_project_ap3j0_118{background:#f6ffed;color:#389e0d}._skillSource_plugin_ap3j0_119{background:#fff7e6;color:#d46b08}._skillSource_builtin_ap3j0_120{background:#f9f0ff;color:#531dab}[data-theme=dark] ._skillSource_user_ap3j0_117{background:#111d2c;color:#69b1ff}[data-theme=dark] ._skillSource_project_ap3j0_118{background:#162312;color:#73d13d}[data-theme=dark] ._skillSource_plugin_ap3j0_119{background:#2b1d11;color:#ffa940}[data-theme=dark] ._skillSource_builtin_ap3j0_120{background:#1a1325;color:#b37feb}._skillDuplicateBadge_ap3j0_128{font-size:11px;line-height:1;padding:2px 5px;border-radius:3px;flex-shrink:0;cursor:help;background:#fff1f0;color:#cf1322;border:1px solid #ffccc7}[data-theme=dark] ._skillDuplicateBadge_ap3j0_128{background:#2a1215;color:#ff7875;border-color:#58181c}._form_u9vra_1{display:flex;flex-direction:column;gap:10px}._row_u9vra_7{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:28px}._label_u9vra_15{display:inline-flex;align-items:center;gap:4px;color:var(--text-secondary, #888);font-size:13px}._help_u9vra_23{color:var(--text-muted, #999);font-size:13px;cursor:help}._center_1ztox_1{display:flex;align-items:center;justify-content:center;padding:32px 0;color:var(--text-muted, #999)}._count_1ztox_9{margin-bottom:10px;font-size:12px;color:var(--text-muted, #999)}._panelHeader_1ztox_15{display:flex;align-items:center;gap:8px;min-width:0}._projName_1ztox_22{font-weight:600;white-space:nowrap}._projPath_1ztox_27{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;color:var(--text-muted, #999)}._delBtn_1ztox_37{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;cursor:pointer;color:var(--text-muted, #999);padding:2px 6px;border-radius:4px}._delBtn_1ztox_37:hover{color:var(--color-error, #e5484d);background:var(--bg-hover, rgba(128, 128, 128, .12))}._pluginDirHint_1nu7t_3{margin-bottom:12px;font-size:12px;color:var(--text-tertiary)}._pluginDirPath_1nu7t_9{font-family:Menlo,Monaco,monospace;color:var(--text-light);cursor:pointer;padding:1px 4px;border-radius:3px;background:var(--bg-elevated)}._pluginDirPath_1nu7t_9:hover{color:var(--color-primary-light)}._pluginList_1nu7t_22{display:flex;flex-direction:column;gap:8px}._pluginItem_1nu7t_28{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border:1px solid var(--border-secondary);border-radius:6px;background:var(--bg-container)}._pluginInfo_1nu7t_38{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}._pluginName_1nu7t_46{font-size:14px;color:var(--text-primary);font-weight:500}._pluginFile_1nu7t_52{font-size:12px;color:var(--text-muted);font-family:Menlo,Monaco,monospace}._pluginHooks_1nu7t_58{display:flex;gap:4px;flex-wrap:wrap;margin-top:2px}._pluginHookTag_1nu7t_65{font-size:11px;padding:0 5px;border-radius:3px;background:var(--color-primary-dark-bg);color:var(--color-primary-lighter);line-height:18px}._pluginActions_1nu7t_74{display:flex;align-items:center;gap:8px;flex-shrink:0;margin-left:12px}._pluginEmpty_1nu7t_82{text-align:center;padding:32px 0;color:var(--text-tertiary)}._pluginModalFooter_1nu7t_88{display:flex;justify-content:space-between;width:100%}._pluginModalFooterLeft_1nu7t_94{display:flex;gap:8px}._pluginDirLabel_1nu7t_99{color:var(--text-tertiary)}._pluginEmptyTitle_1nu7t_103{font-size:14px;margin-bottom:4px}._pluginEmptyHint_1nu7t_108{font-size:12px;color:var(--text-muted)}._cdnUrlLabel_1nu7t_113{margin-bottom:6px;color:var(--text-secondary);font-size:13px}._cdnInput_1nu7t_119{background:var(--bg-elevated);border-color:var(--border-secondary);color:var(--text-primary)}._pluginModalScroll_1nu7t_125{flex:1;min-height:0;overflow:auto;padding:12px 16px 0}._pluginModalFooterBar_1nu7t_132{padding:16px 0;margin-top:16px;border-top:1px solid var(--border-primary)}._currentProcessBtn_1rte5_5{color:var(--color-success);border-color:var(--color-success)}._processModalScroll_1rte5_10{flex:1;min-height:0;overflow:auto;padding:24px 16px 0}._processModalFooterBar_1rte5_17{padding:16px 0;margin-top:16px;border-top:1px solid var(--border-primary)}._fullWidthSelect_16z2q_4{width:100%}._proxyWarning_16z2q_8{background:var(--color-warning-dark-bg);border:1px solid var(--color-warning-dark-border);border-radius:4px;color:var(--color-warning-light);font-size:12px;padding:6px 10px;margin-bottom:10px}._proxyList_16z2q_18{display:flex;flex-direction:column;gap:4px}._proxyItem_16z2q_24{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-radius:6px;border:1px solid transparent;transition:background .15s}._proxyItem_16z2q_24:hover{background:var(--bg-elevated)}._proxyItemActive_16z2q_38{background:var(--color-selection-bg);border-color:var(--color-primary)}._proxyItemMain_16z2q_43{display:flex;align-items:center;cursor:pointer;flex:1;min-width:0}._proxyItemInfo_16z2q_51{display:flex;flex-direction:column;min-width:0}._proxyItemNameRow_16z2q_57{display:flex;align-items:center;gap:6px}._proxyItemName_16z2q_57{font-size:13px;color:var(--text-primary);font-weight:500}._proxyItemDetail_16z2q_69{font-size:11px;color:var(--text-gray);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._proxyBuiltinTag_16z2q_78{font-size:10px;padding:0 4px;border-radius:3px;background:var(--color-primary-dark-bg);color:var(--color-primary-lighter);line-height:16px;border:none}._proxyItemActions_16z2q_88{display:flex;gap:2px;flex-shrink:0}._proxyEditForm_16z2q_94{margin-top:12px;padding:12px;border-radius:6px;background:var(--bg-elevated);border:1px solid var(--border-secondary)}._proxyEditRow_16z2q_102{margin-bottom:8px}._proxyEditRow_16z2q_102 label{display:block;font-size:12px;color:var(--text-tertiary);margin-bottom:4px}._proxyRequired_16z2q_113{color:var(--color-error);margin-left:2px}._proxyEditDivider_16z2q_118{border-top:1px dashed var(--border-secondary);margin:10px 0 8px}._proxyEditBtns_16z2q_123{display:flex;gap:8px;margin-top:12px}._proxyModalScroll_16z2q_129{flex:1;min-height:0;overflow:auto;padding:12px 16px 0}
41
+ */.hljs{color:#c9d1d9;background:#0d1117}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#ff7b72}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#d2a8ff}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-variable,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id{color:#79c0ff}.hljs-regexp,.hljs-string,.hljs-meta .hljs-string{color:#a5d6ff}.hljs-built_in,.hljs-symbol{color:#ffa657}.hljs-comment,.hljs-code,.hljs-formula{color:#8b949e}.hljs-name,.hljs-quote,.hljs-selector-tag,.hljs-selector-pseudo{color:#7ee787}.hljs-subst{color:#c9d1d9}.hljs-section{color:#1f6feb;font-weight:700}.hljs-bullet{color:#f2cc60}.hljs-emphasis{color:#c9d1d9;font-style:italic}.hljs-strong{color:#c9d1d9;font-weight:700}.hljs-addition{color:#aff5b4;background-color:#033a16}.hljs-deletion{color:#ffdcd7;background-color:#67060c}._fullFileDiffView_1o8kb_1{width:100%;height:100%;display:flex;flex-direction:column;background:var(--bg-base-alt);overflow:hidden;-webkit-text-size-adjust:100%;text-size-adjust:100%}._diffSummary_1o8kb_12{padding:8px 16px;background:var(--bg-container);border-bottom:1px solid var(--border-primary);display:flex;gap:8px;align-items:center;flex-shrink:0}._addedBadge_1o8kb_22{padding:2px 8px;background:var(--color-diff-add-bg);border:1px solid var(--color-diff-add-bg);border-radius:4px;font-size:11px;font-weight:600;color:var(--color-diff-add);font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,Courier New,monospace}._deletedBadge_1o8kb_33{padding:2px 8px;background:var(--color-error-bg-light);border:1px solid var(--color-error-bg-medium);border-radius:4px;font-size:11px;font-weight:600;color:var(--color-error);font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,Courier New,monospace}._codeContainer_1o8kb_44{flex:1;overflow:hidden;display:flex;min-height:0;font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,Courier New,monospace;font-size:12px;line-height:1.6}._lineNumberCol_1o8kb_54{flex-shrink:0;overflow:hidden;background:var(--bg-base-alt);border-right:1px solid var(--border-primary);-webkit-user-select:none;user-select:none}._lineNumRow_1o8kb_62{display:flex;min-height:20px}._oldLineNum_1o8kb_67,._newLineNum_1o8kb_68{display:inline-block;width:40px;text-align:right;padding:0 6px;font-size:12px;box-sizing:border-box}._lineNumNormal_1o8kb_77 ._oldLineNum_1o8kb_67,._lineNumNormal_1o8kb_77 ._newLineNum_1o8kb_68{color:var(--text-disabled)}._lineNumAdd_1o8kb_82{border-right:3px solid var(--color-diff-add)}._lineNumAdd_1o8kb_82 ._oldLineNum_1o8kb_67{color:var(--text-disabled)}._lineNumAdd_1o8kb_82 ._newLineNum_1o8kb_68{color:var(--color-diff-add);font-weight:600}._lineNumDelete_1o8kb_95{border-right:3px solid var(--color-error)}._lineNumDelete_1o8kb_95 ._oldLineNum_1o8kb_67{color:var(--color-error);font-weight:600}._lineNumDelete_1o8kb_95 ._newLineNum_1o8kb_68{color:var(--text-disabled)}._codeColWrap_1o8kb_108{flex:1;position:relative;min-width:0;overflow:hidden}._codeCol_1o8kb_108{width:100%;height:100%;overflow:auto;min-width:0}._codeInner_1o8kb_122{width:fit-content;min-width:100%}._codeLine_1o8kb_127{position:relative;min-height:20px;display:flex;transition:background .1s}._codeLine_1o8kb_127:hover{background:var(--overlay-light-faint)}._linePrefix_1o8kb_138{display:inline-block;width:16px;text-align:center;color:var(--text-tertiary);flex-shrink:0;-webkit-user-select:none;user-select:none}._lineContent_1o8kb_147{padding-right:16px;color:var(--text-secondary);white-space:pre}._lineNormal_1o8kb_153{background:#0000}._lineAdd_1o8kb_157{background:var(--color-diff-add-bg)}._lineAdd_1o8kb_157 ._linePrefix_1o8kb_138{color:var(--color-diff-add)}._lineDelete_1o8kb_165{background:var(--color-error-bg-faint)}._lineDelete_1o8kb_165 ._linePrefix_1o8kb_138{color:var(--color-error)}._lineDelete_1o8kb_165 ._lineContent_1o8kb_147{text-decoration:line-through;opacity:.8}._miniMap_1ho3j_1{position:absolute;top:0;right:0;width:10px;height:100%;cursor:pointer;z-index:10}._marker_1ho3j_11{position:absolute;left:0;width:100%;border-radius:1px;pointer-events:none}._gitDiffView_ypk84_1{flex:1;display:flex;flex-direction:column;background:var(--bg-base-alt);overflow:hidden;animation:_slideInFromRight_ypk84_1 .25s ease-out}@keyframes _slideInFromRight_ypk84_1{0%{transform:translate(-40px);opacity:0}to{transform:translate(0);opacity:1}}._closing_ypk84_21{animation:_slideOutToRight_ypk84_1 .2s ease-in forwards}@keyframes _slideOutToRight_ypk84_1{0%{transform:translate(0);opacity:1}to{transform:translate(-40px);opacity:0}}._header_ypk84_36{display:flex;align-items:center;justify-content:space-between;padding:6px 16px;border-bottom:1px solid var(--border-primary);background:var(--bg-container);flex-shrink:0}._headerLeft_ypk84_46{display:flex;align-items:center;gap:12px;flex:1;min-width:0}._backBtn_ypk84_54{width:28px;height:28px;border:none;background:none;color:var(--text-tertiary);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:4px;padding:0;flex-shrink:0;transition:all .15s}._backBtn_ypk84_54:hover{color:var(--text-secondary);background:var(--bg-surface)}._filePath_ypk84_75{font-size:13px;color:var(--text-secondary);font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,Courier New,monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;transition:color .15s}._filePath_ypk84_75:hover{color:var(--color-info-light);text-decoration:underline}._diffBadge_ypk84_91{padding:2px 8px;background:var(--bg-surface);border:1px solid var(--border-light);border-radius:4px;font-size:10px;font-weight:600;color:var(--color-accent-yellow);letter-spacing:.5px;flex-shrink:0}._headerRight_ypk84_103{display:flex;align-items:center;flex-shrink:0}._closeBtn_ypk84_109{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;background:transparent;color:var(--text-tertiary);border-radius:6px;cursor:pointer;transition:background .15s,color .15s}._closeBtn_ypk84_109:hover{background:var(--overlay-light-medium);color:var(--text-primary)}._contentContainer_ypk84_129{flex:1;overflow:auto;position:relative}._loading_ypk84_135{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-tertiary);font-size:13px}._error_ypk84_144{display:flex;align-items:center;justify-content:center;height:100%;color:var(--color-error-light);font-size:13px;padding:20px;text-align:center}._binaryNotice_ypk84_155{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-tertiary);font-size:13px;font-style:italic;padding:20px;text-align:center}._largeFileWarning_ypk84_167{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--color-accent-yellow);font-size:13px;padding:20px;text-align:center;gap:8px}._fileSize_ypk84_180{color:var(--text-tertiary);font-size:12px;margin:0}._imagePreviewWrap_ypk84_186{display:flex;align-items:center;justify-content:center;height:100%;padding:20px}._imagePreview_ypk84_186{max-width:100%;max-height:100%;object-fit:contain;border-radius:4px;cursor:zoom-in;transition:opacity .2s}._imagePreview_ypk84_186:hover{opacity:.85}._panel_sccpn_1{position:absolute;bottom:100%;margin-bottom:8px;left:16px;right:16px;z-index:99999;background:var(--bg-elevated);border:none;border-radius:12px;padding:12px 16px;box-shadow:0 4px 32px var(--shadow-approval-heavy),0 0 12px var(--shadow-approval-glow);animation:_slideUp_sccpn_1 .2s ease-out}._panelGlobal_sccpn_20{position:fixed;bottom:max(calc(var(--chat-input-bar-height, 200px) + 12px),56px);left:10px;right:10px;z-index:99999;background:var(--bg-elevated);border:none;border-radius:12px;padding:10px 14px;box-shadow:0 4px 32px var(--shadow-approval-heavy),0 0 12px var(--shadow-approval-glow);animation:_slideUp_sccpn_1 .2s ease-out;font-size:80%}._panelGlobal_sccpn_20 ._toolName_sccpn_43{font-size:14px}._panelGlobal_sccpn_20 ._command_sccpn_47{font-size:12px;max-height:80px;padding:6px 10px}._panelGlobal_sccpn_20 ._allowBtn_sccpn_53,._panelGlobal_sccpn_20 ._allowSessionBtn_sccpn_54,._panelGlobal_sccpn_20 ._denyBtn_sccpn_55{padding:7px 18px;font-size:14px}._borderSvg_sccpn_60{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;overflow:visible}._borderSvgInset_sccpn_69{overflow:hidden}._borderRect_sccpn_73{animation:_dashRotate_sccpn_1 4s linear infinite}@keyframes _dashRotate_sccpn_1{0%{stroke-dashoffset:0}to{stroke-dashoffset:-100}}@keyframes _slideUp_sccpn_1{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes _slideDown_sccpn_1{0%{transform:translateY(0);opacity:1}to{transform:translateY(100%);opacity:0}}._exiting_sccpn_92{animation:_slideDown_sccpn_1 .2s ease-in forwards}._header_sccpn_96{display:flex;align-items:center;gap:8px;margin-bottom:8px}._toolName_sccpn_43{color:var(--text-primary);font-weight:600;font-size:13px;font-family:SF Mono,Menlo,Monaco,Consolas,monospace}._label_sccpn_110{color:var(--color-approval-label);font-size:12px;font-weight:500;margin-left:auto}._subAgentBadge_sccpn_117{display:inline-block;padding:1px 6px;border-radius:4px;background:var(--color-primary-bg-light);color:var(--color-primary-light);font-size:11px;font-weight:500;letter-spacing:.02em}._body_sccpn_128{margin-bottom:12px}._command_sccpn_47{background:var(--bg-container-alt);border:1px solid var(--border-primary);border-radius:6px;padding:8px 12px;color:var(--text-secondary);font-size:12px;font-family:SF Mono,Menlo,Monaco,Consolas,monospace;line-height:1.5;max-height:120px;overflow-y:auto;white-space:pre-wrap;word-break:break-all;margin:0}._detail_sccpn_148{margin-top:6px;color:var(--text-tertiary);font-size:11px;font-family:SF Mono,Menlo,Monaco,Consolas,monospace;white-space:pre-wrap;word-break:break-all;max-height:40px;overflow:hidden}._actions_sccpn_159{display:flex;align-items:center;gap:8px}._autoApproveBtn_sccpn_165{margin-right:auto;padding:4px 10px;border-radius:4px;border:1px solid var(--border-light);background:transparent;color:var(--text-muted);font-size:11px;cursor:pointer;transition:color .15s,border-color .15s;white-space:nowrap}._autoApproveBtn_sccpn_165:hover{color:var(--text-secondary);border-color:var(--text-muted)}._autoApproveActive_sccpn_183{color:var(--color-success);border-color:var(--color-success)}._autoApproveActive_sccpn_183:hover{color:var(--color-success-light);border-color:var(--color-success-light)}._allowBtn_sccpn_53{padding:6px 20px;border-radius:6px;border:1px solid var(--color-success);background:var(--color-success-bg-light);color:var(--color-success);font-size:13px;font-weight:500;cursor:pointer;transition:background .15s}._allowBtn_sccpn_53:hover{background:var(--color-success-bg-medium)}._allowSessionBtn_sccpn_54{padding:6px 16px;border-radius:6px;border:1px solid var(--color-primary-light);background:var(--color-primary-bg-light);color:var(--color-primary-light);font-size:12px;font-weight:500;cursor:pointer;transition:background .15s}._allowSessionBtn_sccpn_54:hover{background:var(--color-primary-bg-medium)}._denyBtn_sccpn_55{padding:6px 20px;border-radius:6px;border:1px solid var(--color-error);background:var(--color-error-bg-light);color:var(--color-error);font-size:13px;font-weight:500;cursor:pointer;transition:background .15s}._denyBtn_sccpn_55:hover{background:var(--color-error-bg-medium)}._allowBtn_sccpn_53:focus-visible,._allowSessionBtn_sccpn_54:focus-visible,._denyBtn_sccpn_55:focus-visible{outline:2px solid currentColor;outline-offset:2px}@media(max-width:768px){._panel_sccpn_1{right:10px;left:10px;border-radius:12px;padding:16px 20px}._toolName_sccpn_43{font-size:18px}._command_sccpn_47{font-size:16px;max-height:160px}._allowBtn_sccpn_53,._allowSessionBtn_sccpn_54,._denyBtn_sccpn_55{padding:10px 28px;font-size:18px}}html.pad-mode ._panel_sccpn_1{right:16px;left:16px;padding:12px 16px;z-index:99999}html.pad-mode ._toolName_sccpn_43{font-size:13px}html.pad-mode ._command_sccpn_47{font-size:12px;max-height:120px}html.pad-mode ._allowBtn_sccpn_53,html.pad-mode ._allowSessionBtn_sccpn_54,html.pad-mode ._denyBtn_sccpn_55{padding:6px 20px;font-size:13px}html.pad-mode ._panelGlobal_sccpn_20{font-size:90%}html.pad-mode ._panelGlobal_sccpn_20 ._toolName_sccpn_43{font-size:14px}html.pad-mode ._panelGlobal_sccpn_20 ._command_sccpn_47{font-size:13px;max-height:100px}html.pad-mode ._panelGlobal_sccpn_20 ._allowBtn_sccpn_53,html.pad-mode ._panelGlobal_sccpn_20 ._allowSessionBtn_sccpn_54,html.pad-mode ._panelGlobal_sccpn_20 ._denyBtn_sccpn_55{padding:8px 22px;font-size:14px}._teamActiveSpinner_jsskf_1{position:absolute;bottom:4px;right:4px;width:10px;height:10px;border:2px solid var(--overlay-light-medium);border-top-color:var(--color-warning);border-radius:50%;animation:_teamSpin_jsskf_1 .8s linear infinite}@keyframes _teamSpin_jsskf_1{to{transform:rotate(360deg)}}._teamPopover_jsskf_17{min-width:200px;max-width:320px;padding:8px 0}._teamPopoverTitle_jsskf_23{font-size:13px;font-weight:600;color:var(--text-primary);padding:4px 12px 8px;border-bottom:1px solid var(--border-primary)}._teamPopoverItem_jsskf_31{display:flex;align-items:center;padding:6px 12px;cursor:pointer;transition:background .15s;font-size:12px;color:var(--text-secondary)}._teamPopoverItem_jsskf_31:hover{background:var(--bg-elevated)}._teamPopoverName_jsskf_45{flex:1;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._teamPopoverMeta_jsskf_53{color:var(--text-muted);font-size:11px;margin:0 8px;flex-shrink:0}._teamPopoverTime_jsskf_60{color:var(--text-disabled);font-size:11px;flex-shrink:0}._teamModalBody_jsskf_66{flex:1;min-width:0;overflow-y:auto;padding:16px 24px;display:flex;flex-direction:column;gap:4px}._teamGanttToggle_jsskf_76{cursor:pointer;padding:8px 16px;font-size:12px;color:var(--text-tertiary);-webkit-user-select:none;user-select:none;border-bottom:1px solid var(--border-primary);transition:color .15s}._teamGanttToggle_jsskf_76:hover{color:var(--text-secondary)}._ganttExportBtn_jsskf_90{display:inline-flex;align-items:center;margin-left:8px;padding:2px 4px;color:var(--text-muted);cursor:pointer;border-radius:3px;transition:color .15s,background .15s}._ganttExportBtn_jsskf_90:hover{color:var(--text-secondary);background:var(--bg-surface)}._teamGanttWrap_jsskf_106{--gantt-label-width: 110px;padding:8px 16px 4px;position:relative;max-height:120px;overflow-y:auto;flex-shrink:0}._teamGanttResizer_jsskf_115{height:5px;cursor:ns-resize;background:#0000;border-bottom:1px solid var(--border-primary);flex-shrink:0;transition:background .15s}._teamGanttResizer_jsskf_115:hover{background:var(--border-secondary)}._teamGanttRow_jsskf_128{display:flex;align-items:center;height:22px;margin-bottom:3px}._teamGanttLabel_jsskf_135{width:calc(var(--gantt-label-width) - 10px);font-size:11px;color:var(--text-tertiary);text-align:right;padding-right:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:0}._teamGanttTrack_jsskf_147{flex:1;height:14px;background:var(--bg-container);border-radius:3px;position:relative;overflow:hidden}._teamGanttBar_jsskf_156{position:absolute;height:100%;border-radius:3px;min-width:4px;top:0}._teamGanttDiamond_jsskf_164{position:absolute;top:50%;transform:translate(-50%,-50%);font-size:12px;line-height:1;z-index:2;pointer-events:auto;cursor:default;filter:drop-shadow(0 0 2px var(--overlay-dark-strong));transition:transform .15s}._teamGanttDiamond_jsskf_164:hover{transform:translate(-50%,-50%) scale(1.4)}._teamGanttArrows_jsskf_181{position:absolute;top:0;left:var(--gantt-label-width);right:0;width:calc(100% - var(--gantt-label-width));pointer-events:none;z-index:5}._teamGanttIndicator_jsskf_191{position:absolute;top:0;bottom:0;width:2px;background:var(--color-primary-pale);z-index:10;pointer-events:none;box-shadow:0 0 6px var(--color-primary-pale-shadow);transition:left .15s ease-out}._teamModalLayout_jsskf_203{display:flex;height:100%}._teamAgentCards_jsskf_208{width:160px;flex-shrink:0;border-right:1px solid var(--border-primary);overflow-y:auto;background:var(--bg-base-alt);padding:8px}._teamAgentCard_jsskf_208{padding:8px;border-radius:0;margin-bottom:6px;border-left:3px solid var(--border-secondary);background:var(--bg-container);transition:background .15s}._teamAgentCard_jsskf_208:hover,._teamAgentCard_jsskf_208._teamAgentCardActive_jsskf_232{background:var(--bg-elevated)}._teamAgentCardHeader_jsskf_236{display:flex;align-items:center;gap:6px}._teamAgentAvatar_jsskf_242{width:20px;height:20px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;overflow:hidden;color:var(--model-logo-mono)}._teamAgentAvatar_jsskf_242 svg{width:14px;height:14px;fill:currentColor}._teamAgentName_jsskf_260{font-size:12px;font-weight:500;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._teamAgentType_jsskf_269{font-size:10px;color:var(--text-muted);margin-top:2px}._teamAgentStatus_jsskf_275{font-size:10px;margin-top:4px}._teamAgentPopover_jsskf_280{padding:10px 12px;min-width:200px}._teamAgentPopTeammateMsg_jsskf_285{background:var(--bg-code-system);border:1px solid var(--border-code-system);border-radius:6px;padding:10px 12px;margin-bottom:8px}._teamAgentPopTmSummary_jsskf_293{font-size:12px;font-weight:600;color:var(--color-primary-pale);margin-bottom:6px}._teamAgentPopTmContent_jsskf_300{font-size:12px;color:var(--text-secondary);line-height:1.6}._teamAgentPopTask_jsskf_306{font-size:13px;font-weight:600;color:var(--text-primary);margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid var(--border-primary)}._teamAgentPopMsg_jsskf_315{font-size:12px;color:var(--text-secondary);line-height:1.5;white-space:pre-wrap;word-break:break-word;margin-bottom:8px;padding:6px 8px;background:var(--bg-container);border-radius:4px;border:1px solid var(--border-primary)}._teammateReportEntry_jsskf_328{background:var(--bg-code-system);border:1px solid var(--border-code-system);border-radius:8px;padding:12px;margin:4px 0}._teammateReportHeader_jsskf_336{display:flex;align-items:center;gap:8px;margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid var(--border-code-system)}._teammateReportName_jsskf_345{font-size:13px;font-weight:600;color:var(--text-primary)}._teammateReportSummary_jsskf_351{font-size:12px;color:var(--color-primary-pale);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}._teammateReportBody_jsskf_360{font-size:12px;color:var(--text-secondary);line-height:1.6}._teamModalContent_jsskf_366{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden}._teamBtnRelative_jsskf_374{position:relative}._ganttLabelLead_jsskf_378{color:var(--color-primary);font-weight:600}._ganttLabelAgent_jsskf_383{color:var(--text-primary)}._ganttTimeAxisRow_jsskf_387{margin-top:2px}._ganttTimeAxisTrack_jsskf_391{background:#0000;height:16px;position:relative}._ganttTickLabel_jsskf_397{position:absolute;transform:translate(-50%);font-size:9px;color:var(--text-disabled);white-space:nowrap}._teamPopoverStatus_jsskf_405{margin-right:6px;font-size:10px}._statusConverged_jsskf_411{color:var(--color-success);opacity:.55}._statusPending_jsskf_417{color:var(--text-tertiary)}._statusPossiblyAlive_jsskf_422{color:var(--color-warning-light)}._statusReused_jsskf_427{color:var(--text-tertiary);font-style:italic}._ganttIndicatorInitial_jsskf_432{left:110px}._teamModalTitle_jsskf_436{color:var(--text-primary);font-size:15px}._teamLeadCard_jsskf_441{border-left-color:var(--color-primary)}._agentNoMessages_jsskf_445{color:var(--text-muted);font-size:12px}._teamAgentCardClickable_jsskf_450{border-left-color:var(--text-primary);cursor:pointer}._agentStatusDurSuffix_jsskf_455{color:var(--text-tertiary)}._wfPopover_1fpr3_3{min-width:220px;max-width:360px;padding:8px 0}._wfPopoverScroll_1fpr3_10{max-height:calc(100vh - 48px);overflow-y:auto;overflow-x:hidden}._wfPopoverTitle_1fpr3_16{font-size:13px;font-weight:600;color:var(--text-primary);padding:4px 12px 8px;border-bottom:1px solid var(--border-primary)}._wfPopoverItem_1fpr3_24{display:flex;align-items:center;padding:6px 12px;cursor:pointer;transition:background .15s;font-size:12px;color:var(--text-secondary)}._wfPopoverItem_1fpr3_24:hover{background:var(--bg-elevated)}._wfPopoverStatus_1fpr3_38{margin-right:6px;font-size:10px;flex-shrink:0}._wfPopoverName_1fpr3_44{flex:1;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._wfPopoverMeta_1fpr3_52{color:var(--text-muted);font-size:11px;margin:0 6px;flex-shrink:0}._wfPopoverTime_1fpr3_59{color:var(--text-disabled);font-size:11px;flex-shrink:0}._wfModalTitle_1fpr3_65{font-weight:600}._wfModalBody_1fpr3_69{max-height:calc(100vh - 160px);overflow-y:auto}._snapLine_1qd8k_1{position:absolute;top:0;bottom:0;width:2px;background:#0000;border-left:2px dashed var(--overlay-light-medium);pointer-events:none;z-index:1000;transition:all .15s}._snapLineActive_1qd8k_13{position:absolute;top:0;bottom:0;width:2px;background:#0000;border-left:2px dashed var(--overlay-light-half);pointer-events:none;z-index:1001}._snapPreview_1qd8k_24{position:absolute;top:0;bottom:0;background:var(--overlay-light-medium);pointer-events:none;z-index:999}._roleFilterBar_122ad_1{display:flex;align-items:center;gap:6px;padding:0 12px;height:41px;background:var(--bg-base-pure);border-bottom:1px solid var(--border-secondary);overflow-x:auto;flex-shrink:0}._roleChip_122ad_12,._roleChipActive_122ad_12{display:flex;align-items:center;gap:4px;padding:3px 8px;border-radius:12px;border:1px solid var(--border-secondary);background:#0000;color:var(--text-tertiary);font-size:11px;cursor:pointer;white-space:nowrap;transition:border-color .15s,color .15s}._roleChipActive_122ad_12{border-color:var(--color-primary-pale);color:var(--text-secondary)}._roleChip_122ad_12:hover,._roleChipActive_122ad_12:hover{border-color:var(--text-disabled)}._roleAvatar_122ad_33{width:16px;height:16px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#fff}._roleAvatar_122ad_33 svg{width:10px;height:10px}._roleAvatarImg_122ad_47{width:16px;height:16px;border-radius:50%;flex-shrink:0;object-fit:cover}._roleName_122ad_54{max-width:80px;overflow:hidden;text-overflow:ellipsis}._roleCheck_122ad_59{color:var(--color-primary-pale);font-size:10px}._chatInputBar_uvhdv_1{padding:8px 16px 12px;background:var(--bg-input-bar);flex-shrink:0}._chatInputWrapper_uvhdv_7{display:flex;flex-direction:column;background:var(--bg-elevated);border:1px solid var(--border-secondary);border-radius:16px;transition:border-color .2s;overflow:visible}._chatInputWrapper_uvhdv_7:focus-within{border-color:var(--text-disabled)}._chatTextareaWrap_uvhdv_21{position:relative;flex:1}._textareaWithGhost_uvhdv_28{position:relative}._chatTextarea_uvhdv_21{width:100%;min-height:22px;max-height:120px;padding:12px 14px 4px;background:#0000;color:var(--text-primary);border:none;outline:none;resize:none;font-size:14px;line-height:1.5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;box-sizing:border-box}._chatTextarea_uvhdv_21::placeholder{color:var(--text-disabled)}._chatInputBottom_uvhdv_52{display:flex;align-items:center;padding:4px 6px 6px;gap:4px}._chatInputBottomLeft_uvhdv_60,._chatInputBottomRight_uvhdv_62{display:flex;align-items:center;gap:4px;flex:0 0 auto}._chatInputBottomRight_uvhdv_62{margin-left:auto}._plusArea_uvhdv_74{position:relative}._plusBtn_uvhdv_78,._micBtn_uvhdv_79{width:28px;height:28px;border-radius:50%;border:1px solid var(--border-light);background:#0000;color:var(--text-tertiary);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s,color .15s,border-color .15s,transform .25s ease}._plusBtnOpen_uvhdv_94{transform:rotate(45deg)}._plusBtn_uvhdv_78:hover,._micBtn_uvhdv_79:hover{background:var(--bg-surface);color:var(--text-secondary);border-color:var(--text-muted)}._micBtnRecording_uvhdv_105,._micBtnRecording_uvhdv_105:hover{background:var(--color-error);color:#fff;border-color:var(--color-error);animation:_ccvMicPulse_uvhdv_1 1.4s ease-in-out infinite}@keyframes _ccvMicPulse_uvhdv_1{0%,to{box-shadow:0 0 rgba(var(--color-error-rgb),.45)}50%{box-shadow:0 0 0 6px rgba(var(--color-error-rgb),0)}}@media(prefers-reduced-motion:reduce){._micBtnRecording_uvhdv_105,._micBtnRecording_uvhdv_105:hover{animation:none}}._interimPreview_uvhdv_125{position:absolute;left:14px;right:14px;bottom:4px;z-index:101;color:var(--text-secondary);font-size:12px;font-style:italic;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;white-space:pre-wrap;max-height:40px;overflow:hidden;-webkit-user-select:none;user-select:none;pointer-events:none;background:linear-gradient(to bottom,transparent 0%,var(--bg-elevated) 30%);padding-top:8px}._plusOverlay_uvhdv_144{position:fixed;top:0;left:0;right:0;bottom:0;z-index:99}._plusMenu_uvhdv_153{position:absolute;bottom:36px;left:0;background:var(--bg-elevated);border:1px solid var(--border-hover);border-radius:10px;padding:4px;min-width:140px;box-shadow:0 4px 16px var(--overlay-dark-light);z-index:100}._plusMenuItem_uvhdv_166{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;border:none;background:#0000;color:var(--text-secondary);font-size:13px;cursor:pointer;border-radius:6px;transition:background .15s;white-space:nowrap}._plusMenuItem_uvhdv_166:hover{background:var(--bg-surface)}._plusMenuItemMuted_uvhdv_186{color:var(--text-tertiary);border-bottom:1px solid var(--border-light);margin-bottom:2px}._plusMenuItemMuted_uvhdv_186:hover{color:var(--text-primary)}._plusMenuItem_uvhdv_166 svg{width:16px;height:16px;flex-shrink:0}._plusMenuItemMuted_uvhdv_186 svg{stroke:var(--text-tertiary);transition:stroke .15s}._plusMenuItemMuted_uvhdv_186:hover svg{stroke:var(--text-primary)}._presetLabel_uvhdv_212{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._plusMenuQuick_uvhdv_220{min-width:200px}._plusBtn_uvhdv_78 svg{width:16px;height:16px}._quickMenuPresetItem_uvhdv_232{max-width:260px;overflow:hidden;text-overflow:ellipsis}._chatInputHint_uvhdv_238{font-size:11px;color:var(--border-light);-webkit-user-select:none;user-select:none;padding:0 4px}._ctxBarSlot_uvhdv_61{flex:0 1 200px;max-width:200px;min-width:0;display:flex;align-items:stretch;height:28px;margin-left:4px}._ctxBarSlot_uvhdv_61>*{flex:1 1 0;min-width:0}._sendBtn_uvhdv_263{width:28px;height:28px;border-radius:50%;border:none;background:var(--text-white);color:var(--bg-base-pure);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:opacity .15s}._sendBtnDisabled_uvhdv_278{background:var(--border-light);color:var(--text-tertiary);cursor:default}._sendBtn_uvhdv_263 svg{width:16px;height:16px}._ghostText_uvhdv_289{position:absolute;top:0;left:0;right:0;padding:12px 14px 4px;color:var(--border-light);font-size:14px;line-height:1.5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;pointer-events:none;white-space:pre-wrap;overflow:hidden;max-height:120px}._suggestionChip_uvhdv_305{display:flex;align-items:center;gap:8px;padding:8px 14px;background:var(--bg-elevated);border-top:1px solid var(--border-primary);cursor:pointer;flex-shrink:0;transition:background .15s;height:35px}._suggestionChip_uvhdv_305:hover{background:var(--bg-elevated)}._suggestionChipText_uvhdv_322{flex:1;color:var(--text-disabled);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._suggestionChipAction_uvhdv_331{color:var(--color-primary-pale);font-size:14px;flex-shrink:0}._imagePreviewStrip_uvhdv_338{display:flex;gap:8px;padding:8px 14px 0;overflow-x:auto;scrollbar-width:none}._imagePreviewStrip_uvhdv_338::-webkit-scrollbar{display:none}._imagePreviewItem_uvhdv_350{position:relative;width:48px;height:48px;border-radius:6px;overflow:hidden;flex-shrink:0;border:1px solid var(--border-light);transition:border-color .15s}._imagePreviewItem_uvhdv_350:hover{border-color:var(--color-primary-pale)}._imagePreviewThumb_uvhdv_365{width:100%;height:100%;object-fit:cover;cursor:pointer}._imagePreviewUploading_uvhdv_373{cursor:default}._imagePreviewSpinner_uvhdv_377{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#00000059}._imagePreviewRemove_uvhdv_386{position:absolute;top:2px;right:2px;width:16px;height:16px;border-radius:50%;background:#000000b3;color:#fff;border:none;font-size:12px;line-height:14px;text-align:center;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s}._imagePreviewItem_uvhdv_350:hover ._imagePreviewRemove_uvhdv_386{opacity:1}@media(hover:none){._imagePreviewRemove_uvhdv_386,._filePreviewClose_uvhdv_414{opacity:1;min-width:22px;min-height:22px}}._filePreviewChip_uvhdv_421{display:flex;align-items:center;gap:6px;padding:6px 10px;background:var(--bg-surface);border:1px solid var(--border-hover);border-radius:8px;flex-shrink:0;max-width:200px;color:var(--text-secondary);transition:border-color .15s}._filePreviewChip_uvhdv_421:hover{border-color:var(--color-primary-pale)}._filePreviewChip_uvhdv_421 svg{flex-shrink:0;color:var(--text-tertiary)}._filePreviewName_uvhdv_444{font-size:12px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._filePreviewClose_uvhdv_414{flex-shrink:0;width:16px;height:16px;border-radius:50%;background:transparent;color:var(--text-muted);border:none;font-size:14px;line-height:14px;text-align:center;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;transition:color .15s}._filePreviewClose_uvhdv_414:hover{color:var(--text-primary)}@media(max-width:768px){._chatInputBar_uvhdv_1{padding:10px 21px 16px;background:transparent}._chatInputWrapper_uvhdv_7{border-radius:21px}._chatTextarea_uvhdv_21{min-height:52px;max-height:208px;padding:18px 21px 8px;font-size:22px}._ghostText_uvhdv_289{padding:18px 21px 8px;font-size:22px}._chatInputBottom_uvhdv_52{padding:8px 10px 10px;gap:8px}._plusBtn_uvhdv_78,._micBtn_uvhdv_79{width:47px;height:47px}._plusBtn_uvhdv_78 svg,._micBtn_uvhdv_79 svg{width:23px;height:23px}._interimPreview_uvhdv_125{left:21px;right:21px;bottom:8px;font-size:17px;max-height:60px;padding-top:12px}._plusMenu_uvhdv_153{bottom:57px}._plusMenuItem_uvhdv_166{padding:13px 18px;font-size:20px}._chatInputHint_uvhdv_238{font-size:17px}._sendBtn_uvhdv_263{width:47px;height:47px}._sendBtn_uvhdv_263 svg{width:23px;height:23px}._imagePreviewStrip_uvhdv_338{gap:10px;padding:10px 18px 0}._imagePreviewItem_uvhdv_350{width:56px;height:56px;border-radius:8px}._imagePreviewRemove_uvhdv_386{width:20px;height:20px;font-size:14px;opacity:1}._filePreviewChip_uvhdv_421{padding:8px 12px;gap:8px;border-radius:10px;max-width:240px}._filePreviewName_uvhdv_444{font-size:15px}._filePreviewClose_uvhdv_414{width:20px;height:20px;font-size:16px}}html.pad-mode ._chatInputBar_uvhdv_1{padding:8px 16px 12px}html.pad-mode ._chatInputWrapper_uvhdv_7{border-radius:16px}html.pad-mode ._chatTextarea_uvhdv_21{min-height:22px;max-height:120px;padding:12px 14px 4px;font-size:14px}html.pad-mode ._ghostText_uvhdv_289{padding:12px 14px 4px;font-size:14px}html.pad-mode ._chatInputBottom_uvhdv_52{padding:4px 6px 6px;gap:4px}html.pad-mode ._plusBtn_uvhdv_78,html.pad-mode ._micBtn_uvhdv_79{width:28px;height:28px}html.pad-mode ._plusBtn_uvhdv_78 svg,html.pad-mode ._micBtn_uvhdv_79 svg{width:16px;height:16px}html.pad-mode ._interimPreview_uvhdv_125{left:14px;right:14px;bottom:4px;font-size:12px;max-height:40px;padding-top:8px}html.pad-mode ._plusMenu_uvhdv_153{bottom:36px}html.pad-mode ._plusMenuItem_uvhdv_166{padding:8px 12px;font-size:13px}html.pad-mode ._chatInputHint_uvhdv_238{font-size:11px}html.pad-mode ._sendBtn_uvhdv_263{width:28px;height:28px}html.pad-mode ._sendBtn_uvhdv_263 svg{width:16px;height:16px}html.pad-mode ._imagePreviewStrip_uvhdv_338{gap:8px;padding:8px 14px 0}html.pad-mode ._imagePreviewItem_uvhdv_350{width:48px;height:48px;border-radius:6px}html.pad-mode ._imagePreviewRemove_uvhdv_386{width:16px;height:16px;font-size:12px;opacity:0}html.pad-mode ._filePreviewChip_uvhdv_421{padding:6px 10px;gap:6px;border-radius:8px;max-width:200px}html.pad-mode ._filePreviewName_uvhdv_444{font-size:12px}html.pad-mode ._filePreviewClose_uvhdv_414{width:16px;height:16px;font-size:12px}._sendBtnWrap_uvhdv_608{position:relative;display:flex;flex-shrink:0}._bar_m7vks_2{flex:0 0 auto;margin:0 8px 6px;background:var(--bg-container);border:1px solid var(--border-secondary);border-radius:8px;font-size:12px;overflow:hidden}._header_m7vks_12{display:flex;align-items:center;gap:8px;padding:6px 10px;cursor:pointer;border-bottom:1px solid var(--border-secondary)}._title_m7vks_21{flex:0 0 auto;max-width:200px;font-weight:600;color:var(--color-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}._stat_m7vks_31{flex:1 1 auto;min-width:0;color:var(--text-secondary);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}._actions_m7vks_41{flex:0 0 auto;display:flex;align-items:center;gap:4px}._viewToggle_m7vks_48{display:inline-flex;gap:0;padding:2px;background:var(--bg-sub-avatar, rgba(127, 127, 127, .12));border-radius:6px}._viewBtn_m7vks_56{background:transparent;border:none;color:var(--text-secondary);font-size:11px;line-height:1.5;padding:1px 10px;cursor:pointer;border-radius:4px;transition:color .12s ease,background .12s ease}._viewBtn_m7vks_56:hover{color:var(--color-primary)}._viewBtnActive_m7vks_70,._viewBtnActive_m7vks_70:hover{color:#fffffff5;background:var(--color-primary)}._iconBtn_m7vks_76{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;font-size:12px;line-height:1;padding:2px 4px;border-radius:4px}._iconBtn_m7vks_76:hover{color:var(--color-primary);background:var(--color-primary-pale)}._rows_m7vks_92{max-height:60vh;overflow-y:auto;padding:4px 0}._row_m7vks_92{display:flex;align-items:baseline;gap:8px;padding:2px 10px;line-height:1.6}._head_m7vks_12{color:var(--text-gray);font-size:11px;text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid var(--border-secondary);padding-top:2px;padding-bottom:5px;margin-bottom:2px}._head_m7vks_12 ._labelCell_m7vks_118{color:var(--text-gray)}._dot_m7vks_120{flex:0 0 auto;width:1em;text-align:center;font-size:11px}._labelCell_m7vks_118{flex:1 1 auto;min-width:0;display:flex;align-items:baseline;gap:6px;overflow:hidden}._label_m7vks_118{flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--color-primary)}._doing_m7vks_146{flex:0 0 auto;max-width:140px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:var(--color-primary);border-radius:4px;padding:0 6px;font-size:11px;color:#fffffff5}._model_m7vks_160{flex:0 0 96px;color:var(--text-gray);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}._tok_m7vks_169,._tool_m7vks_169,._dur_m7vks_169{flex:0 0 auto;text-align:right;color:var(--text-secondary);font-variant-numeric:tabular-nums;white-space:nowrap}._tok_m7vks_169{flex-basis:60px}._tool_m7vks_169{flex-basis:44px}._dur_m7vks_169{flex-basis:52px;color:var(--text-gray)}._liveDot_m7vks_181{flex:0 0 auto;width:8px;height:8px;border-radius:50%;background:var(--color-success, #3fb950)}._stateDone_m7vks_189{color:var(--color-success, #3fb950)}._stateFailed_m7vks_190{color:var(--color-error, #f85149)}._stateRunning_m7vks_191{color:var(--text-secondary)}._stateQueued_m7vks_192{color:var(--text-gray)}._statePulse_m7vks_194{animation:_ccvHudPulse_m7vks_1 1.1s ease-in-out infinite}@keyframes _ccvHudPulse_m7vks_1{0%,to{opacity:1}50%{opacity:.3}}@media(prefers-reduced-motion:reduce){._statePulse_m7vks_194{animation:none}}@media(max-width:768px){._model_m7vks_160{display:none}._row_m7vks_92{gap:8px}}._phases_m7vks_211{display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px;padding:5px 10px;border-bottom:1px solid var(--border-secondary);max-height:96px;overflow-y:auto}._phasesLabel_m7vks_222{flex:0 0 auto;color:var(--text-gray);font-size:11px;text-transform:uppercase;letter-spacing:.03em;margin-right:2px}._phaseChip_m7vks_231{flex:0 0 auto;display:inline-flex;align-items:baseline;gap:4px;max-width:220px;padding:1px 8px;font-size:11px;line-height:1.6;color:var(--text-secondary);background:var(--bg-sub-avatar);border-radius:10px}._phaseChipIdx_m7vks_245{flex:0 0 auto;color:var(--text-gray);font-variant-numeric:tabular-nums}._phaseChipTitle_m7vks_251{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}._backdrop_jg8gb_1{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;background:#00000080;display:flex;align-items:center;justify-content:center}._modal_jg8gb_11{width:95vw;max-width:560px;height:480px;max-height:85vh;background:var(--bg-elevated);border:1px solid var(--border-hover);border-radius:12px;overflow:hidden;display:flex;flex-direction:column;position:relative}._modalContent_jg8gb_37{flex:1 1 auto;display:flex;flex-direction:column;min-height:0;width:100%}._header_jg8gb_45{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 8px}._title_jg8gb_52{font-size:16px;font-weight:600;color:var(--text-primary)}._closeBtn_jg8gb_58{width:28px;height:28px;border:none;background:none;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:6px}._closeBtn_jg8gb_58:hover{background:var(--bg-surface);color:var(--text-secondary)}._headerActions_jg8gb_76{display:flex;align-items:center;gap:4px}._customWrap_jg8gb_83{position:relative;display:inline-flex;align-items:center;flex-shrink:0}._customTitle_jg8gb_90{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._editPencil_jg8gb_97{position:absolute;top:-4px;inset-inline-end:-4px;width:16px;height:16px;border-radius:50%;background:var(--bg-elevated);border:1px solid var(--border-primary);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transition:opacity .15s;z-index:2}._customWrap_jg8gb_83:hover ._editPencil_jg8gb_97{opacity:1}._editPencil_jg8gb_97:hover{color:var(--color-primary);border-color:var(--color-primary)}@media(max-width:768px){._editPencil_jg8gb_97{opacity:1}}._disabledTip_jg8gb_129{padding:16px;font-size:13px;color:var(--text-muted);line-height:1.5}._variantRow_jg8gb_141{display:flex;align-items:flex-end;gap:8px;padding:0 20px;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-ms-overflow-style:none}._variantRow_jg8gb_141::-webkit-scrollbar{display:none}._roleBtn_jg8gb_158{display:inline-flex;align-items:center;gap:5px;padding:9px 14px;font-size:15px;line-height:1.6;border:1px solid var(--border-color);border-radius:14px;background:var(--bg-main);color:var(--text-secondary);cursor:pointer;transition:all .2s;-webkit-user-select:none;user-select:none;white-space:nowrap;flex-shrink:0}._roleBtn_jg8gb_158:hover{border-color:var(--color-primary);color:var(--color-primary)}._roleBtn_jg8gb_158._roleBtnActive_jg8gb_187{background:var(--bg-container);color:var(--color-primary);border-color:var(--border-primary);border-bottom-color:var(--bg-container);border-radius:10px 10px 0 0;font-weight:500;margin-bottom:-1px;position:relative;z-index:1}._variantRow_jg8gb_141>._roleBtn_jg8gb_158._roleBtnActive_jg8gb_187,._customWrap_jg8gb_83:has(>._roleBtn_jg8gb_158._roleBtnActive_jg8gb_187){position:sticky;left:0;right:0;z-index:2}[data-theme=light] ._textareaWrap_jg8gb_23{box-shadow:0 3px 8px #00000014}[data-theme=light] ._roleBtnActive_jg8gb_187{box-shadow:0 -3px 8px #0000000f}._addExpertBtn_jg8gb_236{display:inline-flex;align-items:center;align-self:center;gap:5px;padding:6px 14px;font-size:15px;line-height:1.6;margin-left:4px;margin-bottom:2px;border:none;border-radius:14px;background:transparent;color:var(--text-muted);cursor:pointer;transition:background .15s,color .15s;-webkit-user-select:none;user-select:none;white-space:nowrap;flex-shrink:0}._addExpertBtn_jg8gb_236:hover{color:var(--color-primary);background:var(--bg-surface)}[data-theme=light] ._addExpertBtn_jg8gb_236{color:var(--text-secondary)}._fileList_jg8gb_272{display:flex;flex-wrap:wrap;gap:6px;padding:8px 14px;max-height:80px;overflow-y:auto;flex-shrink:0}._fileChip_jg8gb_287{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:4px;background:var(--bg-elevated);border:1px solid var(--border-primary);font-size:11px;color:var(--text-secondary);max-width:180px;white-space:nowrap;transition:border-color .15s}._fileChip_jg8gb_287:hover{border-color:var(--color-primary-pale)}._fileChip_jg8gb_287 svg{flex-shrink:0}._fileName_jg8gb_310{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}._fileRemove_jg8gb_317{flex-shrink:0;cursor:pointer;color:var(--text-disabled)}._fileRemove_jg8gb_317:hover{color:var(--text-primary)}._imageItem_jg8gb_327{position:relative;width:48px;height:48px;border-radius:6px;overflow:hidden;border:1px solid var(--border-primary);transition:border-color .15s}._imageItem_jg8gb_327:hover{border-color:var(--color-primary-pale)}._imageThumb_jg8gb_341{width:100%;height:100%;object-fit:cover;cursor:pointer}._imageRemove_jg8gb_348{position:absolute;top:0;right:0;width:18px;height:18px;border:none;background:#0009;color:#fff;font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:0 0 0 6px;opacity:0;transition:opacity .15s}._imageItem_jg8gb_327:hover ._imageRemove_jg8gb_348{opacity:1}@media(hover:none){._imageRemove_jg8gb_348,._fileRemove_jg8gb_317{opacity:1;min-width:22px;min-height:22px}}._textareaWrap_jg8gb_23{margin:0 16px;display:flex;flex-direction:column;flex:1 1 0;min-height:0;background:var(--bg-container);border-radius:8px;overflow:hidden;padding:4px}._textarea_jg8gb_23{flex:1 1 0;width:100%;min-height:0;box-sizing:border-box;padding:12px 14px;background:transparent;border:1px solid var(--border-primary);border-radius:8px;color:var(--text-primary);font-size:16px;line-height:1.5;font-family:inherit;transition:border-color .15s;resize:none;outline:none}._textarea_jg8gb_23:focus{border-color:var(--color-primary-pale)}._resizeHandle_jg8gb_33{position:absolute;top:6px;left:6px;width:18px;height:18px;cursor:nwse-resize;z-index:5;touch-action:none;color:var(--text-disabled-faint);opacity:.7;transition:opacity .15s ease;display:block;line-height:0}._resizeHandle_jg8gb_33 svg{width:100%;height:100%;display:block}._resizeHandle_jg8gb_33:hover,._resizeHandle_jg8gb_33:active{opacity:1}.pad-mode ._resizeHandle_jg8gb_33{width:22px;height:22px;top:8px;left:8px}._textarea_jg8gb_23::placeholder{color:var(--text-disabled)}._footer_jg8gb_468{display:flex;align-items:center;justify-content:space-between;padding:12px 16px 14px}._sendBtn_jg8gb_475{height:38px;padding:0 24px;border:none;border-radius:8px;background:var(--color-primary);color:#fff;font-size:16px;cursor:pointer;white-space:nowrap;transition:opacity .15s}._sendBtn_jg8gb_475:hover{opacity:.85}._sendBtn_jg8gb_475:disabled{opacity:.4;cursor:not-allowed}._uploadBtn_jg8gb_497{display:flex;align-items:center;gap:5px;height:38px;padding:0 18px;border:1px solid var(--border-secondary);border-radius:8px;background:var(--bg-elevated);color:var(--text-light);font-size:16px;cursor:pointer;white-space:nowrap;transition:background .15s}._uploadBtn_jg8gb_497:hover{background:var(--bg-surface);color:var(--text-primary);border-color:var(--text-disabled)}@media(max-width:768px){._backdrop_jg8gb_1{zoom:1.4}}html.pad-mode ._backdrop_jg8gb_1{zoom:1}._centerEmpty_wt9xa_1{display:flex;align-items:center;justify-content:center;height:100%}._container_wt9xa_8{flex:1;overflow-x:hidden;overflow-y:auto;padding:16px 0;display:flex;flex-direction:column;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}._mobileVirtuoso_wt9xa_19{flex:1;min-height:0}._sessionDividerText_wt9xa_24{font-size:11px;color:var(--text-disabled)}._lastResponseLabel_wt9xa_29{font-size:11px}._splitContainer_wt9xa_33{display:flex;flex-direction:row;height:100%;overflow:hidden}._chatSection_wt9xa_40{flex:1;display:flex;flex-direction:column;min-width:0;overflow:hidden}._vResizer_wt9xa_48{width:5px;background:var(--bg-elevated);cursor:col-resize;flex-shrink:0;border-left:1px solid var(--border-primary);border-right:1px solid var(--border-primary);transition:background .15s}._vResizer_wt9xa_48:hover{background:var(--border-secondary)}._terminalToggle_wt9xa_62{display:flex;align-items:center;justify-content:center;align-self:center;width:14px;height:48px;margin-left:-14px;flex-shrink:0;cursor:pointer;color:var(--text-disabled);background:var(--overlay-light-faint);border-radius:4px 0 0 4px;transition:background .2s,color .2s;z-index:20;position:relative}._terminalToggle_wt9xa_62:hover{background:var(--overlay-light-medium);color:var(--text-tertiary)}._messageListWrap_wt9xa_85{position:relative;flex:1;min-height:0;display:flex;flex-direction:column}._stickyBottomBtn_wt9xa_93{position:absolute;right:12px;bottom:0;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 18px;justify-content:flex-end;border-radius:0;border:none;background:none;color:var(--text-tertiary);font-size:12px;cursor:pointer;transition:color .15s;z-index:10;box-shadow:none}._stickyBottomBtn_wt9xa_93 span{background:var(--bg-sticky-btn);padding:2px 10px;border-radius:10px}._loadingPet_wt9xa_120{width:48px;height:48px;image-rendering:pixelated}._stickyBottomBtn_wt9xa_93:hover{color:var(--text-white);background:none}@media(max-width:768px){._stickyBottomBtn_wt9xa_93{right:auto;left:0;gap:4px;padding:16px 18px;font-size:24px}._stickyBottomBtn_wt9xa_93 span{padding:4px 20px;border-radius:20px}._stickyBottomBtn_wt9xa_93 svg{width:28px;height:28px}}html.pad-mode ._stickyBottomBtn_wt9xa_93{right:0;left:auto;padding:8px 18px;font-size:12px}html.pad-mode ._stickyBottomBtn_wt9xa_93 span{padding:2px 10px;border-radius:10px}html.pad-mode ._stickyBottomBtn_wt9xa_93 svg{width:auto;height:auto}._loadMoreWrap_wt9xa_154{display:flex;justify-content:center;padding:12px 0 4px}._loadMoreBtn_wt9xa_160{padding:6px 18px;border-radius:16px;border:1px solid var(--border-hover);background:var(--overlay-light-faint);color:var(--text-tertiary);font-size:12px;cursor:pointer;transition:background .15s,color .15s}._loadMoreBtn_wt9xa_160:hover{background:var(--overlay-light-medium);color:var(--text-secondary)}._navSidebar_wt9xa_176{width:40px;flex-shrink:0;background:var(--bg-elevated);border-right:1px solid var(--border-primary);display:flex;flex-direction:column;align-items:center;padding-top:4px;gap:4px}@media(max-width:768px){._navSidebar_wt9xa_176{display:none}}._navBtn_wt9xa_193{width:32px;height:32px;border:none;background:none;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:6px;padding:0;transition:background .15s,color .15s}._navBtn_wt9xa_193:hover{color:var(--text-secondary);background:var(--bg-elevated)}._navBtnActive_wt9xa_213{width:32px;height:32px;border:none;background:var(--color-primary-bg-light);color:var(--color-primary-pale);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:6px;padding:0;transition:background .15s,color .15s}._navDivider_wt9xa_228{width:60%;height:0;border:0;border-top:1px dashed var(--border-primary);margin:6px auto}._navBtnActive_wt9xa_213:hover{background:var(--color-primary-bg-medium);color:var(--color-info-light)}._navAvatarImg_wt9xa_241{width:19px;height:19px;border-radius:50%;object-fit:cover}._userPromptNavWrap_wt9xa_248{display:flex;flex-direction:column;min-width:200px;max-width:360px;max-height:calc(100vh - 48px)}._userPromptNavTitle_wt9xa_257{font-size:13px;font-weight:600;color:var(--text-primary);padding:4px 12px 8px;border-bottom:1px solid var(--border-primary);flex-shrink:0}._userPromptNavList_wt9xa_266{overflow-y:auto;overflow-x:hidden;flex:1 1 auto;min-height:0}._userPromptNavItem_wt9xa_273{display:flex;align-items:baseline;gap:8px;padding:6px 10px;font-size:12px;color:var(--text-secondary);cursor:pointer;border-bottom:1px solid var(--border-primary)}._userPromptNavTime_wt9xa_285{flex:0 0 auto;font-size:11px;font-variant-numeric:tabular-nums;white-space:nowrap;opacity:.7}._userPromptNavText_wt9xa_293{flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}._userPromptNavItem_wt9xa_273:hover{background:var(--bg-surface);color:var(--text-white)}._userPromptNavItem_wt9xa_273:last-child{border-bottom:none}._userPromptNavSessionSep_wt9xa_311{display:flex;align-items:center;gap:8px;padding:6px 10px;font-size:11px;color:var(--text-disabled);-webkit-user-select:none;user-select:none}._userPromptNavSessionSep_wt9xa_311:before,._userPromptNavSessionSep_wt9xa_311:after{content:"";flex:1 1 auto;border-top:1px solid var(--border-secondary)}._userPromptNavItem_wt9xa_273:has(+._userPromptNavSessionSep_wt9xa_311){border-bottom:none}._terminalPanelWrap_wt9xa_333{flex-shrink:0;min-width:200px;min-height:0;overflow:hidden;display:flex;flex-direction:column}._navSidebarContent_wt9xa_344{flex:1;min-width:0;display:flex;flex-direction:column;min-height:0}._innerSplitArea_wt9xa_352{flex:1;display:flex;min-width:0;position:relative}._chatSectionFlex_wt9xa_359{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden;position:relative}._inputStack_wt9xa_369{position:relative;flex-shrink:0}._overlayPanel_wt9xa_374{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;display:flex;flex-direction:column}._streamingSpinnerWrap_wt9xa_382{display:flex;justify-content:center;padding:4px 0;transition:opacity .5s ease-out;user-select:none;-webkit-user-select:none;pointer-events:none}._streamingSpinnerHidden_wt9xa_393{opacity:0}._sessionDivider_wt9xa_24{border-color:var(--border-secondary);margin:16px 0}._loadMoreBtnLoading_wt9xa_402{cursor:default;opacity:.7;display:inline-flex;align-items:center;gap:8px}._loadMoreSpinner_wt9xa_410{width:14px;height:14px;border:2px solid var(--overlay-light-medium);border-top-color:var(--color-primary-pale);border-radius:50%;animation:_loadMoreSpin_wt9xa_410 .8s linear infinite;flex-shrink:0}@keyframes _loadMoreSpin_wt9xa_410{to{transform:rotate(360deg)}}._lastResponseDivider_wt9xa_424{border-color:var(--border-primary);margin:8px 0}._lastResponseDivider_wt9xa_424._lastResponseDivider_wt9xa_424:before,._lastResponseDivider_wt9xa_424._lastResponseDivider_wt9xa_424:after{border-block-start-style:dashed}._hideLastResponseDivider_wt9xa_439 ._lastResponseDivider_wt9xa_424{display:none}._backdrop_1fcbc_7{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:1200;display:flex;align-items:center;justify-content:center;padding:32px 16px;animation:_backdropFadeIn_1fcbc_1 .16s ease-out}@keyframes _backdropFadeIn_1fcbc_1{0%{opacity:0}to{opacity:1}}._modal_1fcbc_25{width:min(90vw,1100px);max-height:calc(100vh - 64px);background:var(--bg-elevated, #1f1f1f);color:var(--text-primary, #e8e8e8);border:1px solid var(--border-color, rgba(255, 255, 255, .08));border-radius:12px;box-shadow:0 16px 48px #0006;display:flex;flex-direction:column;overflow:hidden;animation:_modalSlideIn_1fcbc_1 .2s cubic-bezier(.2,.9,.3,1)}@keyframes _modalSlideIn_1fcbc_1{0%{transform:translateY(12px);opacity:0}to{transform:translateY(0);opacity:1}}._header_1fcbc_44{display:flex;align-items:center;gap:8px;padding:14px 18px;border-bottom:1px solid var(--border-color, rgba(255, 255, 255, .06));flex-wrap:wrap}._title_1fcbc_53{font-size:14px;font-weight:600;flex:1}._chip_1fcbc_59{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;font-size:12px;border-radius:999px;background:var(--bg-code, rgba(255, 255, 255, .06));color:var(--text-secondary, #b8b8b8)}._chipAction_1fcbc_70{cursor:pointer;background:var(--color-primary-soft, rgba(22, 104, 220, .18));color:var(--color-primary-light, #4096ff);border:1px solid var(--color-primary-light, #4096ff);transition:background .12s}._chipAction_1fcbc_70:hover{background:var(--color-primary, #1668dc);color:#fff}._body_1fcbc_83{padding:16px 18px;overflow:auto;display:flex;flex-direction:column;gap:12px}._slot_1fcbc_91{display:flex;flex-direction:column}._slotHidden_1fcbc_96{display:none}._footer_1fcbc_100{display:flex;justify-content:flex-start;align-items:center;gap:12px;padding:12px 18px;border-top:1px solid var(--border-color, rgba(255, 255, 255, .06));font-size:12px;color:var(--text-tertiary, #888)}._footerHint_1fcbc_111{color:var(--text-secondary, #b8b8b8)}._footerHintLabel_1fcbc_115{color:var(--text-tertiary, #888);font-weight:500}._headerDismissBtn_1fcbc_122{margin-left:auto;background:transparent;border:1px solid var(--border-color, rgba(255, 255, 255, .12));color:var(--text-secondary, #b8b8b8);padding:4px 12px;border-radius:6px;cursor:pointer;font-size:12px;transition:background .12s,border-color .12s}._headerDismissBtn_1fcbc_122:hover{background:var(--bg-code, rgba(255, 255, 255, .06));border-color:var(--color-primary-light, #4096ff)}._kindTabs_1fcbc_139{display:flex;gap:6px;padding:6px 18px 0;border-bottom:1px solid var(--border-color, rgba(255, 255, 255, .06))}._kindTab_1fcbc_139{padding:6px 12px;border:0;background:transparent;color:var(--text-tertiary, #888);font-size:13px;cursor:pointer;border-radius:6px 6px 0 0;border-bottom:2px solid transparent}._kindTabActive_1fcbc_157{color:var(--color-primary-light, #4096ff);border-bottom-color:var(--color-primary-light, #4096ff)}._helpBtn_1sxut_5{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:var(--bg-elevated);border:1px solid var(--border-light);color:var(--text-light);font-size:11px;line-height:1;cursor:pointer;margin-left:4px;vertical-align:middle;transition:background .2s;-webkit-user-select:none;user-select:none}._helpBtn_1sxut_5:hover{background:var(--border-secondary)}._catalog_1sxut_29{max-height:60vh;overflow-y:auto;overflow-x:hidden;padding:4px 2px}._catBlock_1sxut_36{margin-bottom:14px}._catBlock_1sxut_36:last-child{margin-bottom:0}._catLabel_1sxut_43{font-size:12px;font-weight:600;color:var(--text-light);text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px}._chipRow_1sxut_52{display:flex;flex-wrap:wrap;gap:8px}._toolChip_1sxut_58{display:inline-flex;align-items:center;padding:4px 12px;border-radius:14px;background:var(--bg-elevated);border:1px solid var(--border-light);color:var(--text-primary);font-size:13px;line-height:1.4;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .2s,border-color .2s}._toolChip_1sxut_58:hover{background:var(--border-secondary);border-color:var(--border-hover)}._toolChip_1sxut_58:focus-visible{outline:2px solid var(--color-primary-pale);outline-offset:1px}@media(max-width:768px){._catalog_1sxut_29{max-height:75vh}}._container_1mrxf_1{display:flex;flex-direction:column;gap:8px;padding:8px 0}._collapseArea_1mrxf_11{display:flex;flex-direction:column;gap:8px;background:var(--bg-base-alt);border-radius:6px;padding:10px 12px}._headerRow_1mrxf_20{display:flex;align-items:center;justify-content:space-between;gap:12px}._headerLabel_1mrxf_27{font-weight:600;color:var(--text-color, #333)}._row_1mrxf_32{display:flex;align-items:center;gap:8px}._rowLabel_1mrxf_38{min-width:64px;color:var(--text-color-secondary, #666);font-size:12px}._sliderWrap_1mrxf_44{flex:1;min-width:120px}._eventsList_1mrxf_49{display:flex;flex-direction:column;gap:6px}._eventRow_1mrxf_55{display:flex;align-items:center;gap:8px}._eventLabel_1mrxf_61{flex:0 0 auto;min-width:140px;color:var(--text-color, #333);font-size:12px}._eventLabelHelp_1mrxf_71{cursor:help;text-decoration:underline dotted;text-underline-offset:2px}._uploadHintIcon_1mrxf_77{color:var(--text-color-secondary, #888);cursor:help;font-size:14px;margin-left:2px}._eventSelect_1mrxf_84{flex:1;min-width:120px}._uploadRow_1mrxf_89{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding-top:4px}._uploadRow_1mrxf_89 ._uploadBtn_1mrxf_98{font-size:12px}._uploadedList_1mrxf_103{display:flex;flex-direction:column;gap:4px;padding-top:4px}._uploadedTitle_1mrxf_110{font-size:12px;font-weight:600;color:var(--text-color-secondary, #666)}._uploadedRow_1mrxf_116{display:flex;align-items:center;gap:8px;padding:4px 6px;background:var(--card-bg, rgba(0, 0, 0, .03));border-radius:4px}._uploadedName_1mrxf_125{flex:1;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._uploadedMeta_1mrxf_133{font-size:11px;color:var(--text-color-secondary, #888);flex:0 0 auto}@media(max-width:480px){._eventRow_1mrxf_55{flex-wrap:wrap}._eventLabel_1mrxf_61{flex:1 0 100%;min-width:0}._eventSelect_1mrxf_84{flex:1}}._cachePopover_1m2xl_3{max-width:800px}._cacheScrollArea_1m2xl_7{max-height:calc(100vh - 140px);overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}._cacheScrollAreaInDrawer_1m2xl_19{max-height:none;overflow-y:visible}._cachePopoverTitle_1m2xl_24{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:600;color:var(--text-primary)}._cachePopoverHeader_1m2xl_33{margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid var(--border-secondary)}._cacheSection_1m2xl_39{margin-bottom:10px}._cacheSectionBordered_1m2xl_43{border:1px solid var(--border-secondary);border-radius:6px;padding:8px 10px;background:var(--bg-container)}._cacheSectionBordered_1m2xl_43>._cacheSectionLabel_1m2xl_50,._cacheSectionBordered_1m2xl_43>._cacheSectionHeader_1m2xl_51{border-bottom:1px solid var(--border-secondary);padding-bottom:6px;margin-bottom:8px}._cacheSectionHeader_1m2xl_51{display:flex;align-items:center;justify-content:space-between;gap:6px}._cacheSectionHeader_1m2xl_51>._cacheSectionLabel_1m2xl_50{margin-bottom:0}._cacheSectionLabel_1m2xl_50{font-size:12px;font-weight:600;color:var(--text-light);margin-bottom:4px;padding:4px 0;-webkit-user-select:none;user-select:none}._memoryLabelWithIcon_1m2xl_78{display:inline-flex;align-items:center;gap:6px}._toolChipGridVertical_1m2xl_84{display:flex;flex-direction:column;align-items:stretch;gap:4px;padding:2px 0 6px}._claudeMdChip_1m2xl_92{font-family:inherit;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;font-size:11px;padding:0 6px;border-radius:3px;background:var(--bg-surface);color:var(--text-secondary);line-height:18px;max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border:1px solid var(--border-primary);display:inline-flex;align-items:center;gap:5px}._claudeMdChip_1m2xl_92:hover{background:var(--bg-hover, var(--bg-surface));color:var(--text-primary)}._cacheChipBadge_1m2xl_119{font-size:10px;line-height:14px;padding:0 5px;border-radius:2px;font-weight:500;letter-spacing:.2px}._cacheChipBadgeProject_1m2xl_128{background:var(--color-primary-bg-light);color:var(--color-primary-light)}._cacheChipBadgeGlobal_1m2xl_133{background:var(--color-success-bg-light);color:var(--color-success-light)}._chipDetailBody_1m2xl_138{margin:0;font-family:inherit;font-size:13px;line-height:1.55;white-space:pre-wrap;word-break:break-word;max-height:60vh;overflow-y:auto;color:var(--text-primary)}._chipDetailEmpty_1m2xl_150{color:var(--text-muted);font-style:italic}._mcpServerGroup_1m2xl_155{margin-bottom:6px}._mcpServerName_1m2xl_159{font-size:11px;font-weight:600;color:var(--text-muted);padding:2px 0 6px 2px}._cacheUsageLabel_1m2xl_166{font-size:13px;color:var(--text-primary);font-weight:400;margin-right:4px}._cachePercent_1m2xl_173{font-size:13px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}._cacheCalibrationLabel_1m2xl_180{margin-left:auto;color:var(--text-tertiary);font-size:12px;font-weight:400;white-space:nowrap}._calibrationSelect_1m2xl_188{width:80px;flex-shrink:0}._memoryStatus_1m2xl_193{padding:6px 4px}._memoryDirHint_1m2xl_197{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:11px;color:var(--text-tertiary);margin-top:4px;word-break:break-all;-webkit-user-select:text;user-select:text}._skillsList_ap3j0_4{display:flex;flex-direction:column;gap:8px}._skillCard_ap3j0_10{border:1px solid var(--border-secondary);border-radius:6px;padding:10px 12px;background:var(--bg-container)}._skillCardHeader_ap3j0_17{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:6px}._skillCardName_ap3j0_25{font-size:14px;font-weight:600;color:var(--text-primary);word-break:break-word;flex:1}._skillCardActions_ap3j0_33{flex-shrink:0;display:flex;align-items:center;gap:6px}._skillDeleteBtn_ap3j0_41{display:inline-flex;align-items:center;justify-content:center;padding:2px 4px;border:none;background:transparent;color:var(--text-muted);cursor:pointer;border-radius:4px;font-size:14px;line-height:1;transition:color .15s,background .15s}._skillDeleteBtn_ap3j0_41:hover{color:#cf1322;background:#fff1f0}[data-theme=dark] ._skillDeleteBtn_ap3j0_41:hover{color:#ff7875;background:#2a1215}._skillCardDesc_ap3j0_64{font-size:13px;line-height:1.55;white-space:pre-wrap;word-break:break-word;color:var(--text-secondary)}._skillsEmpty_ap3j0_72{padding:32px 12px;text-align:center;color:var(--text-muted);font-style:italic}._skillsReadonlySection_ap3j0_80{margin-top:16px;padding-top:12px;border-top:1px solid var(--border-secondary)}._skillsReadonlyLabel_ap3j0_86{font-size:12px;color:var(--text-muted);margin-bottom:6px}._skillCardDisabled_ap3j0_93{opacity:.55;background:var(--bg-elevated, var(--bg-surface))}._skillCardDisabled_ap3j0_93 ._skillCardName_ap3j0_25{text-decoration:line-through}._skillCardTitleRow_ap3j0_100{display:flex;align-items:center;gap:8px;flex:1;min-width:0}._skillSourceBadge_ap3j0_107{font-size:10px;font-weight:600;padding:1px 6px;border-radius:3px;letter-spacing:.3px;flex-shrink:0;white-space:nowrap;text-transform:uppercase}._skillSource_user_ap3j0_117{background:#e6f4ff;color:#0958d9}._skillSource_project_ap3j0_118{background:#f6ffed;color:#389e0d}._skillSource_plugin_ap3j0_119{background:#fff7e6;color:#d46b08}._skillSource_builtin_ap3j0_120{background:#f9f0ff;color:#531dab}[data-theme=dark] ._skillSource_user_ap3j0_117{background:#111d2c;color:#69b1ff}[data-theme=dark] ._skillSource_project_ap3j0_118{background:#162312;color:#73d13d}[data-theme=dark] ._skillSource_plugin_ap3j0_119{background:#2b1d11;color:#ffa940}[data-theme=dark] ._skillSource_builtin_ap3j0_120{background:#1a1325;color:#b37feb}._skillDuplicateBadge_ap3j0_128{font-size:11px;line-height:1;padding:2px 5px;border-radius:3px;flex-shrink:0;cursor:help;background:#fff1f0;color:#cf1322;border:1px solid #ffccc7}[data-theme=dark] ._skillDuplicateBadge_ap3j0_128{background:#2a1215;color:#ff7875;border-color:#58181c}._form_u9vra_1{display:flex;flex-direction:column;gap:10px}._row_u9vra_7{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:28px}._label_u9vra_15{display:inline-flex;align-items:center;gap:4px;color:var(--text-secondary, #888);font-size:13px}._help_u9vra_23{color:var(--text-muted, #999);font-size:13px;cursor:help}._center_1ztox_1{display:flex;align-items:center;justify-content:center;padding:32px 0;color:var(--text-muted, #999)}._count_1ztox_9{margin-bottom:10px;font-size:12px;color:var(--text-muted, #999)}._panelHeader_1ztox_15{display:flex;align-items:center;gap:8px;min-width:0}._projName_1ztox_22{font-weight:600;white-space:nowrap}._projPath_1ztox_27{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;color:var(--text-muted, #999)}._delBtn_1ztox_37{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;cursor:pointer;color:var(--text-muted, #999);padding:2px 6px;border-radius:4px}._delBtn_1ztox_37:hover{color:var(--color-error, #e5484d);background:var(--bg-hover, rgba(128, 128, 128, .12))}._pluginDirHint_1nu7t_3{margin-bottom:12px;font-size:12px;color:var(--text-tertiary)}._pluginDirPath_1nu7t_9{font-family:Menlo,Monaco,monospace;color:var(--text-light);cursor:pointer;padding:1px 4px;border-radius:3px;background:var(--bg-elevated)}._pluginDirPath_1nu7t_9:hover{color:var(--color-primary-light)}._pluginList_1nu7t_22{display:flex;flex-direction:column;gap:8px}._pluginItem_1nu7t_28{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border:1px solid var(--border-secondary);border-radius:6px;background:var(--bg-container)}._pluginInfo_1nu7t_38{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}._pluginName_1nu7t_46{font-size:14px;color:var(--text-primary);font-weight:500}._pluginFile_1nu7t_52{font-size:12px;color:var(--text-muted);font-family:Menlo,Monaco,monospace}._pluginHooks_1nu7t_58{display:flex;gap:4px;flex-wrap:wrap;margin-top:2px}._pluginHookTag_1nu7t_65{font-size:11px;padding:0 5px;border-radius:3px;background:var(--color-primary-dark-bg);color:var(--color-primary-lighter);line-height:18px}._pluginActions_1nu7t_74{display:flex;align-items:center;gap:8px;flex-shrink:0;margin-left:12px}._pluginEmpty_1nu7t_82{text-align:center;padding:32px 0;color:var(--text-tertiary)}._pluginModalFooter_1nu7t_88{display:flex;justify-content:space-between;width:100%}._pluginModalFooterLeft_1nu7t_94{display:flex;gap:8px}._pluginDirLabel_1nu7t_99{color:var(--text-tertiary)}._pluginEmptyTitle_1nu7t_103{font-size:14px;margin-bottom:4px}._pluginEmptyHint_1nu7t_108{font-size:12px;color:var(--text-muted)}._cdnUrlLabel_1nu7t_113{margin-bottom:6px;color:var(--text-secondary);font-size:13px}._cdnInput_1nu7t_119{background:var(--bg-elevated);border-color:var(--border-secondary);color:var(--text-primary)}._pluginModalScroll_1nu7t_125{flex:1;min-height:0;overflow:auto;padding:12px 16px 0}._pluginModalFooterBar_1nu7t_132{padding:16px 0;margin-top:16px;border-top:1px solid var(--border-primary)}._currentProcessBtn_1rte5_5{color:var(--color-success);border-color:var(--color-success)}._processModalScroll_1rte5_10{flex:1;min-height:0;overflow:auto;padding:24px 16px 0}._processModalFooterBar_1rte5_17{padding:16px 0;margin-top:16px;border-top:1px solid var(--border-primary)}._fullWidthSelect_dzt9t_4{width:100%}._proxyWarning_dzt9t_8{background:var(--color-warning-dark-bg);border:1px solid var(--color-warning-dark-border);border-radius:4px;color:var(--color-warning-light);font-size:12px;padding:6px 10px;margin-bottom:10px}._proxyList_dzt9t_18{display:flex;flex-direction:column;gap:4px}._proxyItem_dzt9t_24{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-radius:6px;border:1px solid transparent;transition:background .15s}._proxyItem_dzt9t_24:hover{background:var(--bg-elevated)}._proxyItemActive_dzt9t_38{background:var(--color-selection-bg);border-color:var(--color-primary)}._proxyItemMain_dzt9t_43{display:flex;align-items:center;cursor:pointer;flex:1;min-width:0}._proxyItemInfo_dzt9t_51{display:flex;flex-direction:column;min-width:0}._proxyItemNameRow_dzt9t_57{display:flex;align-items:center;gap:6px}._proxyItemName_dzt9t_57{font-size:13px;color:var(--text-primary);font-weight:500}._proxyItemDetail_dzt9t_69{font-size:11px;color:var(--text-gray);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._proxyBuiltinTag_dzt9t_78{font-size:10px;padding:0 4px;border-radius:3px;background:var(--color-primary-dark-bg);color:var(--color-primary-lighter);line-height:16px;border:none}._proxyItemActions_dzt9t_88{display:flex;gap:2px;flex-shrink:0}._proxyEditForm_dzt9t_94{margin-top:12px;padding:12px;border-radius:6px;background:var(--bg-elevated);border:1px solid var(--border-secondary)}._proxyEditRow_dzt9t_102{margin-bottom:8px}._proxyEditRow_dzt9t_102 label{display:block;font-size:12px;color:var(--text-tertiary);margin-bottom:4px}._proxyRequired_dzt9t_113{color:var(--color-error);margin-left:2px}._proxyEditHint_dzt9t_118{font-size:11px;color:var(--text-tertiary);line-height:1.5;margin:-2px 0 8px}._proxyEditDivider_dzt9t_125{border-top:1px dashed var(--border-secondary);margin:10px 0 8px}._proxyEditBtns_dzt9t_130{display:flex;gap:8px;margin-top:12px}._proxyModalScroll_dzt9t_136{flex:1;min-height:0;overflow:auto;padding:12px 16px 0}
package/dist/index.html CHANGED
@@ -21,7 +21,7 @@
21
21
  // 整体显示大小已弃用 CSS zoom:Electron 改用 webFrame.setZoomFactor(首屏抢占见
22
22
  // electron/tab-content-preload.js),纯浏览器交由用户用浏览器自带快捷键缩放,故此处不再设 zoom。
23
23
  </script>
24
- <script type="module" crossorigin src="./assets/index-DENLOp7J.js"></script>
24
+ <script type="module" crossorigin src="./assets/index-ReSZCrNR.js"></script>
25
25
  <link rel="modulepreload" crossorigin href="./assets/vendor-antd-TJ9xmLQO.js">
26
26
  <link rel="modulepreload" crossorigin href="./assets/vendor-codemirror-CIGft5iF.js">
27
27
  <link rel="modulepreload" crossorigin href="./assets/vendor-mdxeditor-BuIUwnOf.js">
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "default-butler",
3
- "displayName": "Butler · 皇上系列 (默认)",
3
+ "displayName": "Butler (Default)",
4
4
  "placeholder": false,
5
5
  "events": {
6
6
  "planApproval": {
package/findcc.js CHANGED
@@ -7,12 +7,14 @@ import { threadId } from 'node:worker_threads';
7
7
 
8
8
  const __dirname = fileURLToPath(new URL('.', import.meta.url));
9
9
 
10
- // cc-viewer 同级 node_modules/。生产 npm install 时是真 node_modules;
11
- // `npm link` / git clone dev 场景下可能算错位置,由 getGlobalNodeModulesDir() 兜底。
12
- // 自己计算而非 import server/_paths.js,避免 root 文件反向依赖 server 内部模块。
10
+ // cc-viewer's sibling node_modules/. In production (npm install), this is the real
11
+ // node_modules directory; under `npm link` / git clone dev setups the path may resolve
12
+ // incorrectly, and getGlobalNodeModulesDir() serves as the fallback.
13
+ // Computed inline rather than imported from server/_paths.js, to avoid root files
14
+ // forming a reverse dependency on internal server modules.
13
15
  const NODE_MODULES = resolve(__dirname, '..');
14
16
 
15
- // ============ 配置区(第三方适配只需修改此处)============
17
+ // ============ Configuration (third-party adapters only need to modify this section) ============
16
18
 
17
19
  /**
18
20
  * Resolve Claude Code config directory.
@@ -26,14 +28,15 @@ export function getClaudeConfigDir() {
26
28
  const raw = envDir.trim();
27
29
  return raw.startsWith('~/') ? join(homedir(), raw.slice(2)) : resolve(raw);
28
30
  }
29
- // ████████ 测试隔离铁闸 L1b —— 绝对不可移除(2026-06-06 数据事故防再犯)████████
30
- // CCV_LOG_DIR=tmp 只重定向 LOG_DIR,管不到本函数:updater.js 的 CACHE_DIR=
31
- // join(getClaudeConfigDir(),'cc-viewer') 在测试里直指真实 ~/.claude/cc-viewer,
32
- // branch-lib-updater.test.js rmSync(CACHE_DIR,{recursive}) 曾因此把用户 40GB
33
- // 历史日志整树删除(2026-06-06 1/4 次事故确证真凶)。settings.json、ensure-hooks、
34
- // ~/.claude/* 展开全部派生于此 —— 测试态(node:test 注入 NODE_TEST_CONTEXT)未显式
35
- // CLAUDE_CONFIG_DIR 时,一律走进程私有临时目录,绝不解析到真实 ~/.claude。
36
- // 单测:test/logdir-test-guard.test.js。
31
+ // ████████ Test isolation barrier L1b DO NOT REMOVE (prevents data-loss regressions, 2026-06-06) ████████
32
+ // CCV_LOG_DIR=tmp only redirects LOG_DIR; it does not cover this function: updater.js's
33
+ // CACHE_DIR = join(getClaudeConfigDir(),'cc-viewer') resolves to the real ~/.claude/cc-viewer
34
+ // in tests, and branch-lib-updater.test.js's rmSync(CACHE_DIR,{recursive}) once destroyed a
35
+ // user's 40 GB log history because of this (confirmed root cause in 2026-06-06 incident 1/4).
36
+ // settings.json, ensure-hooks, ~/.claude/* expansion all derive from this function — when in
37
+ // test mode (node:test injects NODE_TEST_CONTEXT) without an explicit CLAUDE_CONFIG_DIR, always
38
+ // use a process-private temp directory; never resolve to the real ~/.claude.
39
+ // Unit test: test/logdir-test-guard.test.js.
37
40
  if (process.env.NODE_TEST_CONTEXT) {
38
41
  return join(tmpdir(), 'cc-viewer-test', `guard-cfg-${process.pid}-${threadId}`);
39
42
  }
@@ -45,54 +48,58 @@ function resolveLogDir() {
45
48
  const envDir = process.env.CCV_LOG_DIR;
46
49
  if (typeof envDir === 'string' && envDir.trim()) {
47
50
  const raw = envDir.trim();
48
- // 允许通过 'tmp' 'temp' 关键字使用系统临时目录(常用于测试)
51
+ // Allow 'tmp' or 'temp' keyword to use system temp directory (common in tests)
49
52
  if (raw === 'tmp' || raw === 'temp') {
50
53
  return join(tmpdir(), 'cc-viewer-test', `${process.pid}-${threadId}`);
51
54
  }
52
55
  const expanded = raw.startsWith('~/') ? join(homedir(), raw.slice(2)) : raw;
53
56
  return resolve(expanded);
54
57
  }
55
- // 测试隔离铁闸:node:test 环境(NODE_TEST_CONTEXT 由测试 runner 自动注入,spread env
56
- // 的子进程会继承)下若未显式设 CCV_LOG_DIR,绝不解析到真实用户目录——强制进程私有临时
57
- // 目录。2026-06-06 事故:无 env 的测试探针把真实 ~/.claude/cc-viewer 当 LOG_DIR,
58
- // 清理逻辑将用户数据整树删除。任何测试运行不允许触碰在用的文件体系和本地存储。
58
+ // Test isolation barrier: in node:test environment (NODE_TEST_CONTEXT is auto-injected by the
59
+ // test runner and inherited by spawned child processes via spread env), if CCV_LOG_DIR is not
60
+ // explicitly set, never resolve to the real user directory — force a process-private temp
61
+ // directory. 2026-06-06 incident: a test probe with no env guard treated the real
62
+ // ~/.claude/cc-viewer as LOG_DIR, and cleanup logic wiped the entire user data tree.
63
+ // No test run is allowed to touch the live filesystem or local storage.
59
64
  if (process.env.NODE_TEST_CONTEXT) {
60
65
  return join(tmpdir(), 'cc-viewer-test', `guard-${process.pid}-${threadId}`);
61
66
  }
62
67
  return join(getClaudeConfigDir(), 'cc-viewer');
63
68
  }
64
69
 
65
- // 日志存储根目录(所有项目日志、偏好设置均存放于此)
66
- // 使用 let 以支持运行时通过 setLogDir() 修改(ES module live binding
70
+ // Log storage root directory (all project logs and preferences are stored here)
71
+ // Uses `let` to support runtime modification via setLogDir() (ES module live binding)
67
72
  export let LOG_DIR = resolveLogDir();
68
73
 
69
74
  /**
70
- * 运行时修改日志存储根目录。
71
- * 支持 ~/... 展开。所有通过 `import { LOG_DIR }` 引用的模块会自动看到新值。
75
+ * Runtime modification of the log storage root directory.
76
+ * Supports ~/... expansion. All modules that reference `LOG_DIR` via `import { LOG_DIR }`
77
+ * will automatically see the updated value.
72
78
  */
73
79
  export function setLogDir(dir) {
74
80
  if (!dir || typeof dir !== 'string') return;
75
81
  const raw = dir.trim();
76
82
  if (!raw) return;
77
83
  const resolved = resolve(raw.startsWith('~/') ? join(homedir(), raw.slice(2)) : raw);
78
- // 安全:限制在 home 目录或 /tmp 下,防止写入系统目录
84
+ // Security: restrict to home directory or /tmp to prevent writes to system directories
79
85
  const home = homedir();
80
86
  if (!resolved.startsWith(home) && !resolved.startsWith('/tmp/')) return;
81
87
  LOG_DIR = resolved;
82
- // workspace registry 文件位置随 LOG_DIR 变化,allowlist 缓存(含 registered workspaces)需失效。
83
- // lazy import 避免循环依赖(file-access-policy 依赖 findcc 和 workspace-registry)。
88
+ // workspace registry file location changes with LOG_DIR; the allowlist cache (including
89
+ // registered workspaces) must be invalidated. Lazy import to avoid circular dependency
90
+ // (file-access-policy depends on findcc and workspace-registry).
84
91
  import('./server/lib/file-access-policy.js')
85
92
  .then(m => m.bumpWorkspacesVersion?.())
86
- .catch(() => { /* CLI-only 入口可能未加载 policy 模块,无副作用即可 */ });
93
+ .catch(() => { /* CLI-only entry points may not have the policy module loaded; side-effect free */ });
87
94
  }
88
95
 
89
- // npm 包名候选列表(按优先级排列)
96
+ // npm package name candidates (priority order)
90
97
  export const PACKAGES = ['@anthropic-ai/claude-code', '@ali/claude-code'];
91
98
 
92
- // npm 包内的入口文件(相对于包根目录)
99
+ // Entry files within each npm package (relative to package root)
93
100
  export const CLI_ENTRY = 'cli.js';
94
101
 
95
- // native 二进制候选路径(~ 会在运行时展开为 homedir()
102
+ // Native binary name candidates (~ will be expanded to homedir() at runtime)
96
103
  const NATIVE_CANDIDATES = [
97
104
  '~/.claude/local/claude',
98
105
  '/usr/local/bin/claude',
@@ -100,27 +107,30 @@ const NATIVE_CANDIDATES = [
100
107
  '/opt/homebrew/bin/claude',
101
108
  ];
102
109
 
103
- // 用于 which/command -v 查找的命令名
110
+ // Command names used for which/command -v lookup
104
111
  export const BINARY_NAME = 'claude';
105
112
 
106
- // 注入到 @anthropic-ai/claude-code/cli.js 顶部的 import 语句。
107
- // EXTERNAL CONTRACT: bare specifier package.json `exports` 解析 ——
108
- // 物理路径再改不用动这里;同步改 cli.js::removeCliJsInjection 的老 marker 迁移逻辑。
113
+ // The import statement injected at the top of @anthropic-ai/claude-code/cli.js.
114
+ // EXTERNAL CONTRACT: uses bare specifier resolved via package.json `exports`
115
+ // the physical path can change without touching this line; keep in sync with
116
+ // cli.js::removeCliJsInjection's legacy marker migration logic.
109
117
  export const INJECT_IMPORT = "import 'cc-viewer/interceptor.js';";
110
118
 
111
- // 历史使用过的 INJECT_IMPORT 形式,用于卸载/重装时清理旧 marker。
112
- // 任何变更 INJECT_IMPORT 时都要把旧值加进来,否则老用户升级时新版本看不到老 marker
113
- // 注入幂等失败,老注入残留 + 新注入失败 = 双重坏。
119
+ // Historical INJECT_IMPORT forms, used for cleaning up old markers during uninstall/reinstall.
120
+ // Whenever INJECT_IMPORT changes, add the old value here — otherwise existing users upgrading
121
+ // won't have the old marker recognized by the new version, causing stale injection residue
122
+ // plus new injection failure = double damage.
114
123
  //
115
- // Prune 策略:每条记录添加时的版本;当某条 legacy 添加后已过 4 major release
116
- // (即用户至少有机会跑 `ccv -logger` 多次自动 rewrite),可考虑删除。
117
- // 删除前检查 npm registry 还在使用旧版本的下载量。
124
+ // Prune policy: each entry records the version when it was added. When a legacy entry has
125
+ // been present for 4+ major releases (i.e. users have had at least several opportunities to
126
+ // run `ccv -logger` for auto-rewrite), it can be considered for removal. Before deleting,
127
+ // check whether the old version still has download volume on the npm registry.
118
128
  export const LEGACY_INJECT_IMPORTS = [
119
129
  // added in 1.6.273 — relative path form before bare-specifier migration
120
130
  "import '../../cc-viewer/interceptor.js';",
121
131
  ];
122
132
 
123
- // ============ 导出函数 ============
133
+ // ============ Exported functions ============
124
134
 
125
135
  export function getGlobalNodeModulesDir() {
126
136
  try {
@@ -131,7 +141,7 @@ export function getGlobalNodeModulesDir() {
131
141
  }
132
142
 
133
143
  export function resolveCliPath() {
134
- // 候选基础目录:本地 node_modulescc-viewer 的同级)+ 全局 node_modules
144
+ // Candidate base directories: local node_modules (cc-viewer's sibling) + global node_modules
135
145
  const baseDirs = [NODE_MODULES];
136
146
  const globalRoot = getGlobalNodeModulesDir();
137
147
  if (globalRoot && globalRoot !== NODE_MODULES) {
package/interceptor.js CHANGED
@@ -5,7 +5,7 @@
5
5
  // pre-1.6.273 INJECT marker `import '../../cc-viewer/interceptor.js';`.
6
6
  // Removing this shim would crash those existing claude installs on startup
7
7
  // until the user re-runs `ccv -logger` to rewrite the marker.
8
- // 2. Cheap insurance — single re-export costs ~0 bytes at runtime.
8
+ // 2. Cheap insurance — single re-export costs negligible runtime overhead.
9
9
  // New code should `import 'cc-viewer/interceptor.js'` via package.json exports
10
10
  // instead of the relative `../../cc-viewer/interceptor.js` form.
11
11
  export * from './server/interceptor.js';
package/package.json CHANGED
@@ -1,10 +1,11 @@
1
1
  {
2
2
  "name": "cc-viewer",
3
- "version": "1.6.329",
4
- "description": "Claude Code Logger visualization management tool",
3
+ "version": "1.6.331",
4
+ "description": "Claude Code logging, visualization, and management toolkit — launch a web viewer alongside Claude Code with full request/response tracing, proxy, and mobile support",
5
5
  "license": "MIT",
6
6
  "main": "server.js",
7
7
  "type": "module",
8
+ "packageManager": "npm@11.9.0",
8
9
  "exports": {
9
10
  ".": "./server.js",
10
11
  "./interceptor.js": "./server/interceptor.js"
@@ -32,7 +33,10 @@
32
33
  "electron:check-sign": "./scripts/check-sign-config.sh"
33
34
  },
34
35
  "keywords": [
35
- "claude code"
36
+ "claude code",
37
+ "devtools",
38
+ "logging",
39
+ "proxy"
36
40
  ],
37
41
  "contributors": [
38
42
  {
@@ -102,7 +106,7 @@
102
106
  "react-dom": "^18.3.1",
103
107
  "react-json-view-lite": "^2.1.0",
104
108
  "react-virtuoso": "^4.18.3",
105
- "terser": "^5.46.1",
109
+ "terser": "^5.48.0",
106
110
  "vite": "^6.3.5"
107
111
  },
108
112
  "dependencies": {
@@ -0,0 +1,8 @@
1
+ # Bundled Plugins
2
+
3
+ This directory ships with cc-viewer. It is the default location for built-in plugins
4
+ that are loaded at server startup by the plugin loader. Add `.js` or `.mjs` files here
5
+ to ship plugins with the package without requiring users to populate their personal
6
+ `~/.claude/cc-viewer/plugins/` directory.
7
+
8
+ For detailed documentation on the plugin system, see [docs/plugins.md](../docs/plugins.md).