cc-viewer 1.7.20 → 1.7.22

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 (94) hide show
  1. package/README.md +2 -2
  2. package/concepts/en/ProxySwitch.md +13 -0
  3. package/concepts/zh/ProxySwitch.md +13 -0
  4. package/dist/assets/App-BWajJyJh.css +1 -0
  5. package/dist/assets/App-BaKGIW0-.js +2 -0
  6. package/dist/assets/{MdxEditorPanel-CSO3KK7e.js → MdxEditorPanel-DG-UE0PC.js} +1 -1
  7. package/dist/assets/{Mobile-DEJlXIVB.js → Mobile-CQaUYdaf.js} +1 -1
  8. package/dist/assets/{ProxyStatsModal-B4fWYkT-.js → ProxyStatsModal-j-Aty9Lu.js} +1 -1
  9. package/dist/assets/{_baseUniq-aTokVjQN.js → _baseUniq-BvoL7sea.js} +1 -1
  10. package/dist/assets/{arc-mxp8gSRQ.js → arc-CWSgghLO.js} +1 -1
  11. package/dist/assets/{architectureDiagram-Q4EWVU46-msh8IODx.js → architectureDiagram-Q4EWVU46-hxmrC4g0.js} +1 -1
  12. package/dist/assets/{blockDiagram-DXYQGD6D-BUatNJTI.js → blockDiagram-DXYQGD6D-D3Ie-HJv.js} +1 -1
  13. package/dist/assets/{c4Diagram-AHTNJAMY-CJ92TNZe.js → c4Diagram-AHTNJAMY-Bqi7HUr9.js} +1 -1
  14. package/dist/assets/{channel-CTM7CJrB.js → channel-NrrRrxlA.js} +1 -1
  15. package/dist/assets/{chunk-4BX2VUAB-Bdv98T9c.js → chunk-4BX2VUAB-DJvzFKwQ.js} +1 -1
  16. package/dist/assets/{chunk-4TB4RGXK-DaIEuSP0.js → chunk-4TB4RGXK-BtkeuMYF.js} +1 -1
  17. package/dist/assets/{chunk-55IACEB6-Bi9130Nu.js → chunk-55IACEB6-B9KZe48-.js} +1 -1
  18. package/dist/assets/{chunk-EDXVE4YY-CZw-Vwwn.js → chunk-EDXVE4YY-CrC8aHms.js} +1 -1
  19. package/dist/assets/{chunk-FMBD7UC4-BBI7swjg.js → chunk-FMBD7UC4-CsMZhbHS.js} +1 -1
  20. package/dist/assets/{chunk-OYMX7WX6-CHKotm_J.js → chunk-OYMX7WX6-DzMU24Av.js} +1 -1
  21. package/dist/assets/{chunk-QZHKN3VN-ECW0McUe.js → chunk-QZHKN3VN-DQg8aTq0.js} +1 -1
  22. package/dist/assets/{chunk-YZCP3GAM-DLdAqU2z.js → chunk-YZCP3GAM-DiH0m9X5.js} +1 -1
  23. package/dist/assets/classDiagram-6PBFFD2Q-DiDwaKTt.js +1 -0
  24. package/dist/assets/classDiagram-v2-HSJHXN6E-DiDwaKTt.js +1 -0
  25. package/dist/assets/clone-N9s0k-Pj.js +1 -0
  26. package/dist/assets/{cose-bilkent-S5V4N54A-CfMuBnZy.js → cose-bilkent-S5V4N54A-Cuw7G_qy.js} +1 -1
  27. package/dist/assets/{dagre-KV5264BT-xxdATAWV.js → dagre-KV5264BT-qqKh51pl.js} +1 -1
  28. package/dist/assets/{diagram-5BDNPKRD-s8izYXws.js → diagram-5BDNPKRD-B-pBCkaj.js} +1 -1
  29. package/dist/assets/{diagram-G4DWMVQ6-BaZWrq-d.js → diagram-G4DWMVQ6-sdTDQV0t.js} +1 -1
  30. package/dist/assets/{diagram-MMDJMWI5-DlzU0RKB.js → diagram-MMDJMWI5-CelfzJxz.js} +1 -1
  31. package/dist/assets/{diagram-TYMM5635-Fej8ir1x.js → diagram-TYMM5635-z0RlpFuK.js} +1 -1
  32. package/dist/assets/{erDiagram-SMLLAGMA-Bwg0_DNs.js → erDiagram-SMLLAGMA-BHI2bnGz.js} +1 -1
  33. package/dist/assets/{flowDiagram-DWJPFMVM-pJ8Bv6wt.js → flowDiagram-DWJPFMVM-I1SWP3XA.js} +1 -1
  34. package/dist/assets/{ganttDiagram-T4ZO3ILL-DvgJ4Q6n.js → ganttDiagram-T4ZO3ILL-DZh82zoq.js} +1 -1
  35. package/dist/assets/{gitGraphDiagram-UUTBAWPF-Du8KitZ0.js → gitGraphDiagram-UUTBAWPF-DsMWEHvH.js} +1 -1
  36. package/dist/assets/{graph-57Q-0mNG.js → graph-BHosumIo.js} +1 -1
  37. package/dist/assets/{index-Cn0akK9k.js → index-CGG82Lfj.js} +1 -1
  38. package/dist/assets/{index-Bt7QsK9T.js → index-CiJgRlSn.js} +1 -1
  39. package/dist/assets/{index-_t_rn_h9.js → index-CyiyzBfV.js} +2 -2
  40. package/dist/assets/{index-CVh-Zo2A.js → index-Dn7Vc5py.js} +1 -1
  41. package/dist/assets/{index-BOryMxum.js → index-DnekML0c.js} +1 -1
  42. package/dist/assets/{index-EFFRo37G.js → index-VFaPBr79.js} +1 -1
  43. package/dist/assets/{index-zljZK-NO.js → index-_nQUY-oI.js} +1 -1
  44. package/dist/assets/{index-Cf77lzSr.js → index-s7YuKwmu.js} +1 -1
  45. package/dist/assets/{infoDiagram-42DDH7IO-DZz6OAQe.js → infoDiagram-42DDH7IO-DBi-2oXp.js} +1 -1
  46. package/dist/assets/{ishikawaDiagram-UXIWVN3A-Chrlpw73.js → ishikawaDiagram-UXIWVN3A-fIVocwqv.js} +1 -1
  47. package/dist/assets/{journeyDiagram-VCZTEJTY-D-fCEwg9.js → journeyDiagram-VCZTEJTY-CTSi1qOI.js} +1 -1
  48. package/dist/assets/{jszip.min-mU_-As7x.js → jszip.min-B7ufzfHi.js} +1 -1
  49. package/dist/assets/{kanban-definition-6JOO6SKY-DFdrm5t-.js → kanban-definition-6JOO6SKY-U8kfIi3w.js} +1 -1
  50. package/dist/assets/{layout-Dh-E01gA.js → layout-D5zEy4mK.js} +1 -1
  51. package/dist/assets/{linear-BjXnK-6T.js → linear-BAPnyqP4.js} +1 -1
  52. package/dist/assets/{mermaid.core-Cbqxn86C.js → mermaid.core-C8GuIPOP.js} +2 -2
  53. package/dist/assets/{min-B4n9eIGL.js → min-DP92r0cl.js} +1 -1
  54. package/dist/assets/{mindmap-definition-QFDTVHPH-Bw49x4oU.js → mindmap-definition-QFDTVHPH-CCrRqC11.js} +1 -1
  55. package/dist/assets/{pieDiagram-DEJITSTG-D-iq9rKK.js → pieDiagram-DEJITSTG-BrMSbuT1.js} +1 -1
  56. package/dist/assets/{quadrantDiagram-34T5L4WZ-QtFjo8i4.js → quadrantDiagram-34T5L4WZ-3K-JFsjs.js} +1 -1
  57. package/dist/assets/{requirementDiagram-MS252O5E-BwmEZf4F.js → requirementDiagram-MS252O5E-CiqMG6uM.js} +1 -1
  58. package/dist/assets/{sankeyDiagram-XADWPNL6-CTtXN32x.js → sankeyDiagram-XADWPNL6-CM98y9LX.js} +1 -1
  59. package/dist/assets/{seqResourceLoaders-pADDTbV6.css → seqResourceLoaders-BgD_Rwvc.css} +1 -1
  60. package/dist/assets/seqResourceLoaders-XMiEIVyV.js +2 -0
  61. package/dist/assets/{sequenceDiagram-FGHM5R23-DC00gRqs.js → sequenceDiagram-FGHM5R23-C4x_1BvX.js} +1 -1
  62. package/dist/assets/{stateDiagram-FHFEXIEX-CT963BWJ.js → stateDiagram-FHFEXIEX-DyPisIEy.js} +1 -1
  63. package/dist/assets/{stateDiagram-v2-QKLJ7IA2-1T7yDlvQ.js → stateDiagram-v2-QKLJ7IA2-1n69gYPg.js} +1 -1
  64. package/dist/assets/{timeline-definition-GMOUNBTQ-CDu66c9j.js → timeline-definition-GMOUNBTQ-CRnoneDr.js} +1 -1
  65. package/dist/assets/{vendor-antd-DADYo_zg.js → vendor-antd-CSjy2pdD.js} +1 -1
  66. package/dist/assets/{vendor-codemirror-tF6HNoR6.js → vendor-codemirror-Clv6kvI5.js} +1 -1
  67. package/dist/assets/{vendor-mdxeditor-CFAmRN3Y.js → vendor-mdxeditor-CtujsSUV.js} +2 -2
  68. package/dist/assets/{vendor-qrcode-DYKmbePy.js → vendor-qrcode-Bs-eoLpy.js} +1 -1
  69. package/dist/assets/{vendor-virtuoso-TxPxvPjL.js → vendor-virtuoso-DsaYo4Fi.js} +1 -1
  70. package/dist/assets/{vennDiagram-DHZGUBPP-DSm6yR_C.js → vennDiagram-DHZGUBPP-JQY_eM5i.js} +1 -1
  71. package/dist/assets/{wardley-RL74JXVD-kFdCN4XL.js → wardley-RL74JXVD-CvCX-J_r.js} +1 -1
  72. package/dist/assets/{wardleyDiagram-NUSXRM2D-BY1GQbCO.js → wardleyDiagram-NUSXRM2D-C1ZrJXnG.js} +1 -1
  73. package/dist/assets/{xychartDiagram-5P7HB3ND-ONnFdWbS.js → xychartDiagram-5P7HB3ND-hR1VN6u6.js} +1 -1
  74. package/dist/index.html +4 -4
  75. package/package.json +1 -1
  76. package/server/interceptor.js +192 -51
  77. package/server/lib/interceptor-core.js +91 -0
  78. package/server/lib/v2/adapter.js +1 -1
  79. package/server/lib/v2/live-feed.js +2 -0
  80. package/server/lib/v2/meta-rows.js +3 -0
  81. package/server/lib/v2/v2-writer.js +1 -1
  82. package/server/proxy.js +39 -8
  83. package/server/pty-manager.js +6 -0
  84. package/server/routes/expert.js +47 -2
  85. package/server/routes/preferences.js +24 -7
  86. package/src/utils/modelSuggestions.js +48 -0
  87. package/src/utils/v3Assembler.js +1 -0
  88. package/src/utils/v3Rows.js +1 -0
  89. package/dist/assets/App-Bs6-c4Ov.css +0 -1
  90. package/dist/assets/App-DRYFClM8.js +0 -2
  91. package/dist/assets/classDiagram-6PBFFD2Q-CkmfHfqf.js +0 -1
  92. package/dist/assets/classDiagram-v2-HSJHXN6E-CkmfHfqf.js +0 -1
  93. package/dist/assets/clone-pjnYCaC4.js +0 -1
  94. package/dist/assets/seqResourceLoaders-CaQIrQWb.js +0 -2
package/README.md CHANGED
@@ -117,7 +117,7 @@ Letting Claude Code diagnose the problem on its own is more effective than askin
117
117
 
118
118
  Once the instruction is done, `findcc.js` will have been updated. If your project frequently needs local deployment, or your forked code often runs into installation issues, just keep this file — next time you can simply copy it over. At this stage many projects and companies use Claude Code on server-side hosted deployments rather than on Mac, so I split out `findcc.js` to make it easier to keep tracking upstream cc-viewer source updates.
119
119
 
120
- Note: this app conflicts with claude-code-switch and claude-code-router — there is a proxy contention problem, so make sure you turn off claude-code-switch and claude-code-router when using it. cc-viewer provides built-in proxy hot-reload that can replace them.
120
+ Note: this app conflicts with claude-code-switch and claude-code-router — there is a proxy contention problem, so make sure you turn off claude-code-switch and claude-code-router when using it. cc-viewer provides built-in proxy hot-reload that can replace them. The hot-switch dialog also supports per-role sources — Main Agent, Sub-Agents and Teammates can each use a different proxy profile (default: follow the Main Agent); when the Main Agent uses the built-in Default with the official endpoint, role assignment stays hidden and dormant.
121
121
 
122
122
  ### Other helper commands
123
123
 
@@ -179,7 +179,7 @@ By default, remote (LAN) access requires the `?token=` query that ccv prints at
179
179
  The **Edit System Prompt** modal (hamburger menu → Edit System Prompt) is tabbed:
180
180
 
181
181
  * The **Default** tab keeps the classic behavior: it writes `CC_SYSTEM.md` (override) or `CC_APPEND_SYSTEM.md` (append) into the current workspace, injected as `--system-prompt-file` / `--append-system-prompt-file` on the next ccv launch.
182
- * **Model tabs**: click **+ Add model**, type a name such as `opus` or `Gemini3`, and pick a scope — **Global** (`~/.claude/cc-viewer/system_prompt/`, applies to every workspace) or **Workspace** (`<project>/system_prompt/`). Each tab has its own Append/Override switch and Markdown preview.
182
+ * **Model tabs**: click **+ Add model**, type a name such as `opus` or `Gemini3`, and pick a scope — **Global** (`~/.claude/cc-viewer/system_prompt/`, applies to every workspace) or **Workspace** (`<project>/system_prompt/`). The name field offers type-ahead suggestions from your locally configured models (hot-reload proxy profiles and `settings.json`); names already added in the chosen scope are hidden, and arbitrary free-form names remain allowed. Each tab has its own Append/Override switch and Markdown preview.
183
183
  * Entries are stored as uppercase files: `OPUS_SYSTEM.md` (override) or `OPUS_APPEND_SYSTEM.md` (append). Matching is fuzzy — a case-insensitive substring of the model ID resolved from the ACTIVE configuration (an active third-party proxy profile's model mapping > the launch environment's `ANTHROPIC_MODEL`/`CLAUDE_MODEL` > the `model` configured in `settings.json`; with no configuration signal, no entry is injected), so `opus` matches `claude-opus-4-8[1m]` regardless of version. Switching the proxy profile mid-session re-matches only after the claude session is restarted, and a `--model` flag passed through extra args is not consulted (known limitations). A workspace match beats a global one; within a scope the longest name wins; a matched entry fully replaces the Default files for that launch.
184
184
  * Saving a tab empty deletes the entry. Model switches made mid-session apply at the next relaunch. Set `CCV_DISABLE_AUTO_SYSTEM_PROMPT=1` to disable all automatic injection. You may commit `<project>/system_prompt/` to share prompts with your team, or add it to `.gitignore` to keep them private.
185
185
 
@@ -58,3 +58,16 @@ Configuration is stored at `~/.claude/cc-viewer/profile.json`. Click the folder
58
58
  - `profiles` — Profile list. `id: "max"` is built-in and cannot be deleted
59
59
  - Legacy profiles using `models` / `activeModel` are auto-migrated to `ANTHROPIC_MODEL` on load
60
60
  - Changes take effect within ~1.5 seconds (monitored via `fs.watchFile`), no restart needed
61
+
62
+ ## Per-Role Assignment (Advanced)
63
+
64
+ When the Main Agent uses a proxy profile, a "Role Assignment" section appears at the top of the dialog, letting **Sub-Agents** and **Teammates** each point to a different source than the Main Agent — e.g. an expensive model for the Main Agent and a cheaper one for Sub-Agents.
65
+
66
+ - Each role can be set to: **Follow Main Agent** (default) / **Default (built-in direct)** / any profile
67
+ - **Utility requests (`count_tokens`, heartbeat) always follow the process-primary role's source** (in the leader process = the Main Agent's; inside a Teammate process = the Teammate's own assignment) — third-party proxies often lack these endpoints
68
+ - The Sub-Agent role only applies to requests carrying the `cc_is_subagent=true` marker (Claude Code ≥ 2.1.181); older versions' sub-agent requests, compaction, and title-generation calls stay on the Main Agent's source
69
+ - Both teammate forms are supported: separate OS processes (detected via `--agent-name`, hot-applied within ~1.5s via file watching) and in-process team agents (Claude Code 2.1.x native agent teams, detected via the team marker in the system prompt, hot-applied with the leader process)
70
+ - When the Main Agent is set back to **Default with the official api.anthropic.com endpoint**, the assignment section hides and stored role assignments stay **dormant (kept but inactive)** — they revive as-is once the Main Agent switches to a proxy again. With Default backed by a custom endpoint (e.g. a third-party URL in env), the section stays visible and assignments apply
71
+ - Role assignments are workspace-scoped, stored in each project's `active-profile.json` (`{ activeId, roles }`)
72
+
73
+ Note: ccv proxy mode (`ccv run` / `ccv` CLI / Electron tabs) also splits by role — the proxy classifies each buffered request body, picks the role's upstream, and hands it to the retry engine, with stats attributed to the role's profile. The one exception is OS-process teammates under proxy mode, where the official-endpoint dormancy check does not apply (they see the local proxy address as the endpoint).
@@ -58,3 +58,16 @@
58
58
  - `profiles` — profile 列表,`id: "max"` 为内置直连模式,不可删除
59
59
  - 使用旧版 `models` / `activeModel` 的 profile 在加载时会自动迁移为 `ANTHROPIC_MODEL`
60
60
  - 修改文件后约 1.5 秒自动生效(通过 `fs.watchFile` 监听),无需重启
61
+
62
+ ## 按角色分源(高级)
63
+
64
+ 当主 Agent 使用某个代理 profile 时,弹窗顶部会出现「角色分工」分配区,可让**子 Agent(SubAgent)**和 **Teammate** 分别指向与主 Agent 不同的源——典型用法是主 Agent 跑贵模型、子 Agent 跑便宜模型。
65
+
66
+ - 每个角色可选:**跟随主 Agent**(默认)/ **Default(内置直连)** / 任一 profile
67
+ - **count_tokens、心跳等 utility 请求永远跟随本进程主角色的源**(主进程内 = 主 Agent;Teammate 进程内 = Teammate 自己的分配)——第三方代理常不支持这些端点
68
+ - 子 Agent 角色只作用于带 `cc_is_subagent=true` 标记的请求(Claude Code ≥ 2.1.181);更早版本的子代理请求与压缩/标题等轻量请求一样留在主 Agent 源
69
+ - Teammate 两种形态都支持:独立进程(`--agent-name` 识别,切换后约 1.5 秒经文件监听热生效)与同进程团队 agent(Claude Code 2.1.x 原生 agent teams,经 system prompt 团队标记识别,随 leader 进程热生效)
70
+ - 当主 Agent 切回 **Default 且端点为官方 api.anthropic.com** 时,分配区自动隐藏,已配置的角色分配**保留但不生效**(休眠),主 Agent 再次切到代理时原样恢复;Default 背后是自定义端点(如 env 里配了第三方地址)时分配区仍然可见且生效
71
+ - 角色分配按 workspace 隔离,存储在各项目的 `active-profile.json`(`{ activeId, roles }`)
72
+
73
+ 说明:ccv 代理模式(`ccv run` / `ccv` CLI / Electron 标签页)同样按角色分流——proxy 在缓冲请求体后按角色选上游并交给重试引擎,统计按实际角色 profile 归属;唯一例外是代理模式下的**独立进程 teammate**,其官方端点休眠判定不生效(它看到的端点是本地代理地址)。
@@ -0,0 +1 @@
1
+ ._liveTag_8g4c3_3{position:relative;display:inline-flex;align-items:center;justify-content:flex-start;border-radius:999px;border:1px solid;border-color:var(--ctx-color);color:var(--ctx-color);padding:0 10px;height:100%;font-size:12px;line-height:1;overflow:hidden;transition:border-color .3s,color .3s;white-space:nowrap;background:var(--bg-base-pure)}._liveTagFill_8g4c3_23{position:absolute;left:0;top:0;bottom:0;width:var(--ctx-percent, 0);background-color:var(--ctx-color);background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.25) 0,rgba(255,255,255,.25) 2px,transparent 2px,transparent 7px);opacity:.35;transition:width .5s ease,background-color .3s;pointer-events:none}._liveTagContent_8g4c3_44{position:relative;z-index:1;display:inline-flex;align-items:center}._liveTagHistory_8g4c3_52{background:var(--bg-surface);border-color:var(--border-light);color:var(--text-primary)}._liveTagText_8g4c3_59{margin-left:4px;font-variant-numeric:tabular-nums}._cachePopoverPlaceholder_8g4c3_65{min-width:300px}._modeRow_1cqsb_1{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px}._modeLeft_1cqsb_9{display:flex;align-items:center;gap:10px}._modeRight_1cqsb_15{display:flex;align-items:center;gap:8px}._overrideWarn_1cqsb_22{font-size:12px;color:var(--color-warning, #d4810a)}._previewLabel_1cqsb_27{font-size:13px;color:var(--text-secondary, #888)}._previewBox_1cqsb_36{border:1px solid var(--border-primary);border-radius:8px;background:transparent;padding:12px 14px;min-height:320px;max-height:60vh;overflow:auto}._previewEmpty_1cqsb_46{font-size:13px;color:var(--text-secondary, #888)}._hint_1cqsb_51{margin-top:10px;font-size:12px;color:var(--text-secondary, #888);line-height:1.6}._dirLine_1cqsb_58{word-break:break-all}._warn_1cqsb_62{margin-top:10px;font-size:12px;color:var(--color-warning, #d4810a)}._tabRow_1cqsb_71{display:flex;align-items:flex-end;gap:8px;padding:0 4px;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-ms-overflow-style:none}._tabRow_1cqsb_71::-webkit-scrollbar{display:none}._tabBtn_1cqsb_90{display:inline-flex;align-items:center;gap:5px;padding:9px 14px;font-size:12px;line-height:1.6;border:1px solid transparent;border-radius:14px;background:transparent;color:var(--text-secondary);cursor:pointer;transition:all .2s;-webkit-user-select:none;user-select:none;white-space:nowrap;flex-shrink:0}._tabBtn_1cqsb_90:hover{color:var(--color-primary)}._tabBtn_1cqsb_90:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}._tabBtn_1cqsb_90._tabActive_1cqsb_118{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}._tabRow_1cqsb_71>._tabBtn_1cqsb_90._tabActive_1cqsb_118,._tabWrap_1cqsb_132:has(>._tabBtn_1cqsb_90._tabActive_1cqsb_118){position:sticky;left:0;right:0;z-index:2}[data-theme=light] ._tabBtn_1cqsb_90._tabActive_1cqsb_118{box-shadow:0 -3px 8px #0000000f}._editorBox_1cqsb_33{background:var(--bg-container);border-radius:8px;overflow:hidden;padding:4px;position:relative}[data-theme=light] ._editorBox_1cqsb_33{box-shadow:0 3px 8px #00000014}._editorBox_1cqsb_33 .ant-input{background:transparent;border:1px solid var(--border-primary);border-radius:8px;box-shadow:none;padding:12px 14px;font-size:12px;line-height:1.5;color:var(--text-primary)}._editorBox_1cqsb_33 .ant-input:hover{border-color:var(--border-primary);background:transparent}._editorBox_1cqsb_33 .ant-input:focus{border-color:var(--color-primary-pale);box-shadow:none}._editorBox_1cqsb_33 .ant-input[disabled]{color:var(--text-muted);background:transparent}._tabWrap_1cqsb_132{position:relative;display:inline-flex;align-items:center;flex-shrink:0}._tabTitle_1cqsb_199{white-space:nowrap}._tabDelete_1cqsb_204{position:absolute;top:2px;inset-inline-end:4px;width:14px;height:14px;border-radius:50%;background:var(--bg-elevated);border:1px solid var(--border-primary);color:var(--text-secondary);font-size:10px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transition:opacity .15s;z-index:2}._tabWrap_1cqsb_132:hover ._tabDelete_1cqsb_204{opacity:1}._tabDelete_1cqsb_204:hover{color:var(--color-error, #d4380d);border-color:var(--color-error, #d4380d)}@media(max-width:768px){._tabDelete_1cqsb_204{opacity:1}}._addBtn_1cqsb_237{display:inline-flex;align-items:center;align-self:center;gap:5px;padding:6px 14px;font-size:12px;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}._addBtn_1cqsb_237:hover{color:var(--color-primary);background:var(--bg-surface)}._addBtn_1cqsb_237:disabled{cursor:not-allowed;opacity:.5}[data-theme=light] ._addBtn_1cqsb_237{color:var(--text-secondary)}._scopeBadge_1cqsb_270{font-size:10px;line-height:1.4;padding:0 4px;border-radius:6px;background:var(--bg-surface);color:var(--text-muted)}._dirtyDot_1cqsb_280{width:6px;height:6px;border-radius:50%;background:var(--color-primary);flex-shrink:0}._titleRow_1cqsb_289{display:inline-flex;align-items:center;gap:8px}._helpBtn_1cqsb_297{align-self:center;width:16px;height:16px;border-radius:50%;border:1px solid var(--border-primary);background:var(--bg-elevated);color:var(--text-secondary);font-size:11px;line-height:1;display:inline-flex;align-items:center;justify-content:center;cursor:help;flex-shrink:0;-webkit-user-select:none;user-select:none}._helpBtn_1cqsb_297:hover{color:var(--color-primary);border-color:var(--color-primary)}._paramDocBtn_1cqsb_320{align-self:center;height:18px;padding:0 8px;border-radius:999px;border:1px solid var(--border-primary);background:var(--bg-elevated);color:var(--text-secondary);font-size:11px;font-weight:400;line-height:1;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;-webkit-user-select:none;user-select:none;white-space:nowrap;max-width:40vw;overflow:hidden;text-overflow:ellipsis}._paramDocBtn_1cqsb_320:hover{color:var(--color-primary);border-color:var(--color-primary)}._paramDocBtn_1cqsb_320:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}._docBox_1cqsb_352{max-height:65vh;overflow:auto;font-size:13px;line-height:1.6}._docIntro_1cqsb_361{color:var(--text-secondary);font-size:12px;line-height:1.6;margin:0 0 12px;padding-bottom:10px;border-bottom:1px solid var(--border-primary)}._addModalBody_1cqsb_371{display:flex;flex-direction:column;gap:14px;margin-top:4px}._addModalField_1cqsb_377{display:flex;flex-direction:column;gap:6px}._fieldLabelRow_1cqsb_382{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--text-secondary, #888)}._addError_1cqsb_390{font-size:12px;color:var(--color-error, #d4380d)}._presetSelect_1cqsb_394,._addNameAutoComplete_1cqsb_398{width:100%}._presetMatched_1cqsb_401{font-size:11px;color:var(--color-text-secondary, #888)}._editButton_1r9yr_10{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;background:transparent;border:none;padding:0 2px;margin-left:4px;cursor:pointer;font-size:inherit;line-height:1;color:var(--text-secondary, #888);opacity:0;border-radius:3px;transition:opacity .12s ease,color .12s ease,background-color .12s ease}._editButton_1r9yr_10 .anticon{display:inline-flex;align-items:center;line-height:1;position:relative;top:-1px}._editButton_1r9yr_10:hover,._editButton_1r9yr_10:focus-visible{opacity:1;color:var(--text-primary, #333);background-color:var(--bg-hover, rgba(0, 0, 0, .04));outline:none}._editButton_1r9yr_10:focus-visible{box-shadow:0 0 0 2px var(--focus-ring, rgba(64, 158, 255, .4))}._footer_1r9yr_55{display:flex;justify-content:space-between;align-items:center;gap:8px}._footerLeft_1r9yr_61,._footerRight_1r9yr_65{display:flex;gap:8px}._projectNameRow_1r9yr_70{display:flex;align-items:center;gap:8px;margin-bottom:12px;padding:6px 10px;background:var(--bg-secondary, rgba(0, 0, 0, .03));border-radius:4px;font-size:12px}._projectNameLabel_1r9yr_80{color:var(--text-secondary, #888)}._projectNameValue_1r9yr_83{color:var(--text-primary, #333);font-family:var(--font-mono);word-break:break-all}._panel_1nxl3_1{display:flex;flex-direction:column;gap:14px}._required_1nxl3_7{margin-left:2px;color:var(--color-error-light, #ff7b7b)}._optional_1nxl3_12{margin-left:6px;font-size:12px;font-weight:400;color:var(--text-secondary)}._row_1nxl3_19{display:flex;align-items:center;justify-content:space-between;gap:12px}._label_1nxl3_26{font-size:14px;font-weight:500}._control_1nxl3_31{display:inline-flex;align-items:center;gap:10px}._field_1nxl3_37{display:flex;flex-direction:column;gap:6px}._fieldLabel_1nxl3_43{font-size:13px;color:var(--text-secondary)}._help_1nxl3_48{font-size:12px;color:var(--text-secondary);line-height:1.4}._warn_1nxl3_54{font-size:12px;line-height:1.5;color:var(--color-error-light, #ff7b7b)}._hint_1nxl3_60{font-size:12px;line-height:1.5;color:var(--text-secondary)}._helpIcon_1nxl3_67{margin-left:6px;color:var(--text-tertiary, #999);cursor:help;font-size:13px}._detailsToggle_1nxl3_74{display:inline-flex;align-items:center;gap:5px;align-self:flex-start;padding:0;border:none;background:none;cursor:pointer;font-size:12px;color:var(--text-secondary)}._detailsToggle_1nxl3_74:hover{color:var(--text-primary, var(--text-secondary))}._details_1nxl3_74{display:flex;flex-direction:column;gap:10px}._actions_1nxl3_98{display:flex;justify-content:flex-end;gap:10px;margin-top:16px;padding-top:16px;border-top:1px solid var(--border-secondary)}._testBtn_1nxl3_108{margin-right:auto}._tabRow_1q32a_4{display:flex;align-items:flex-end;gap:6px;padding:0 8px;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-ms-overflow-style:none}._tabRow_1q32a_4::-webkit-scrollbar{display:none}._tabBtn_1q32a_24{display:inline-flex;align-items:center;gap:7px;padding:8px 16px;font-size:14px;line-height:1.5;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--text-secondary);cursor:pointer;transition:color .18s,border-color .18s,background .18s;white-space:nowrap;flex-shrink:0;-webkit-user-select:none;user-select:none}._tabBtn_1q32a_24:hover{color:var(--color-primary)}._tabBtn_1q32a_24._tabBtnActive_1q32a_52,._tabBtn_1q32a_24._tabBtnActive_1q32a_52:hover{background:var(--bg-container);color:var(--color-primary);border-color:var(--border-primary);border-bottom:2px solid var(--bg-container);border-radius:10px 10px 0 0;font-weight:500;margin-bottom:-1px;position:relative;z-index:2}._toolBody_1q32a_8{border:1px solid var(--border-primary);border-top:none;border-radius:8px;background:var(--bg-container);padding:18px 20px;min-width:0}[data-theme=light] ._toolBody_1q32a_8{box-shadow:0 3px 8px #00000014}[data-theme=light] ._tabBtnActive_1q32a_52{box-shadow:0 -3px 8px #0000000f}[data-theme=dark] ._toolBody_1q32a_8 .ant-input,[data-theme=dark] ._toolBody_1q32a_8 .ant-input-affix-wrapper,[data-theme=dark] ._toolBody_1q32a_8 .ant-select-selector{background-color:var(--bg-elevated)}._scrollBody_mzpnt_1{height:100%;box-sizing:border-box;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable;padding:4px 2px;background:var(--bg-container)}._headerBar_mzpnt_15{display:flex;align-items:center;gap:8px}._refreshBtn_mzpnt_21{flex:0 0 auto}._statusTag_mzpnt_27{display:inline-flex;align-items:center;gap:8px;margin-left:auto}._statusTag_mzpnt_27 .ant-tag{margin-inline-end:0}._center_mzpnt_38{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:40px 0;color:var(--text-secondary)}._hint_mzpnt_48{color:var(--text-secondary);font-size:13px}._chip_dnl8s_4{position:relative;line-height:0;cursor:pointer;-webkit-user-select:none;user-select:none;transition:opacity .15s}._chip_dnl8s_4:hover{opacity:.75}._logo_dnl8s_16{display:block;transition:color .15s}._connecting_dnl8s_22{opacity:.5}._dotError_dnl8s_27{position:absolute;right:-2px;top:-2px;width:6px;height:6px;border-radius:50%;background:var(--color-error, #ff4d4f);pointer-events:none}._dotReconnecting_dnl8s_39{position:absolute;right:-2px;top:-2px;width:6px;height:6px;border-radius:50%;background:var(--color-warning, #f59e0b);pointer-events:none;animation:_imDotPulse_dnl8s_1 1.2s ease-in-out infinite}@keyframes _imDotPulse_dnl8s_1{0%,to{opacity:1}50%{opacity:.3}}@media(prefers-reduced-motion:reduce){._dotReconnecting_dnl8s_39{animation:none}}._modelCard_1tsd3_3{border:1px solid var(--border-secondary);border-radius:6px;padding:8px 10px;background:var(--bg-container)}._modelName_1tsd3_9{font-size:13px;font-weight:600;color:var(--text-primary);margin-bottom:8px;padding-bottom:4px;border-bottom:1px solid var(--border-secondary)}._statsTable_1tsd3_17{width:100%;border-collapse:collapse}._th_1tsd3_21{padding:2px 12px;font-size:12px;font-family:var(--font-mono);white-space:nowrap;color:var(--text-tertiary);font-weight:400;text-align:right}._td_1tsd3_30{padding:2px 12px;font-size:12px;font-family:var(--font-mono);white-space:nowrap;color:var(--text-primary);text-align:right}._label_1tsd3_38{padding:2px 12px;font-size:12px;font-family:var(--font-mono);white-space:nowrap;color:var(--text-light);font-weight:400;text-align:left}._rowBorder_1tsd3_47{border-bottom:1px solid var(--border-primary)}._rebuildTotalRow_1tsd3_50{border-top:1px solid var(--border-light)}._rebuildTotalRow_1tsd3_50 td{font-weight:600}._cachePopoverEmpty_1tsd3_56{padding:8px 4px;color:var(--text-tertiary);font-size:13px}._toolChipGrid_1tsd3_61{display:flex;flex-wrap:wrap;gap:4px;padding:2px 0 6px 2px}._cacheToolChip_1tsd3_67{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);cursor:help}._titleIcon_1tsd3_81{margin-right:8px}._detailMarkdownCard_1tsd3_86{border:1px solid var(--border-secondary);border-radius:6px;padding:8px 10px;background:var(--bg-container)}._memoryMarkdown_1tsd3_93{font-size:12.5px;line-height:1.55;color:var(--text-primary);word-break:break-word}._memoryMarkdown_1tsd3_93 p{margin:0 0 6px}._memoryMarkdown_1tsd3_93 ul,._memoryMarkdown_1tsd3_93 ol{margin:4px 0 6px;padding-left:20px}._memoryMarkdown_1tsd3_93 li{margin:2px 0}._memoryMarkdown_1tsd3_93 h1,._memoryMarkdown_1tsd3_93 h2,._memoryMarkdown_1tsd3_93 h3,._memoryMarkdown_1tsd3_93 h4{font-size:13px;font-weight:600;margin:8px 0 4px;color:var(--text-primary)}._memoryMarkdown_1tsd3_93 h1{font-size:14px}._memoryMarkdown_1tsd3_93 a{color:var(--primary-color, #1677ff);text-decoration:none;cursor:pointer}._memoryMarkdown_1tsd3_93 a:hover{text-decoration:underline}._memoryMarkdown_1tsd3_93 code{font-family:var(--font-mono);font-size:12px;padding:1px 4px;border-radius:3px;background:var(--bg-surface);color:var(--text-primary)}._memoryMarkdown_1tsd3_93 pre{margin:6px 0;padding:8px 10px;border-radius:4px;background:var(--bg-surface);overflow-x:auto}._memoryMarkdown_1tsd3_93 pre code{padding:0;background:transparent;font-size:12px}._memoryMarkdown_1tsd3_93 blockquote{margin:4px 0;padding:2px 8px;border-left:3px solid var(--border-hover);color:var(--text-secondary)}._memoryMarkdown_1tsd3_93 hr{margin:8px 0;border:none;border-top:1px solid var(--border-secondary)}._quickMenuGroup_1tsd3_164{position:relative}._quickMenuRow_1tsd3_168{display:flex;align-items:center;gap:6px;width:100%;background:none;border:none;color:var(--text-primary);font-size:13px;padding:6px 12px;text-align:left;cursor:pointer;border-radius:4px;white-space:nowrap}._quickMenuGroup_1tsd3_164:hover ._quickMenuRow_1tsd3_168,._quickMenuGroupOpen_1tsd3_185 ._quickMenuRow_1tsd3_168{background:var(--border-secondary)}._quickMenuRowIcon_1tsd3_189{display:flex;align-items:center;color:var(--text-tertiary)}._quickMenuRowIcon_1tsd3_189 svg{width:14px;height:14px}._quickMenuLabel_1tsd3_200{flex:1}._quickMenuValue_1tsd3_205{color:var(--text-tertiary);font-size:12px}._quickMenuCaret_1tsd3_210{color:var(--text-tertiary);font-size:10px}._quickMenuSubWrap_1tsd3_218{display:none;position:absolute;left:100%;bottom:-5px;padding-left:6px;z-index:1}._quickMenuGroupOpen_1tsd3_185 ._quickMenuSubWrap_1tsd3_218{display:block}._quickMenuSub_1tsd3_218{display:flex;flex-direction:column;background:var(--bg-elevated);border:1px solid var(--border-hover);border-radius:8px;padding:4px;min-width:76px;max-height:60vh;overflow-y:auto;box-shadow:0 6px 16px #0000002e}._quickMenuOption_1tsd3_248{background:none;border:none;color:var(--text-primary);font-size:13px;padding:5px 12px;text-align:left;cursor:pointer;border-radius:4px;white-space:nowrap}._quickMenuOption_1tsd3_248:hover{background:var(--border-secondary)}._quickMenuOption_1tsd3_248._quickMenuOptionActive_1tsd3_264{color:var(--color-primary);font-weight:500}._headerBar_jseur_2{display:flex;align-items:center;justify-content:space-between;width:100%;height:100%}._logoWrap_jseur_10{display:inline-flex;align-items:center;position:relative;margin-top:14px}._logoWrapActive_jseur_17:after{content:"";position:absolute;top:-10px;bottom:-10px;left:0;right:-200px}._logoImage_jseur_26{height:24px;width:24px;border-radius:3px;vertical-align:middle;opacity:.75;transition:opacity .2s;cursor:pointer}._logoImageActive_jseur_36{opacity:1}._compactBtn_jseur_43{font-size:12px;height:30px;display:inline-flex;align-items:center;justify-content:center}._compactBtnNoBorder_jseur_52{width:30px;height:30px;min-width:30px;padding:0;border:none;font-size:18px;line-height:1;display:inline-flex;align-items:center;justify-content:center}._compactBtnNoBorder_jseur_52 .anticon{display:inline-flex;align-items:center;justify-content:center;line-height:0}._headerProjectName_jseur_79{font-size:12px;color:inherit;white-space:nowrap}._headerProjectName_jseur_79:hover [data-alias-edit-trigger],._headerProjectName_jseur_79:focus-within [data-alias-edit-trigger]{opacity:.55}._countdownStrong_jseur_96{font-variant-numeric:tabular-nums}._qrcodePopover_jseur_101{display:flex;flex-direction:column;align-items:center;padding:8px}._qrcodeSection_jseur_108{display:flex;flex-direction:column;align-items:center;padding:16px;margin-bottom:12px;border:1px solid var(--border-secondary);border-radius:8px;background:var(--bg-container)}._qrcodeTitle_jseur_119{font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:12px}._qrcodeUrlInput_jseur_126{margin-top:12px;font-size:12px;font-family:var(--font-mono)}._qrcodeUrlCopy_jseur_132{cursor:pointer;color:var(--text-tertiary);transition:color .2s}._qrcodeUrlCopy_jseur_132:hover{color:var(--color-primary-light)}._authSection_jseur_143{display:flex;flex-direction:column;align-items:stretch;box-sizing:border-box;width:100%;margin-top:12px;padding:12px;border:1px solid var(--border-secondary);border-radius:8px;background:var(--bg-container);gap:8px}._authHeaderRow_jseur_157{display:flex;align-items:center;justify-content:space-between}._authTitle_jseur_163{font-size:13px;font-weight:600;color:var(--text-primary)}._authPasswordLabel_jseur_169{font-size:12px;color:var(--text-secondary)}._authPasswordInput_jseur_174{font-size:12px;font-family:var(--font-mono)}._authSaveBtn_jseur_179{align-self:flex-end}._authEmptyWarn_jseur_183{font-size:12px;color:var(--color-error-light);line-height:1.4}._settingsGroupBox_jseur_191{border:1px solid var(--border-secondary);border-radius:8px;background:var(--bg-container);padding:4px 16px;margin-bottom:12px}._settingsGroupTitle_jseur_199{font-size:14px;font-weight:600;color:var(--text-primary);padding:12px 0 4px;border-bottom:1px solid var(--border-secondary)}._settingsItem_jseur_208{display:flex;justify-content:space-between;align-items:center;padding:12px 0}._settingsLabel_jseur_215{font-size:14px}._settingsHelpIcon_jseur_220{font-size:16px;color:var(--text-disabled);cursor:help;margin-left:4px}._settingsDivider_jseur_227{border-top:1px solid var(--border-primary);margin:12px 0}._logDirInput_jseur_232{margin-top:8px;background:var(--bg-base-alt);border-color:var(--border-light);color:var(--text-primary);font-family:var(--font-mono);font-size:13px}._claudeExecutableInput_jseur_241{width:100%;margin-top:8px;font-family:var(--font-mono);font-size:12px}._claudeExecutableHint_jseur_248{margin-top:6px;color:var(--text-tertiary);font-size:12px;line-height:1.5;overflow-wrap:anywhere}._tokenStatsEmpty_jseur_257{padding:8px 4px;color:var(--text-tertiary);font-size:13px}._tokenStatsContainer_jseur_264{display:flex;gap:12px;align-items:flex-start}._tokenStatsColumn_jseur_270{min-width:240px}._toolStatsColumn_jseur_274{min-width:180px}._modelCardSpaced_jseur_280{margin-bottom:10px}._rebuildCard_jseur_289{border:1px solid var(--border-secondary);border-radius:6px;padding:8px 10px;margin-top:10px;background:var(--bg-container)}._promptExportBar_jseur_298{margin-bottom:12px}._promptScrollArea_jseur_302{max-height:500px;overflow:auto}._promptEmpty_jseur_307{color:var(--text-tertiary);padding:12px}._promptTimestamp_jseur_313{color:var(--text-muted);font-size:12px;margin:12px 0 4px;padding-bottom:6px}._textPromptCard_jseur_321{margin:4px 0;background:var(--bg-container);border-radius:6px;border:1px solid var(--border-secondary);padding:10px 14px}._preText_jseur_330{white-space:pre-wrap;word-break:break-word;font-size:13px;line-height:1.6;color:var(--text-primary);margin:4px 0}._systemCollapse_jseur_340{margin:4px 0;background:var(--bg-elevated);border:1px solid var(--border-secondary);border-radius:6px}._systemLabel_jseur_347{color:var(--text-tertiary);font-size:12px}._preSys_jseur_352{white-space:pre-wrap;word-break:break-word;font-size:12px;line-height:1.5;color:var(--text-tertiary);margin:0}._promptTextarea_jseur_362{box-sizing:border-box;background:var(--bg-base-pure);width:100%;min-height:400px;color:var(--text-primary);font-family:var(--font-mono);font-size:13px;line-height:1.6;border:none;resize:vertical;padding:10px 14px;outline:none}._projectStatsCenter_jseur_378{display:flex;justify-content:center;padding:40px 0}._projectStatsEmpty_jseur_384{color:var(--text-tertiary);padding:40px 0;text-align:center;font-size:13px}._projectStatsContent_jseur_391{display:flex;flex-direction:column;gap:16px}._projectStatsUpdated_jseur_397{color:var(--text-muted);font-size:12px;text-align:right}._projectStatsSummary_jseur_403{display:grid;grid-template-columns:1fr 1fr;gap:10px}._projectStatCard_jseur_409{background:var(--bg-container);border:1px solid var(--border-secondary);border-radius:8px;padding:14px 12px;text-align:center}._projectStatValue_jseur_417{font-size:22px;font-weight:700;color:var(--text-primary);font-family:var(--font-mono);font-variant-numeric:tabular-nums}._projectStatLabel_jseur_425{font-size:12px;color:var(--text-tertiary);margin-top:4px}._projectStatsSection_jseur_431{display:flex;flex-direction:column;gap:10px}._projectStatsSectionTitle_jseur_437{font-size:14px;font-weight:600;color:var(--text-secondary);padding-bottom:4px;border-bottom:1px solid var(--border-secondary)}._projectStatsModelCard_jseur_445{background:var(--bg-container);border:1px solid var(--border-secondary);border-radius:6px;padding:10px 12px}._projectStatsModelHeader_jseur_452{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;padding-bottom:4px;border-bottom:1px solid var(--border-secondary)}._projectStatsModelName_jseur_461{font-size:13px;font-weight:600;color:var(--text-primary)}._projectStatsModelCount_jseur_467{font-size:12px;color:var(--text-tertiary);font-family:var(--font-mono)}._cacheCopyBtn_jseur_475{font-size:14px;color:var(--text-tertiary);cursor:pointer;transition:color .2s;margin-left:8px}._cacheCopyBtn_jseur_475:hover{color:var(--text-primary)}._cacheTokenInfo_jseur_487{display:flex;align-items:center;font-size:12px;font-family:var(--font-mono);color:var(--text-light);margin-bottom:8px}._cacheCodeBlock_jseur_500{white-space:pre-wrap;word-break:break-word;font-size:12px;line-height:1.5;color:var(--text-secondary);background:var(--bg-container);border:1px solid var(--border-primary);border-radius:4px;padding:8px;margin:4px 0;font-family:var(--font-mono)}._cacheCodeBlockSystem_jseur_514{white-space:pre-wrap;word-break:break-word;font-size:12px;line-height:1.5;color:var(--text-secondary);background:var(--bg-code-system);border:1px solid var(--border-code-system);border-radius:4px;padding:8px;margin:4px 0;font-family:var(--font-mono)}._cacheNavBtn_jseur_528{margin-left:auto;font-size:11px;color:var(--color-primary);cursor:pointer;border:1px solid var(--color-primary);border-radius:3px;padding:1px 6px;white-space:nowrap}._cacheNavBtn_jseur_528:hover{background:var(--color-primary-bg-light)}._cacheNavList_jseur_543{width:600px;max-height:300px;overflow-y:auto}._cacheNavItem_jseur_549{padding:4px 8px;font-size:12px;color:var(--text-secondary);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-radius:3px}._cacheNavItem_jseur_549:hover{background:var(--color-primary-bg-lighter);color:var(--text-white)}._cacheBlockHighlight_jseur_565{box-shadow:0 0 10px var(--color-primary-shadow);transition:box-shadow .2s ease-in}._cacheBlockHighlightFading_jseur_570{box-shadow:0 0 10px transparent;transition:box-shadow 3s ease-out}._cacheBorderSvg_jseur_575{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;overflow:visible}._cacheBorderSvgFading_jseur_584{opacity:0;transition:opacity 3s ease-out}._cacheBorderRect_jseur_589{animation:_cacheDashRotate_jseur_1 4s linear infinite}@keyframes _cacheDashRotate_jseur_1{0%{stroke-dashoffset:0}to{stroke-dashoffset:-100}}._thLeft_jseur_599{text-align:left}._cacheWriteToken_jseur_614{color:var(--color-code-orange)}._cacheReadToken_jseur_618{color:var(--color-success)}._cacheCtxPercent_jseur_622{color:var(--text-tertiary);margin-left:6px}._qrcodeIcon_jseur_642{width:30px;height:30px;padding:6px;box-sizing:border-box;color:var(--text-secondary);cursor:pointer;border-radius:6px;transition:color .15s ease,background-color .15s ease;display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;background:none;border:none}._qrcodeIcon_jseur_642:hover{color:var(--text-primary);background:var(--bg-hover, rgba(0, 0, 0, .04))}._qrcodeIcon_jseur_642:focus-visible{outline:2px solid var(--primary-color, #1677ff);outline-offset:1px}._approvalBell_jseur_668{position:relative;width:30px;height:30px;padding:6px;box-sizing:border-box;color:var(--color-warning, #faad14);cursor:pointer;border-radius:6px;transition:color .15s ease,background-color .15s ease;display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;background:none;border:none}._approvalBell_jseur_668:hover{color:var(--text-primary);background:var(--bg-hover, rgba(0, 0, 0, .04))}._approvalBell_jseur_668:focus-visible{outline:2px solid var(--primary-color, #1677ff);outline-offset:1px}._approvalBellBadge_jseur_693{position:absolute;top:0;right:0;min-width:14px;height:14px;padding:0 3px;box-sizing:border-box;background:var(--color-error, #ff4d4f);color:#fff;font-size:9px;line-height:14px;border-radius:7px;text-align:center;font-weight:600}._proxySwapIcon_jseur_710{margin-right:4px;font-size:11px}._proxyProfileTag_jseur_716{border-radius:12px;background:var(--border-secondary);border:1px solid var(--border-light);color:var(--text-tertiary);font-size:12px;cursor:pointer;transition:color .2s,border-color .2s}._proxyProfileTag_jseur_716:hover{color:var(--text-secondary);border-color:var(--text-disabled)}._pinnedShortcut_jseur_732{height:24px;margin-top:11px;display:inline-flex;align-items:center;justify-content:center;font-size:16px;line-height:1;color:var(--text-tertiary);opacity:.75;cursor:pointer;transition:opacity .2s,color .2s}._pinnedShortcut_jseur_732:hover{opacity:1;color:var(--text-secondary)}._pinnedShortcut_jseur_732 .anticon{display:inline-flex;align-items:center;justify-content:center;line-height:0}._themeToggle_jseur_761{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;width:30px;height:30px;padding:0;border:none;border-radius:6px;background:transparent;color:var(--text-secondary);cursor:pointer;transition:background-color .2s ease,color .2s ease;flex-shrink:0;outline:none}._themeToggle_jseur_761:hover{background:var(--color-bg-hover, rgba(127, 127, 127, .12));color:var(--text-primary)}._themeToggle_jseur_761:focus-visible{box-shadow:0 0 0 2px var(--primary-color, #1677ff)}._themeToggleIcon_jseur_787{display:block}._headerRightRow_jseur_792 .ant-space-item{display:inline-flex;align-items:center}._headerCountdownTag_jseur_798{height:30px;margin:0;padding:0 10px;display:inline-flex;align-items:center;background:var(--bg-surface);border:1px solid var(--border-hover);border-radius:6px;line-height:1}._centerEmpty_1ivpu_1{display:flex;align-items:center;justify-content:center;height:100%}._scrollContainer_1ivpu_8{overflow:auto;height:100%;-webkit-overflow-scrolling:touch;will-change:scroll-position}._listItem_1ivpu_15{cursor:pointer;padding:8px 12px;border-left:6px solid transparent;border-right:1px solid var(--border-primary);border-top:1px solid transparent;border-bottom:1px solid var(--border-primary);transition:background .15s}._listItem_1ivpu_15:hover{border-left-color:var(--border-hover)}._listItemActive_1ivpu_29{background:var(--color-primary-bg-faint);border-left-color:var(--color-primary-light);border-right:1px solid var(--color-primary-light);border-top:1px solid var(--color-primary-light);border-bottom:1px solid var(--color-primary-light)}._listItemActive_1ivpu_29,._listItemActive_1ivpu_29:hover{background:var(--color-primary-bg-faint);border-left-color:var(--color-primary-light);border-right-color:var(--color-primary-light);border-top-color:var(--color-primary-light);border-bottom-color:var(--color-primary-light)}._itemContent_1ivpu_46{width:100%;min-width:0}._itemHeader_1ivpu_51{display:flex;align-items:center;gap:6px;margin-bottom:4px;font-size:12px}._tagNoMargin_1ivpu_59{margin:0;font-size:12px}._modelName_1ivpu_64{font-size:12px;color:var(--text-tertiary)}._modelNameMain_1ivpu_69{color:var(--color-code-orange)}._time_1ivpu_73{font-size:12px;color:var(--text-gray);margin-left:auto}._detailRow_1ivpu_79{display:flex;gap:8px;font-size:12px;align-items:center}._urlText_1ivpu_86{color:var(--text-disabled);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}._duration_1ivpu_95{color:var(--text-gray);flex-shrink:0}._statusOk_1ivpu_100{color:var(--color-success);opacity:.5;flex-shrink:0}._statusErr_1ivpu_106{color:var(--color-error);flex-shrink:0}._statusDefault_1ivpu_111{color:var(--text-tertiary);flex-shrink:0}._usageBox_1ivpu_116{background:var(--bg-container);border-radius:4px;padding:3px 6px;margin-top:4px;font-size:12px;color:var(--text-gray);line-height:1.6}._cacheDot_1ivpu_126{display:inline-block;width:6px;height:6px;border-radius:50%;margin:0 3px;vertical-align:middle}._cacheDotLoss_1ivpu_135{background-color:var(--color-red-dark-bg);cursor:help}._cacheDotNormal_1ivpu_140{background-color:var(--border-hover)}._cacheDotTools_1ivpu_145{background-color:var(--color-code-purple);box-shadow:0 0 0 1.5px var(--color-purple-border)}._tagMainAgent_1ivpu_150{color:var(--color-code-orange);border-color:var(--color-code-orange-border);background:var(--color-code-orange-bg)}._tagPlan_1ivpu_156{color:var(--color-error-muted);border-color:var(--color-error-muted);background-color:var(--bg-base-pure)}._tagMuted_1ivpu_162{color:var(--text-muted);border-color:var(--border-light);background-color:var(--bg-base-pure)}._tooltipPreLine_1ivpu_168{white-space:pre-line}._GzYRV{line-height:1.2;white-space:pre-wrap;white-space:-moz-pre-wrap;white-space:-pre-wrap;white-space:-o-pre-wrap;word-wrap:break-word}._3eOF8{margin-right:5px;font-weight:700}._3eOF8+._3eOF8{margin-left:-5px}._1MFti{cursor:pointer}._f10Tu{font-size:1.2em;margin-right:5px;-webkit-user-select:none;-moz-user-select:none;user-select:none}._1UmXx:after{content:"▸"}._1LId0:after{content:"▾"}._1pNG9{margin-right:5px}._1pNG9:after{content:"...";font-size:.8em}._2IvMF{background:#eee}._2bkNM{margin:0;padding:0 10px}._1BXBN{margin:0;padding:0}._1MGIk{font-weight:600;margin-right:5px;color:#000}._3uHL6{color:#000}._2T6PJ,._1Gho6{color:#df113a}._vGjyY{color:#2a3f3c}._1bQdo{color:#0b75f5}._3zQKs{color:#469038}._1xvuR{color:#43413d}._oLqym,._2AXVT,._2KJWg{color:#000}._11RoI{background:#002b36}._17H2C,._3QHg2,._3fDAz{color:#fdf6e3}._2bSDX{font-weight:bolder;margin-right:5px;color:#fdf6e3}._gsbQL{color:#fdf6e3}._LaAZe,._GTKgm{color:#81b5ac}._Chy1W{color:#cb4b16}._2bveF{color:#d33682}._2vRm-{color:#ae81ff}._1prJR{color:#268bd2}._container_b5r6a_1{background:var(--bg-container);border-radius:6px;border:1px solid var(--border-primary);padding:12px;font-size:13px;font-family:var(--font-mono);overflow:auto}._root_1eor3_1{display:flex;height:100%;min-height:0;gap:0}._sidebar_1eor3_9{width:220px;flex-shrink:0;border-right:1px solid var(--border-primary);overflow-y:auto;padding:4px 0;-webkit-overflow-scrolling:touch}._section_1eor3_18{-webkit-user-select:none;user-select:none}._sectionHeader_1eor3_22{display:flex;align-items:center;gap:6px;width:100%;padding:6px 10px;cursor:pointer;color:var(--text-primary);font-size:12px;font-weight:600;transition:background .15s;background:none;border:0;text-align:left;font:inherit}._sectionHeader_1eor3_22:hover{background:var(--overlay-light-faint)}._sectionHeader_1eor3_22:focus-visible{outline:1px solid var(--color-primary-outline);outline-offset:-1px}._arrow_1eor3_48{font-size:10px;color:var(--text-tertiary);flex-shrink:0}._sectionTitle_1eor3_54{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._sectionCount_1eor3_62{font-size:11px;color:var(--text-muted);background:var(--bg-elevated);border-radius:10px;padding:0 6px;line-height:18px}._sectionBody_1eor3_71{padding:2px 0}._historyToggle_1eor3_76{display:flex;align-items:center;gap:6px;width:100%;padding:4px 10px 4px 14px;cursor:pointer;color:var(--text-muted);font-size:11px;transition:color .15s,background .15s;background:none;border:0;text-align:left;font:inherit}._historyToggle_1eor3_76:hover{color:var(--text-tertiary);background:var(--overlay-light-faint)}._historyToggle_1eor3_76:focus-visible{outline:1px solid var(--color-primary-outline);outline-offset:-1px}._historyToggleLabel_1eor3_102{flex:1}._item_1eor3_107{display:flex;align-items:center;justify-content:space-between;width:100%;padding:4px 9px 4px 23px;font-size:12px;color:var(--text-tertiary);cursor:pointer;transition:background .15s,color .15s;background:none;border:1px solid transparent;border-radius:4px;box-sizing:border-box;text-align:left;font:inherit}._item_1eor3_107:hover{background:var(--overlay-light-faint);color:var(--text-primary)}._item_1eor3_107:focus-visible{outline:1px solid var(--color-primary-outline);outline-offset:-1px}._itemActive_1eor3_135,._itemActive_1eor3_135:hover{background:var(--color-primary-bg-faint);color:var(--color-primary);border-color:var(--color-primary-light)}._itemContent_1eor3_142{flex:1;min-width:0;overflow:hidden}._itemLabel_1eor3_148{font-family:var(--font-mono);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}._itemSublabel_1eor3_156{font-size:10px;color:var(--text-disabled);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}._itemTime_1eor3_165{font-size:9px;color:var(--text-disabled);flex-shrink:0;margin-left:4px;font-family:var(--font-mono)}._contentWrap_1eor3_176{flex:1;min-width:0;display:flex;flex-direction:column}._content_1eor3_174{flex:1;min-width:0;min-height:0;overflow:auto;padding:12px 16px;-webkit-overflow-scrolling:touch}._contentEmpty_1eor3_192{height:100%;display:flex;align-items:center;justify-content:center}._contentInner_1eor3_199{padding-bottom:20px}._emptyWrap_1eor3_203{display:flex;align-items:center;justify-content:center;height:200px}._roleHeader_1eor3_211{display:flex;align-items:center;gap:8px;margin-bottom:8px;flex-wrap:nowrap}._roleBadge_1eor3_219{font-size:10px;font-weight:600;letter-spacing:.04em;padding:2px 7px;border-radius:4px;flex-shrink:0}._role_user_1eor3_228{background:var(--color-primary-bg-lighter);color:var(--color-primary-lighter);border:1px solid var(--color-primary-bg-medium)}._role_assistant_1eor3_234{background:var(--color-purple-bg);color:var(--color-code-purple);border:1px solid var(--color-purple-border)}._role_system_1eor3_240{background:var(--color-warning-bg-faint);color:var(--color-warning);border:1px solid var(--color-warning-border-light)}._roleLabel_1eor3_246{font-size:11px;color:var(--text-muted);flex:1;min-width:0}._contentTime_1eor3_253{margin-left:auto;font-size:10px;color:var(--text-disabled);font-family:var(--font-mono);flex-shrink:0}._turnDivider_1eor3_261{border:none;border-top:1px solid var(--border-primary);margin:14px 0}._textBlock_1eor3_268{margin-bottom:8px;border:1px solid var(--border-primary);border-radius:6px;overflow:hidden}._textBlockBar_1eor3_275{display:flex;align-items:center;gap:6px;padding:4px 10px;background:var(--bg-container);border-bottom:1px solid var(--border-primary)}._textBlockBody_1eor3_284{padding:10px 12px;font-size:13px;line-height:1.7;color:var(--text-primary);word-break:break-word}._textBlockCompact_1eor3_292{position:relative;padding:8px 10px;font-size:12px;color:var(--text-light)}._textBlockCompactFloat_1eor3_299{float:right;margin-left:6px;margin-bottom:2px}._thinkingBlock_1eor3_306{margin-bottom:8px;border:1px solid var(--color-thinking-border);border-radius:6px;overflow:hidden;background:var(--color-thinking-bg)}._thinkingHeader_1eor3_314{display:flex;align-items:center;gap:6px;padding:5px 10px;cursor:pointer;font-size:12px;color:var(--text-tertiary);transition:background .15s}._thinkingHeader_1eor3_314:hover{background:var(--overlay-light-faint)}._thinkingPreview_1eor3_329{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-muted);font-size:11px}._thinkingBody_1eor3_339{padding:8px 12px;border-top:1px solid var(--color-thinking-border)}._toolBlock_1eor3_345{margin-bottom:8px;border:1px solid var(--border-primary);border-radius:6px;overflow:hidden}._toolBlockResult_1eor3_352{border-color:var(--color-green-border)}._toolBlockError_1eor3_356{border-color:var(--color-red-dark-border)}._toolBlockHeader_1eor3_360{display:flex;align-items:center;gap:8px;padding:5px 10px;background:var(--bg-container);border-bottom:1px solid var(--border-primary);font-size:12px;flex-wrap:wrap}._toolBlockBody_1eor3_371{padding:8px 10px;font-size:12px}._toolName_1eor3_376{color:var(--text-primary);font-weight:500;font-family:var(--font-mono)}._toolId_1eor3_382{color:var(--text-disabled);font-size:10px;font-family:var(--font-mono);margin-left:auto}._errorLabel_1eor3_389{font-size:10px;color:var(--color-error-light);background:var(--color-error-bg-light);border:1px solid var(--color-error-border);border-radius:3px;padding:1px 5px}._blockTag_1eor3_399{font-size:9px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;padding:1px 5px;border-radius:3px;background:var(--bg-elevated);color:var(--text-muted);border:1px solid var(--border-primary);flex-shrink:0}._blockTagText_1eor3_412{background:var(--color-primary-bg-faint);color:var(--color-primary-lighter);border-color:var(--color-primary-bg-lighter)}._blockTagThinking_1eor3_418{background:var(--color-warning-bg-faint);color:var(--color-warning);border-color:var(--color-warning-border-light)}._blockTagResult_1eor3_424{background:var(--color-green-dark-bg);color:var(--color-success);border-color:var(--color-green-dark-border)}._blockTagError_1eor3_430{background:var(--color-error-bg-faint);color:var(--color-error-light);border-color:var(--color-error-border-light)}._jsonBlock_1eor3_437{margin-bottom:8px;border:1px solid var(--border-primary);border-radius:6px;overflow:hidden}._jsonBlockLabel_1eor3_444{font-size:10px;color:var(--text-muted);padding:3px 10px;background:var(--bg-container);border-bottom:1px solid var(--border-primary);font-family:var(--font-mono)}._blockSeparator_1eor3_454{border:none;border-top:1px solid var(--border-primary);margin:16px 0}._markdownBody_1eor3_461{font-size:13px;line-height:1.7;color:var(--text-primary);word-break:break-word}._contentToolbar_1eor3_469{display:flex;justify-content:flex-end;align-items:center;gap:8px;padding:8px 16px 0;flex-shrink:0}._contentToolbarLabel_1eor3_478{font-size:11px;color:var(--text-muted)}._rawPre_1eor3_484{background:var(--bg-code-dark);border:1px solid var(--border-primary);border-radius:6px;padding:12px;font-size:12px;color:var(--text-primary);white-space:pre-wrap;word-break:break-all;margin:0}._toolAdded_1eor3_497{color:var(--color-success)}._toolRemoved_1eor3_501{color:var(--color-error);text-decoration:line-through}._toolDiffTag_1eor3_506{margin-left:6px;font-size:9px;font-family:var(--font-ui);text-decoration:none;opacity:.85}._toolDiffSummary_1eor3_514{margin-left:6px;font-size:11px;font-family:var(--font-mono);display:inline-flex;gap:4px;flex-shrink:0}._toolDiffSummaryAdd_1eor3_523{color:var(--color-success)}._toolDiffSummaryRemove_1eor3_527{color:var(--color-error)}._container_1958y_1{height:100%;overflow:hidden;padding:0 16px;display:flex;flex-direction:column;background:var(--bg-base)}._emptyState_1958y_10{display:flex;align-items:center;justify-content:center;height:100%}._urlSection_1958y_17{padding:12px 0;border-bottom:1px solid var(--border-primary);display:flex;align-items:flex-start;flex-shrink:0}._urlLeft_1958y_25{flex:1;min-width:0}._tokenStatsBox_1958y_30{flex-shrink:0;padding-left:12px;display:flex;align-items:center}._tokenGrid_1958y_37{display:flex;border:1px solid var(--border-secondary);border-radius:6px;overflow:hidden;min-width:360px;font-size:11px;line-height:1.6}._tokenRows_1958y_47{flex:1}._tokenRow_1958y_47{display:flex}._tokenRowBorder_1958y_55{border-top:1px solid var(--border-secondary)}._tokenLabel_1958y_59{color:var(--text-tertiary);padding:4px 8px;white-space:nowrap;font-weight:600}._tokenTd_1958y_66{flex:1;color:var(--text-primary);text-align:right;padding:4px 8px;font-family:var(--font-mono);white-space:nowrap}._tokenHitRate_1958y_75{display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-primary);padding:4px 8px;font-family:var(--font-mono);white-space:nowrap;border-left:1px solid var(--border-secondary);min-width:100px}._tokenHitRateLabel_1958y_88{color:var(--text-tertiary);font-size:10px;font-family:var(--font-ui)}._tokenRowBorder_1958y_55 td{border-top:1px solid var(--border-secondary)}._urlText_1958y_98{color:var(--text-primary);font-size:13px;margin-bottom:8px;word-break:break-all}._metaText_1958y_105,._headersContainer_1958y_109{font-size:12px}._headerRow_1958y_113{display:flex;padding:4px 0;border-bottom:1px solid var(--border-primary)}._headerKey_1958y_119{min-width:200px;flex-shrink:0}._headerValue_1958y_124{word-break:break-all;margin-left:8px}._streamingBox_1958y_129{padding:20px;background:var(--bg-elevated);border-radius:6px;border:1px solid var(--border-primary)}._bodyToolbar_1958y_136{display:flex;gap:8px;margin-bottom:8px}._rawTextPre_1958y_142{background:var(--bg-code-dark);border:1px solid var(--border-primary);border-radius:6px;padding:12px;font-size:12px;color:var(--text-primary);overflow:auto;max-height:600px;white-space:pre-wrap;word-break:break-all}._tabContent_1958y_155{padding:16px 0 0;height:100%;overflow-y:auto;-webkit-overflow-scrolling:touch}._collapseSpacing_1958y_163{margin-bottom:16px}._bodyLabel_1958y_167{margin:0}._bodyHeader_1958y_171{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}._diffSection_1958y_178{margin-bottom:16px}._diffToggle_1958y_182{display:inline-block;margin-bottom:8px;cursor:pointer}._diffIcon_1958y_188{font-size:12px;margin-left:4px}._viewInChatBtn_1958y_193{display:inline-flex;align-items:center;height:26px;border-radius:13px;border:1px solid var(--border-light);background:#0000;color:var(--text-tertiary);cursor:pointer;font-size:12px;transition:all .2s;padding:0 10px;white-space:nowrap}._viewInChatBtn_1958y_193:hover{border-color:var(--text-muted);color:var(--text-primary);background:var(--overlay-light-faint)}._reminderSelect_1958y_214{min-width:140px;font-size:12px}._reminderSelect_1958y_214 .ant-select-selector.ant-select-selector{border-radius:2px;border-color:var(--border-light);background:#0000;min-height:26px;height:auto;padding:0 8px;font-family:var(--font-mono)}._reminderSelect_1958y_214 .ant-select-selection-placeholder{font-size:11px}._diffHeaderRow_1958y_233{display:flex;align-items:center;gap:8px}._diffSpaceRight_1958y_239{margin-left:auto}._reminderFilterWrapper_1958y_243{display:inline-flex;align-items:center;gap:4px}._reminderLabel_1958y_249{color:var(--text-tertiary);font-size:12px;font-family:var(--font-mono)}._cacheTabContent_1958y_255{padding-top:0;overflow:hidden}._userPromptList_1958y_260{width:600px;max-height:300px;overflow-y:auto}._userPromptItem_1958y_266{padding:4px 8px;font-size:12px;color:var(--text-secondary);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-radius:3px}._userPromptNavBtn_1958y_277{margin-left:auto;font-size:11px;color:var(--color-primary);cursor:pointer;border:1px solid var(--color-primary);border-radius:3px;padding:1px 6px;white-space:nowrap}._cacheContent_1958y_288{padding:8px 0;height:100%;display:flex;flex-direction:column}._cacheTokenBar_1958y_295{display:flex;align-items:center;font-size:12px;font-family:var(--font-mono);color:var(--text-light);margin-bottom:12px;flex-shrink:0}._cacheTokenWrite_1958y_305{color:var(--color-code-orange)}._cacheTokenRead_1958y_309{color:var(--color-success)}._cacheCopyIcon_1958y_313{margin-left:8px;cursor:pointer;color:var(--text-tertiary);transition:color .2s}._cacheScrollArea_1958y_320{flex:1;overflow-y:auto;min-height:0}._cacheSectionBlock_1958y_326{margin-bottom:12px}._cacheSectionHeader_1958y_330{font-size:13px;font-weight:600;color:var(--text-primary);margin-bottom:6px;cursor:pointer;-webkit-user-select:none;user-select:none;display:flex;align-items:center;gap:4px}._cacheCollapseArrow_1958y_342{display:inline-block;transition:transform .2s;font-size:10px}._cachePre_1958y_348{white-space:pre-wrap;word-break:break-word;font-size:12px;line-height:1.5;color:var(--text-secondary);background:var(--bg-container);border:1px solid var(--border-primary);border-radius:4px;padding:8px;margin:4px 0;font-family:var(--font-mono)}._cacheHighlightSvg_1958y_362{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;overflow:visible}._cachePreSystem_1958y_371{white-space:pre-wrap;word-break:break-word;font-size:12px;line-height:1.5;color:var(--text-secondary);background:var(--bg-code-system);border:1px solid var(--border-code-system);border-radius:4px;padding:8px;margin:4px 0;font-family:var(--font-mono)}._container_1958y_1 .ant-tabs>.ant-tabs-nav{margin-bottom:0}._container_1958y_1 .ant-tabs{flex:1;min-height:0;display:flex;flex-direction:column}._container_1958y_1 .ant-tabs>.ant-tabs-content-holder{flex:1;min-height:0}._container_1958y_1 .ant-tabs-content,._container_1958y_1 .ant-tabs-tabpane-active{height:100%}._resizer_pzn4b_1{width:6px;cursor:col-resize;background:var(--bg-elevated);flex-shrink:0;transition:background .2s}._resizer_pzn4b_1:hover{background:var(--color-primary-light)}._flag_1q4ri_3{display:inline-flex;align-items:center;justify-content:center;font-size:13px;line-height:1;cursor:help;-webkit-user-select:none;user-select:none;height:14px;background:none;border:none;padding:0;color:inherit;font-family:inherit}._flag_1q4ri_3:focus-visible{outline:2px solid var(--primary-color, #1677ff);outline-offset:2px;border-radius:2px}._popover_1q4ri_27{color:var(--text-secondary);font-size:13px;line-height:22px}._meta_1q4ri_33{color:var(--text-tertiary);font-size:12px}._usagePill_18dz6_4{position:relative;display:inline-flex;align-items:center;justify-content:flex-start;border-radius:999px;border:1px solid;border-color:var(--text-disabled);color:var(--text-disabled);padding:0 7px;height:15px;font-size:11px;line-height:1;overflow:hidden;white-space:nowrap;cursor:default;background:var(--bg-base-pure)}._usageFill_18dz6_12{position:absolute;left:0;top:0;bottom:0;width:var(--usage-percent, 0);background-color:#999;opacity:.2;transition:width .5s ease;pointer-events:none}._usageContent_18dz6_38{position:relative;z-index:1;display:inline-flex;align-items:center}._usageText_18dz6_45{font-variant-numeric:tabular-nums}._muted_18dz6_50{border-color:var(--border-light);color:var(--text-disabled);background:var(--bg-surface)}._pop_18dz6_57{min-width:220px;font-size:12px;color:var(--text-primary)}._popTitle_18dz6_63{font-weight:600;margin-bottom:6px}._popTable_18dz6_69{border-collapse:collapse}._popTable_18dz6_69 td{padding-top:3px;padding-bottom:3px;vertical-align:middle}._tdName_18dz6_74{color:var(--text-secondary);padding-right:5px;white-space:nowrap}._tdBar_18dz6_74{padding-right:5px;white-space:nowrap}._tdReset_18dz6_92{color:var(--text-secondary);font-variant-numeric:tabular-nums;white-space:nowrap}._bar_18dz6_101{position:relative;display:inline-flex;align-items:center;justify-content:center;width:100px;height:14px;border-radius:999px;border:1px solid var(--text-disabled);overflow:hidden;background:var(--bg-base-pure);vertical-align:middle}._barFill_18dz6_115{position:absolute;left:0;top:0;bottom:0;background-color:var(--text-secondary);opacity:.15;pointer-events:none}._barText_18dz6_125{position:relative;z-index:1;font-size:11px;line-height:1;font-variant-numeric:tabular-nums;color:var(--text-primary)}