oh-my-agent-web 0.5.0 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.en.md +385 -0
- package/README.md +322 -81
- package/dist/server/cli-info.js +4 -1
- package/dist/server/cli.js +54 -11
- package/dist/server/engine/builtin.js +28 -3
- package/dist/server/engine/codex-sessions.js +3 -3
- package/dist/server/engine/dsh.js +3 -1
- package/dist/server/engine/jsonrpc-stdio.js +33 -3
- package/dist/server/engine/opencode-sessions.js +8 -2
- package/dist/server/engine/opencode.js +3 -1
- package/dist/server/engine/pi-sdk.js +157 -15
- package/dist/server/engine/pi-subagent-tool.js +35 -13
- package/dist/server/engine/pi-subagents.js +38 -1
- package/dist/server/engine/registry.js +2 -1
- package/dist/server/engine/wiring.js +1 -0
- package/dist/server/files/dir-routes.js +7 -5
- package/dist/server/files/file-search.js +4 -3
- package/dist/server/files/file-service.js +45 -9
- package/dist/server/files/files-routes.js +8 -1
- package/dist/server/files/git-info.js +34 -7
- package/dist/server/http/auth.js +27 -1
- package/dist/server/http/aux-routes.js +6 -1
- package/dist/server/http/file-headers.js +75 -0
- package/dist/server/index.js +54 -77
- package/dist/server/mcp/mcp-auth.js +9 -3
- package/dist/server/mcp/mcp-command.js +50 -5
- package/dist/server/mcp/mcp-probe.js +43 -7
- package/dist/server/mcp/pi-mcp-config.js +30 -2
- package/dist/server/protocol-parse.js +11 -1
- package/dist/server/providers/catalog-store.js +7 -3
- package/dist/server/providers/catalog-writes.js +5 -3
- package/dist/server/providers/enabled-models.js +5 -3
- package/dist/server/providers/import-routes.js +15 -5
- package/dist/server/providers/model-test.js +72 -11
- package/dist/server/providers/probe.js +20 -0
- package/dist/server/providers/provider-handlers.js +27 -10
- package/dist/server/providers/provider-pool.js +63 -0
- package/dist/server/providers/provider-store.js +139 -20
- package/dist/server/providers/validate.js +13 -4
- package/dist/server/push/push-routes.js +3 -3
- package/dist/server/push/push.js +74 -12
- package/dist/server/session/approval-bridge.js +31 -19
- package/dist/server/session/conversation-create.js +1 -1
- package/dist/server/session/engine-switch.js +4 -1
- package/dist/server/session/model-controller.js +20 -2
- package/dist/server/session/notices.js +4 -2
- package/dist/server/session/pi-opener.js +44 -4
- package/dist/server/session/pi-sessions.js +79 -9
- package/dist/server/session/refresh-actions.js +3 -2
- package/dist/server/session/runtime-services.js +1 -0
- package/dist/server/session/runtime.js +55 -16
- package/dist/server/session/settings.js +4 -4
- package/dist/server/session/stats-refresher.js +7 -2
- package/dist/server/session/switch-conversation.js +1 -2
- package/dist/server/session/turn-events.js +1 -1
- package/dist/server/session/turn-finish.js +26 -8
- package/dist/server/session/turn-markers.js +6 -5
- package/dist/server/session/turn-queue.js +171 -23
- package/dist/server/session/turn-send.js +38 -10
- package/dist/server/skills/skill-install.js +2 -2
- package/dist/server/snapshot/fan-out.js +0 -5
- package/dist/server/snapshot/sender.js +0 -9
- package/dist/server/snapshot/state.js +60 -6
- package/dist/server/subagents/profile-store.js +2 -1
- package/dist/server/terminal/terminal-routes.js +50 -23
- package/dist/server/terminal/terminal-session.js +63 -6
- package/dist/server/uploads/upload-routes.js +3 -0
- package/dist/server/util/atomic-write.js +18 -0
- package/dist/server/util/env.js +58 -14
- package/dist/server/util/file-mode.js +44 -0
- package/dist/server/util/origin.js +61 -0
- package/dist/server/util/paths.js +79 -1
- package/dist/server/util/spawn-cli.js +147 -0
- package/dist/server/util/upstream-version.js +47 -8
- package/dist/server/ws/handle-message.js +7 -1
- package/docs/screenshots/01-chat.png +0 -0
- package/docs/screenshots/02-answer.png +0 -0
- package/docs/screenshots/03-files-diff.png +0 -0
- package/docs/screenshots/04-terminal.png +0 -0
- package/docs/screenshots/05-models.png +0 -0
- package/docs/screenshots/06-skills.png +0 -0
- package/docs/screenshots/07-skills-hub.png +0 -0
- package/docs/screenshots/08-mcp.png +0 -0
- package/docs/screenshots/09-subagents.png +0 -0
- package/docs/screenshots/10-settings.png +0 -0
- package/docs/screenshots/11-plugins.png +0 -0
- package/docs/screenshots/12-voice.png +0 -0
- package/docs/screenshots/13-push.png +0 -0
- package/docs/screenshots/README.md +45 -0
- package/package.json +43 -19
- package/scripts/prune-prebuilds.mjs +42 -0
- package/web/dist/assets/_omaw-mermaid-pruned_chunk_abnfDiagram-WEYOIA3C-CvNbnJ75.js +1 -0
- package/web/dist/assets/_omaw-mermaid-pruned_chunk_architectureDiagram-ZHVYKT53-T7NZZ4ao.js +1 -0
- package/web/dist/assets/_omaw-mermaid-pruned_chunk_c4Diagram-XDPPPE54-ByuAPg39.js +1 -0
- package/web/dist/assets/_omaw-mermaid-pruned_chunk_cynefinDiagram-WF24UDRP-BY5DHttT.js +1 -0
- package/web/dist/assets/_omaw-mermaid-pruned_chunk_diagram-CBK3MWTC-D7ZYyrF7.js +1 -0
- package/web/dist/assets/_omaw-mermaid-pruned_chunk_diagram-ODIL2UCW-C6kcOZFc.js +1 -0
- package/web/dist/assets/_omaw-mermaid-pruned_chunk_diagram-PFBEJUXE-CzFPFq0D.js +1 -0
- package/web/dist/assets/_omaw-mermaid-pruned_chunk_diagram-TYUNFSNR-B4G4T8SL.js +1 -0
- package/web/dist/assets/_omaw-mermaid-pruned_chunk_ebnfDiagram-V4P3TTPT-BkQ4xwD0.js +1 -0
- package/web/dist/assets/_omaw-mermaid-pruned_chunk_ishikawaDiagram-HPEHV2GE-52xqckJv.js +1 -0
- package/web/dist/assets/_omaw-mermaid-pruned_chunk_mindmap-definition-6OY57UG3-7cQksbFn.js +1 -0
- package/web/dist/assets/_omaw-mermaid-pruned_chunk_pegDiagram-ECIUJNBX-udgtBpwv.js +1 -0
- package/web/dist/assets/_omaw-mermaid-pruned_chunk_railroadDiagram-Y72NRBL7-Cd2dcQWz.js +1 -0
- package/web/dist/assets/_omaw-mermaid-pruned_chunk_swimlanes-B3ENRKFQ-p34pL1Yk.js +1 -0
- package/web/dist/assets/_omaw-mermaid-pruned_chunk_swimlanesDiagram-AYQRV4AK-BslfPs4r.js +1 -0
- package/web/dist/assets/_omaw-mermaid-pruned_chunk_usecaseDiagram-WPOLBNNX-DJZoN9Xk.js +1 -0
- package/web/dist/assets/_omaw-mermaid-pruned_chunk_vennDiagram-Q3Y3IDCW-DPXo67cZ.js +1 -0
- package/web/dist/assets/_omaw-mermaid-pruned_chunk_wardleyDiagram-IVAIDKWA-BE6ukwkg.js +1 -0
- package/web/dist/assets/_omaw-mermaid-pruned_katex_katex-Zojedrce.js +1 -0
- package/web/dist/assets/arc-BTAvbR16.js +1 -0
- package/web/dist/assets/architecture-WOLXFQ4H-fewLD5_7.js +1 -0
- package/web/dist/assets/{blockDiagram-RJAE7QA3-IR49UNE_.js → blockDiagram-RJAE7QA3-ClmgyxZl.js} +5 -5
- package/web/dist/assets/channel-DfaYIFFE.js +1 -0
- package/web/dist/assets/{chunk-55XCU76K-Bz_d2e2D.js → chunk-55XCU76K-DdC5EhZG.js} +1 -1
- package/web/dist/assets/chunk-7S6XSTFO-CgToWHK6.js +2 -0
- package/web/dist/assets/chunk-AQDTSKZB-D-rQMnp7.js +72 -0
- package/web/dist/assets/{chunk-DSNLSHJZ-DEw1kFwj.js → chunk-DSNLSHJZ-cuZoTGMH.js} +9 -9
- package/web/dist/assets/chunk-HNE4Q36P-CiKr9iSN.js +1 -0
- package/web/dist/assets/{chunk-NGNAAXSQ-C2Wy9Xmz.js → chunk-NGNAAXSQ-DuHRe0y2.js} +1 -1
- package/web/dist/assets/chunk-VQ5W62QI-DbTfXAAT.js +1 -0
- package/web/dist/assets/chunk-WQQL4CDK-DHanHfB5.js +10 -0
- package/web/dist/assets/chunk-ZAUX2LTX-SrjFXpy2.js +62 -0
- package/web/dist/assets/chunk-ZCHMQSOR-7Wy8xXQ5.js +2 -0
- package/web/dist/assets/{classDiagram-v2-4MYWR3UA-Bo4i7SNY.js → classDiagram-v2-4MYWR3UA-CBe5ZDvZ.js} +4 -4
- package/web/dist/assets/cose-bilkent-JH36ORCC-Dljdyvhw.js +1 -0
- package/web/dist/assets/cynefin-EF2NZ3EQ-CcZU7GFP.js +1 -0
- package/web/dist/assets/dagre-NK4GIZVX-Bq_6y8qp.js +4 -0
- package/web/dist/assets/diagram-I5XIIV2D-C2lnnYVG.js +24 -0
- package/web/dist/assets/{diagram-RJA3I4VV-D1SZHQcQ.js → diagram-RJA3I4VV-Bqf8Z6wJ.js} +1 -1
- package/web/dist/assets/elk-QONTBCTQ-Cdzq_cJ5.js +27 -0
- package/web/dist/assets/{erDiagram-KYQIGQAA-BFGNoFQ-.js → erDiagram-KYQIGQAA-ZJLCjPFC.js} +2 -2
- package/web/dist/assets/eventmodeling-K75KTNOO-DHqeIpes.js +1 -0
- package/web/dist/assets/flowDiagram-IUGLLWBU-AVgYvXKN.js +213 -0
- package/web/dist/assets/ganttDiagram-R7GPNTJY-CR1SG1M7.js +292 -0
- package/web/dist/assets/gitGraph-VSP46ZUC-CIZQPK0R.js +1 -0
- package/web/dist/assets/gitGraphDiagram-PDYL7XHY-BhOCWEh6.js +106 -0
- package/web/dist/assets/index-CZQjJbRg.js +104 -0
- package/web/dist/assets/index-ChDUWKZX.css +1 -0
- package/web/dist/assets/info-OHQRW6UA-C2wuRxeQ.js +1 -0
- package/web/dist/assets/{infoDiagram-MVDRKAX5-Ce-Sg_qu.js → infoDiagram-MVDRKAX5-BP5doAB5.js} +1 -1
- package/web/dist/assets/{journeyDiagram-BOSHW7O7-DmDG97ae.js → journeyDiagram-BOSHW7O7-BcIDRTPS.js} +4 -4
- package/web/dist/assets/{kanban-definition-FNSA4HC5-1Z4sDrgV.js → kanban-definition-FNSA4HC5-CRH_bcoT.js} +5 -5
- package/web/dist/assets/{line-DGM1-9KW.js → line-iA4GPA_S.js} +1 -1
- package/web/dist/assets/linear-BGUKwkTH.js +1 -0
- package/web/dist/assets/math-DgNW_bVP.js +1 -0
- package/web/dist/assets/{mermaid-parser.core-D1HmdkA4.js → mermaid-parser.core-CsqmgpEv.js} +5 -5
- package/web/dist/assets/mermaid.core-C1yCGQK6.js +44 -0
- package/web/dist/assets/packet-JDAUHWVQ-2ggaoz2g.js +1 -0
- package/web/dist/assets/pie-XZMESJXO-h_yslQQs.js +1 -0
- package/web/dist/assets/{pieDiagram-GNMPY74T-DHhaPwZe.js → pieDiagram-GNMPY74T-6-JZMFyk.js} +2 -2
- package/web/dist/assets/{quadrantDiagram-D57K4MC3-DxTgFHLK.js → quadrantDiagram-D57K4MC3-K5r1HOgL.js} +3 -3
- package/web/dist/assets/radar-ABXABTNO-6fOJGGgq.js +1 -0
- package/web/dist/assets/railroad-I3PHUGI6-B_gUgQ3d.js +1 -0
- package/web/dist/assets/railroad-abnf-LNEFI6M7-CJ_eqiXZ.js +1 -0
- package/web/dist/assets/railroad-ebnf-DWYD2UWJ-BTsgjLTU.js +1 -0
- package/web/dist/assets/railroad-peg-JR7BVNR7-D91uiLln.js +1 -0
- package/web/dist/assets/{requirementDiagram-EQYSW5RA-HUw4YqWd.js → requirementDiagram-EQYSW5RA-uapnV_OO.js} +3 -3
- package/web/dist/assets/{sankeyDiagram-SY24JHO5-Dx1MOFRu.js → sankeyDiagram-SY24JHO5-BQsbFgUb.js} +3 -3
- package/web/dist/assets/{sequenceDiagram-BLEHNHQU-C0-Rzg3g.js → sequenceDiagram-BLEHNHQU-iRoSYX_e.js} +6 -6
- package/web/dist/assets/{src-CuHygcpj.js → src-BBrKcs9r.js} +1 -1
- package/web/dist/assets/{stateDiagram-v2-A6IESKWZ-BnEICGtg.js → stateDiagram-v2-A6IESKWZ-Bzj9z5KH.js} +2 -2
- package/web/dist/assets/{timeline-definition-JXYKGLGB-C4BVpgzc.js → timeline-definition-JXYKGLGB-DLUUuJX0.js} +2 -2
- package/web/dist/assets/treeView-D4JQ5SDB-CphIQ3n5.js +1 -0
- package/web/dist/assets/treemap-SAJKECNS-DqU3insw.js +1 -0
- package/web/dist/assets/wardley-7MLQ67FV-Ch7d8cmC.js +1 -0
- package/web/dist/assets/{xychartDiagram-4URNHDU4-awJi5TfJ.js → xychartDiagram-4URNHDU4-DdxpWBeM.js} +3 -3
- package/web/dist/index.html +2 -2
- package/web/dist/assets/abnfDiagram-WEYOIA3C-VUKLHHSn.js +0 -1
- package/web/dist/assets/arc-BeUkaHhk.js +0 -1
- package/web/dist/assets/architecture-WOLXFQ4H-B9I4s0NV.js +0 -1
- package/web/dist/assets/architectureDiagram-ZHVYKT53-CaEkLhfq.js +0 -36
- package/web/dist/assets/c4Diagram-XDPPPE54-B-81CloB.js +0 -38
- package/web/dist/assets/channel-B_mTTjGt.js +0 -1
- package/web/dist/assets/chunk-2E7WHVMD-CaWVF7qv.js +0 -88
- package/web/dist/assets/chunk-4EMNKR2T-BvXf2tq-.js +0 -1
- package/web/dist/assets/chunk-7S6XSTFO-B_SPMiU8.js +0 -2
- package/web/dist/assets/chunk-AQDTSKZB-Cen-_xej.js +0 -72
- package/web/dist/assets/chunk-HAGFOTED-BwpOOcw8.js +0 -62
- package/web/dist/assets/chunk-HNE4Q36P-BjCwi2uW.js +0 -1
- package/web/dist/assets/chunk-NQOKRVIF-WcqhWFS5.js +0 -213
- package/web/dist/assets/chunk-UHW7PFBP-quDvQby8.js +0 -1
- package/web/dist/assets/chunk-VQ5W62QI-DZBwmhzq.js +0 -1
- package/web/dist/assets/chunk-WQQL4CDK-wYyHYuui.js +0 -10
- package/web/dist/assets/chunk-XXDRQBXY-DfJzC7nt.js +0 -1
- package/web/dist/assets/chunk-YZO67HFG-CWLraGk_.js +0 -1
- package/web/dist/assets/chunk-ZAUX2LTX-ChBUt_FJ.js +0 -1
- package/web/dist/assets/chunk-ZCHMQSOR-C57UFT60.js +0 -2
- package/web/dist/assets/cose-bilkent-JH36ORCC-CK360NdH.js +0 -1
- package/web/dist/assets/cynefin-EF2NZ3EQ-DlXFjIFm.js +0 -1
- package/web/dist/assets/cynefinDiagram-WF24UDRP-zvZIqA1c.js +0 -62
- package/web/dist/assets/cytoscape.esm-BegBNzOV.js +0 -321
- package/web/dist/assets/dagre-NK4GIZVX-CnKhCu-v.js +0 -4
- package/web/dist/assets/defaultLocale-BFoDCU3G.js +0 -1
- package/web/dist/assets/diagram-CBK3MWTC-3QTR8Fjx.js +0 -24
- package/web/dist/assets/diagram-I5XIIV2D-D9lSd7z6.js +0 -24
- package/web/dist/assets/diagram-ODIL2UCW-DWJD6lPM.js +0 -30
- package/web/dist/assets/diagram-PFBEJUXE-CWJmoUg4.js +0 -3
- package/web/dist/assets/diagram-TYUNFSNR-DCCjGi1x.js +0 -200
- package/web/dist/assets/dist-VOk_Iv17.js +0 -1
- package/web/dist/assets/ebnfDiagram-V4P3TTPT-CQLdqEiW.js +0 -1
- package/web/dist/assets/elk-QONTBCTQ-Dp2pEp6b.js +0 -27
- package/web/dist/assets/eventmodeling-K75KTNOO-CFfAemGw.js +0 -1
- package/web/dist/assets/flowDiagram-IUGLLWBU-DmSp3cbW.js +0 -1
- package/web/dist/assets/ganttDiagram-R7GPNTJY-vK3jPGDq.js +0 -292
- package/web/dist/assets/gitGraph-VSP46ZUC-rXBgHTdq.js +0 -1
- package/web/dist/assets/gitGraphDiagram-PDYL7XHY-CBbGhago.js +0 -106
- package/web/dist/assets/index-DBOF_OJe.js +0 -104
- package/web/dist/assets/index-nlY_-OaR.css +0 -1
- package/web/dist/assets/info-OHQRW6UA-Cd9vp-6C.js +0 -1
- package/web/dist/assets/ishikawaDiagram-HPEHV2GE-DWlmR6BY.js +0 -70
- package/web/dist/assets/katex-B_JcIwqj.js +0 -257
- package/web/dist/assets/linear-B6hyeGHu.js +0 -1
- package/web/dist/assets/mermaid.core-DeUJrhO1.js +0 -44
- package/web/dist/assets/mindmap-definition-6OY57UG3-C3-FByy8.js +0 -98
- package/web/dist/assets/packet-JDAUHWVQ-BoOr7DaW.js +0 -1
- package/web/dist/assets/pegDiagram-ECIUJNBX-Bn7m75TZ.js +0 -1
- package/web/dist/assets/pie-XZMESJXO-CGuMTDBp.js +0 -1
- package/web/dist/assets/radar-ABXABTNO-BiKxmALL.js +0 -1
- package/web/dist/assets/railroad-I3PHUGI6-BKYufgg4.js +0 -1
- package/web/dist/assets/railroad-abnf-LNEFI6M7-DmOrjlyL.js +0 -1
- package/web/dist/assets/railroad-ebnf-DWYD2UWJ-BgMyVDd1.js +0 -1
- package/web/dist/assets/railroad-peg-JR7BVNR7-BN6NL8S-.js +0 -1
- package/web/dist/assets/railroadDiagram-Y72NRBL7-BsbA-9gP.js +0 -1
- package/web/dist/assets/rough.esm-Dy-Kn_BL.js +0 -1
- package/web/dist/assets/swimlanes-B3ENRKFQ-CwDRCHZD.js +0 -1
- package/web/dist/assets/swimlanesDiagram-AYQRV4AK-DZ_aAXmG.js +0 -8
- package/web/dist/assets/treeView-D4JQ5SDB-BBsvEMP3.js +0 -1
- package/web/dist/assets/treemap-SAJKECNS-BYw6cxC8.js +0 -1
- package/web/dist/assets/usecaseDiagram-WPOLBNNX-BkOXLgwP.js +0 -328
- package/web/dist/assets/vennDiagram-Q3Y3IDCW-Kgjk_n6B.js +0 -34
- package/web/dist/assets/wardley-7MLQ67FV-BGVObhvJ.js +0 -1
- package/web/dist/assets/wardleyDiagram-IVAIDKWA-i97uD6tL.js +0 -78
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.xterm{cursor:text;-webkit-user-select:none;user-select:none;position:relative}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{z-index:5;position:absolute;top:0}.xterm .xterm-helper-textarea{opacity:0;z-index:-5;white-space:nowrap;resize:none;border:0;width:0;height:0;margin:0;padding:0;position:absolute;top:0;left:-9999em;overflow:hidden}.xterm .composition-view{color:#fff;white-space:nowrap;z-index:1;background:#000;display:none;position:absolute}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{cursor:default;background-color:#000;position:absolute;inset:0;overflow-y:scroll}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;top:0;left:0}.xterm-char-measure-element{visibility:hidden;line-height:normal;display:inline-block;position:absolute;top:0;left:-9999em}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{z-index:10;color:#0000;pointer-events:none;position:absolute;inset:0}.xterm .xterm-accessibility-tree:not(.debug) ::selection{color:#0000}.xterm .xterm-accessibility-tree{-webkit-user-select:text;user-select:text;white-space:pre;font-family:monospace}.xterm .xterm-accessibility-tree>div{transform-origin:0;width:fit-content}.xterm .live-region{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{-webkit-text-decoration:underline double;text-decoration:underline double}.xterm-underline-3{-webkit-text-decoration:underline wavy;text-decoration:underline wavy}.xterm-underline-4{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.xterm-underline-5{-webkit-text-decoration:underline dashed;text-decoration:underline dashed}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:underline overline}.xterm-overline.xterm-underline-2{-webkit-text-decoration:overline double underline;text-decoration:overline double underline}.xterm-overline.xterm-underline-3{-webkit-text-decoration:overline wavy underline;text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{-webkit-text-decoration:overline dotted underline;text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{-webkit-text-decoration:overline dashed underline;text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;pointer-events:none;position:absolute;top:0;right:0}.xterm-decoration-top{z-index:2;position:relative}.xterm .xterm-scrollable-element>.scrollbar{cursor:default}.xterm .xterm-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important}.xterm .xterm-scrollable-element>.visible{opacity:1;z-index:11;background:0 0;transition:opacity .1s linear}.xterm .xterm-scrollable-element>.invisible{opacity:0;pointer-events:none}.xterm .xterm-scrollable-element>.invisible.fade{transition:opacity .8s linear}.xterm .xterm-scrollable-element>.shadow{display:none;position:absolute}.xterm .xterm-scrollable-element>.shadow.top{width:100%;height:3px;box-shadow:var(--vscode-scrollbar-shadow,#000) 0 6px 6px -6px inset;display:block;top:0;left:3px}.xterm .xterm-scrollable-element>.shadow.left{width:3px;height:100%;box-shadow:var(--vscode-scrollbar-shadow,#000) 6px 0 6px -6px inset;display:block;top:3px;left:0}.xterm .xterm-scrollable-element>.shadow.top-left-corner{width:3px;height:3px;display:block;top:0;left:0}.xterm .xterm-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow,#000) 6px 0 6px -6px inset}:root{--bg:#fff;--bg-elev:#f7f8fa;--bg-elev-2:#eef1f5;--bg-soft:#f7f8fa;--border:#e2e6ec;--border-strong:#cfd6df;--text:#1b2530;--text-dim:#4a5a6a;--text-faint:#7b8794;--accent:#1f6feb;--accent-dim:#9dc0f5;--on-accent:#fff;--green:#1a7f37;--amber:#b06a00;--red:#c62828;--yellow:#d9a441;--speed-bg:#e7f5ff;--speed-fg:#1971c2;--mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--radius:10px;--gap:0px}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--text);margin:0;font:16px/1.6 -apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}#root{height:100%}.app{gap:var(--gap);height:100%;padding:var(--gap);flex-direction:column;min-width:0;display:flex}.workspace{gap:var(--gap);flex-direction:column;flex:auto;min-width:0;min-height:0;display:flex}.topbar{flex:none;align-items:center;gap:8px;min-width:0;display:flex}.brand{letter-spacing:.02em;font-weight:600}.topbar-spacer{flex:auto;min-width:0}.main{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);min-width:0;min-height:0;padding:var(--gap) var(--gap) max(0px, calc(var(--gap) - 4px));flex:auto;position:relative;overflow-y:auto}.chip{border:1px solid var(--border);color:var(--text-dim);border-radius:999px;flex:none;padding:2px 8px;font-size:14px}.chip-open,.chip-run-streaming{border-color:var(--accent-dim);color:var(--accent)}.chip-closed,.chip-run-error{border-color:var(--red);color:var(--red)}.chip-run-awaiting_approval{border-color:var(--amber);color:var(--amber)}.chip-quiet{color:var(--text-faint);text-overflow:ellipsis;white-space:nowrap;max-width:40ch;overflow:hidden}.mono,.tool-output{font-family:var(--mono)}.notices{flex-direction:column;flex:none;gap:4px;min-width:0;display:flex}.notice{border-left:3px solid var(--border-strong);color:var(--text-dim);background:var(--bg-elev);overflow-wrap:anywhere;border-radius:0 6px 6px 0;padding:4px 10px;font-size:14.5px}.notice-warn{border-color:var(--amber);color:var(--amber)}.notice-error{border-color:var(--red);color:var(--red)}.error-bar{color:var(--red);flex:none;font-size:14.5px}.composer{flex:none;align-items:flex-end;gap:8px;min-width:0;display:flex;position:relative}.composer-input{resize:vertical;background:var(--bg-elev);min-width:0;color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:10px calc(var(--composer-actions-w,104px) + 14px) 10px 12px;min-height:44px;max-height:240px;line-height:1.5;font:inherit;flex:auto;overflow-y:auto}.composer-actions{align-items:center;gap:6px;display:flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.btn.btn-send{background:var(--bg-elev-2);color:var(--text-faint);border:1px solid var(--border);cursor:not-allowed;border-radius:8px;padding:4px 10px;font-size:14px;font-weight:600}.btn.btn-send:not(:disabled){background:var(--accent);border-color:var(--accent);color:var(--on-accent);cursor:pointer}.btn.btn-send:not(:disabled):hover{background:color-mix(in srgb, var(--accent) 88%, #fff)}.composer-input:focus{outline:1px solid var(--accent-dim)}.btn{background:var(--bg-elev-2);color:var(--text);border:1px solid var(--border-strong);cursor:pointer;font:inherit;border-radius:8px;flex:none;padding:8px 14px}.btn:hover:not(:disabled){border-color:var(--accent-dim)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--accent-dim);border-color:var(--accent)}.empty{color:var(--text-dim);min-width:0}.empty code{font-family:var(--mono);background:var(--bg-elev-2);color:var(--accent);border-radius:4px;padding:1px 5px}.empty-hint{color:var(--text-faint);margin-left:8px;font-size:14.5px}.chip-select{appearance:none;background:var(--bg-elev-2);color:var(--text);border:1px solid var(--border);cursor:pointer;border-radius:999px;max-width:26ch;padding:2px 8px;font-size:14px}.chip-select:hover{border-color:var(--accent-dim)}select:focus{border-color:var(--accent-dim);outline:none}select:focus-visible{box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 20%, transparent)}.chip-warn{border-color:color-mix(in srgb, var(--yellow,#d9a441) 60%, transparent);color:var(--yellow,#d9a441)}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:8px}::-webkit-scrollbar-thumb:hover{background:var(--text-faint)}::-webkit-scrollbar-track{background:0 0}.main,.outline-panel-list,.preview-body,.tool-output{scrollbar-gutter:stable}.appbar[hidden]{display:none}:root[data-theme=light-warm]{--bg:#fbf7f0;--bg-elev:#f6efe3;--bg-elev-2:#eee4d4;--bg-soft:#f6efe3;--border:#e4d9c7;--border-strong:#d3c4ac;--text:#2b2418;--text-dim:#5c5140;--text-faint:#8a7c66;--accent:#b4530a;--accent-dim:#e0a878;--on-accent:#fffdf9;--green:#3f6e2a;--amber:#96650a;--red:#a8321f;--yellow:#c68a1f;--speed-bg:#f6ead9;--speed-fg:#9a5311}:root[data-theme=light-cool]{--bg:#f6f9f9;--bg-elev:#eef3f3;--bg-elev-2:#e3ecec;--bg-soft:#eef3f3;--border:#d5e0e0;--border-strong:#bfcfcf;--text:#16262a;--text-dim:#455c60;--text-faint:#6d878b;--accent:#0f766e;--accent-dim:#7cc3ba;--on-accent:#f7fffe;--green:#157347;--amber:#8f6108;--red:#b3261e;--yellow:#b8842a;--speed-bg:#e2f1f4;--speed-fg:#0f6c7a}:root[data-theme=dark]{--bg:#1a1b26;--bg-elev:#1f2335;--bg-elev-2:#292e42;--bg-soft:#1f2335;--border:#2f334d;--border-strong:#3b4261;--text:#c0caf5;--text-dim:#a9b1d6;--text-faint:#7f8ab3;--accent:#7aa2f7;--accent-dim:#3d59a1;--on-accent:#16161e;--green:#9ece6a;--amber:#e0af68;--red:#f7768e;--yellow:#e0af68;--speed-bg:#1e2b4d;--speed-fg:#7dcfff}:root[data-theme=dark-night]{--bg:#1e1e2e;--bg-elev:#25253a;--bg-elev-2:#313244;--bg-soft:#25253a;--border:#383a52;--border-strong:#4b4d68;--text:#cdd6f4;--text-dim:#b4bbd8;--text-faint:#8b91ad;--accent:#cba6f7;--accent-dim:#6f5a99;--on-accent:#1e1e2e;--green:#a6e3a1;--amber:#fab387;--red:#f38ba8;--yellow:#f9e2af;--speed-bg:#2c2542;--speed-fg:#89b4fa}:root[data-theme=dark-warm]{--bg:#2e3440;--bg-elev:#343b49;--bg-elev-2:#3b4252;--bg-soft:#343b49;--border:#434c5e;--border-strong:#4c566a;--text:#eceff4;--text-dim:#d2d8e3;--text-faint:#a3adbf;--accent:#88c0d0;--accent-dim:#50748a;--on-accent:#2e3440;--green:#a3be8c;--amber:#ebcb8b;--red:#d98b91;--yellow:#ebcb8b;--speed-bg:#2a3b4d;--speed-fg:#8fbcbb}:root[data-theme-mode=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme-mode=dark] .hljs-comment,:root[data-theme-mode=dark] .hljs-quote,:root[data-theme-mode=dark] .hljs-meta{color:#8b949e}:root[data-theme-mode=dark] .hljs-keyword,:root[data-theme-mode=dark] .hljs-selector-tag,:root[data-theme-mode=dark] .hljs-literal,:root[data-theme-mode=dark] .hljs-doctag{color:#ff7b72}:root[data-theme-mode=dark] .hljs-string,:root[data-theme-mode=dark] .hljs-regexp{color:#a5d6ff}:root[data-theme-mode=dark] .hljs-attr,:root[data-theme-mode=dark] .hljs-attribute,:root[data-theme-mode=dark] .hljs-property,:root[data-theme-mode=dark] .hljs-selector-attr,:root[data-theme-mode=dark] .hljs-number,:root[data-theme-mode=dark] .hljs-built_in,:root[data-theme-mode=dark] .hljs-type,:root[data-theme-mode=dark] .hljs-symbol{color:#79c0ff}:root[data-theme-mode=dark] .hljs-title,:root[data-theme-mode=dark] .hljs-title.function_,:root[data-theme-mode=dark] .hljs-section{color:#d2a8ff}:root[data-theme-mode=dark] .hljs-title.class_,:root[data-theme-mode=dark] .hljs-class .hljs-title,:root[data-theme-mode=dark] .hljs-selector-id,:root[data-theme-mode=dark] .hljs-selector-class,:root[data-theme-mode=dark] .hljs-bullet,:root[data-theme-mode=dark] .hljs-link,:root[data-theme-mode=dark] .hljs-variable,:root[data-theme-mode=dark] .hljs-template-variable,:root[data-theme-mode=dark] .hljs-params{color:#ffa657}:root[data-theme-mode=dark] .hljs-tag,:root[data-theme-mode=dark] .hljs-name{color:#7ee787}:root[data-theme-mode=dark] .hljs-deletion{color:#ffdcd7;background:#ff818226}:root[data-theme-mode=dark] .hljs-addition{color:#aff5b4;background:#2ea04326}:root[data-theme-mode=dark] .prov-test-ok,:root[data-theme-mode=dark] .prov-latency-ok{color:#56d364}:root[data-theme-mode=dark] .prov-test-fail,:root[data-theme-mode=dark] .prov-latency-fail{color:#ff7b72}.sidebar{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elev);--side-pad:10px;width:232px;min-width:0;min-height:0;padding:var(--side-pad);flex-direction:column;flex:none;gap:8px;display:flex}.sidebar-head{flex:none;align-items:center;gap:8px;min-width:0;display:flex}.sidebar-title{font:inherit;min-width:0;color:var(--text-dim);text-align:left;cursor:pointer;background:0 0;border:none;flex:0 auto;padding:0;font-size:14.5px;font-weight:600}.sidebar-title:hover{color:var(--accent)}.sidebar-actions{flex:none;align-items:center;gap:2px;display:inline-flex}.sidebar-icon{width:22px;height:20px;color:var(--text-faint);cursor:pointer;background:0 0;border:none;border-radius:6px;flex:none;justify-content:center;align-items:center;padding:0;line-height:0;transition:color .12s,background .12s;display:inline-flex}.sidebar-icon:hover:not(:disabled),.sidebar-icon:focus-visible{color:var(--text);background:var(--bg-elev-2)}.sidebar-icon svg{stroke:currentColor;stroke-width:1.7px;fill:none;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.sidebar-icon[aria-pressed=true]:hover{color:var(--accent)}.sidebar-list{flex-direction:column;flex:auto;gap:4px;min-width:0;min-height:0;display:flex;overflow-y:auto}.sidebar-empty{color:var(--text-faint);padding:4px 2px;font-size:14.5px}.sidebar-item{text-align:left;color:var(--text);cursor:pointer;font:inherit;background:0 0;border:1px solid #0000;border-radius:8px;flex-direction:column;align-items:stretch;gap:2px;min-width:0;padding:6px 8px;display:flex}.sidebar-item:hover{border-color:var(--border-strong)}.sidebar-item-active{background:var(--bg-elev-2);border-color:var(--accent-dim)}.sidebar-item-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.sidebar-item-meta{color:var(--text-faint);font-size:13.5px}@media (width<=720px){.app{flex-direction:column}.sidebar{width:100%;max-height:none}}.sidebar-section{color:var(--text-faint);letter-spacing:.04em;align-items:center;gap:6px;min-width:0;margin:10px 0 2px;font-size:13.5px;display:flex}.sidebar-section-tag{border:1px solid var(--border);border-radius:999px;padding:0 6px;font-size:12.5px}.proj{min-width:0}.proj-head{cursor:pointer;color:var(--text-dim);border-radius:6px;align-items:center;gap:6px;min-width:0;padding:4px 6px;font-size:14.5px;display:flex}.proj-head:hover{background:var(--bg-elev-2)}.proj-name{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.proj-name-input{border:none;border-bottom:1px solid var(--accent-dim);background:var(--bg-elev);height:20px;color:var(--text);font:inherit;cursor:text;outline:none;padding:0 2px;font-weight:600}.proj-count{color:var(--text-faint);flex:none;font-size:13px}.proj-body{flex-direction:column;gap:2px;min-width:0;padding:2px 0 4px 10px;display:flex}.pi-row{border-radius:6px;align-items:baseline;gap:6px;min-width:0;padding:3px 6px;display:flex}.pi-row-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-dim);flex:auto;font-size:14.5px;overflow:hidden}.pi-row-pinned .pi-row-title{color:color-mix(in srgb, var(--text-dim) 35%, var(--text))}.pi-row-pinned.pi-row-active .pi-row-title{color:var(--text)}.pi-row-time{color:var(--text-faint);flex:none;font-size:13px}.pi-row-more{color:var(--text-faint);font-size:13.5px}.pi-row{text-align:left;cursor:pointer;font:inherit;background:0 0;border:1px solid #0000;width:100%}.pi-row:hover{background:var(--bg-elev-2);border-color:var(--border)}.pi-row-active{background:var(--bg-elev-2);border-color:var(--accent-dim)}.proj-more{border:1px solid var(--border);width:20px;height:20px;color:var(--text-dim);cursor:pointer;font:inherit;background:0 0;border-radius:6px;flex:none;justify-content:center;align-items:center;padding:0;font-size:14px;line-height:1;display:inline-flex}.proj-more:hover{border-color:var(--accent-dim);color:var(--accent)}.sidebar-title{align-items:center;gap:6px;display:inline-flex}.sidebar-title-caret{border-top:4.5px solid #0000;border-bottom:4.5px solid #0000;border-left:5px solid;flex:none;width:0;height:0;transition:transform .12s;transform:rotate(0)}.sidebar-title-caret-open{transform:rotate(90deg)}.pin-group{border-bottom:1px dashed var(--border);flex-direction:column;flex:none;gap:1px;min-width:0;margin-bottom:2px;padding-bottom:6px;display:flex}.pin-group-head{color:var(--text-dim);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:6px;align-self:flex-start;align-items:center;gap:6px;padding:4px 6px;font-size:14.5px;font-weight:600;display:inline-flex}.pin-group-icon{color:var(--text-faint);align-items:center;display:inline-flex}.pin-group-icon svg{width:14px;height:14px;display:block}.pin-group-head:hover .pin-group-icon,.pin-group-head:focus-visible .pin-group-icon{color:var(--text-dim)}.pin-group-head[aria-expanded=false]{color:var(--text-faint)}.pin-group-head:hover{color:var(--text);background:var(--bg-elev-2)}.pin-group-body{overscroll-behavior:contain;flex-direction:column;gap:1px;min-width:0;max-height:min(38vh,320px);padding:2px 0 4px 10px;display:flex;overflow:auto}.pin-group .pi-row{padding-right:22px}.pi-row-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:62%;color:var(--text-faint);flex:none;margin-left:auto;font-size:12.5px;overflow:hidden}.proj-chevron{width:16px;height:16px;color:var(--text-faint);flex:none;justify-content:center;align-items:center;margin-right:6px;display:inline-flex}.proj-folder{width:100%;height:100%;display:block}.proj-chevron-open{color:var(--text-dim)}.proj-head:hover .proj-chevron{color:var(--text)}.proj-head{align-items:center;gap:4px;display:flex}.proj-name{color:var(--text);font-weight:600}.proj-more{opacity:0}.proj-head:hover .proj-more,.proj-head:focus-within .proj-more{opacity:1}.pi-row{border-left:2px solid #0000;border-radius:0 6px 6px 0;padding-left:10px;position:relative}.pi-row-active{border-left-color:var(--accent);background:var(--bg-elev-2)}.pi-row-active .pi-row-title{color:var(--text)}.side-host{flex-direction:column;flex:none;min-width:0;display:flex;position:relative}.side-host>.sidebar{flex:auto;width:100%;min-height:0}.side-resizer{cursor:col-resize;z-index:5;background:0 0;width:7px;height:100%;position:absolute;top:0;right:-3px}.side-resizer:hover,.side-resizer:active{background:color-mix(in srgb, var(--accent) 35%, transparent)}.side-expand{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elev);width:26px;color:var(--text-dim);font:inherit;cursor:pointer;flex:none;align-self:stretch;font-size:17px}.side-expand:hover{color:var(--accent);border-color:var(--accent-dim)}.activity-bar{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elev);flex-direction:column;flex:none;align-items:center;gap:4px;width:44px;padding:6px 0;display:flex}.activity-btn{width:32px;height:32px;color:var(--text-dim);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;font-size:17px;display:inline-flex}.activity-btn:hover{background:var(--bg-elev-2);color:var(--text)}.pi-running{color:var(--accent);white-space:nowrap;flex:none;align-items:center;gap:4px;font-size:12.5px;display:inline-flex}.pi-ring{border:1.5px solid color-mix(in srgb, var(--accent) 30%, transparent);border-top-color:var(--accent);border-radius:50%;width:9px;height:9px;animation:.8s linear infinite pi-spin}@keyframes pi-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.pi-ring{border-top-color:var(--accent);animation:none}}.side-collapse{z-index:6;border:1px solid var(--border-strong,var(--border));background:var(--bg);width:18px;height:34px;color:var(--text-dim);cursor:pointer;opacity:.92;border-radius:999px;justify-content:center;align-items:center;padding:0;transition:opacity .12s,color .12s,border-color .12s;display:inline-flex;position:absolute;top:8px;right:-10px;box-shadow:0 1px 4px #0000001f}.side-collapse svg{stroke-width:2.2px;width:12px;height:12px}.side-collapse:hover,.side-collapse:focus-visible{opacity:1;color:var(--accent);border-color:var(--accent-dim)}.is-mobile-shell .side-collapse{display:none}@media (hover:none),(pointer:coarse){.proj-head .proj-more{opacity:1;width:32px;height:32px;font-size:17px}.proj-menu-item{min-height:36px;font-size:15px}}.proj-menu{border:1px solid var(--border-strong,var(--border));background:var(--bg-elev-2);border-radius:8px;flex-direction:column;gap:1px;margin:2px 0 6px 6px;padding:4px;display:flex;box-shadow:0 10px 28px #00000059}.proj-menu-item{width:100%;color:var(--text-dim);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:6px;padding:5px 8px;font-size:14px;display:flex}.proj-menu-item:hover:not(:disabled){background:var(--bg-elev);color:var(--text)}.proj-menu-item:disabled{opacity:.45;cursor:not-allowed}.proj-menu-danger{color:var(--red)}.pi-row-more{width:100%;color:var(--text-faint);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:3px 8px;font-size:14px}.pi-row-more:hover{color:var(--accent);background:var(--bg-elev-2)}.proj-pin{opacity:.85;flex:none;font-size:12px;line-height:1}.new-project{flex-direction:column;gap:10px;width:min(720px,94vw);height:auto;max-height:min(640px,84vh);padding:14px 16px 16px;display:flex;overflow:hidden}.new-project-head{border-bottom:1px solid var(--border);flex:none;align-items:center;gap:8px;padding-bottom:8px;display:flex}.new-project-bar{flex-wrap:wrap;flex:none;align-items:center;gap:6px;margin-top:2px;display:flex}.new-project-input{border:1px solid var(--border);background:var(--bg);min-width:0;color:var(--text);border-radius:8px;flex:240px;padding:6px 9px;font-size:14.5px}.new-project-list{flex-direction:column;flex:auto;gap:2px;min-height:120px;display:flex;overflow:auto}.new-project-row{border-radius:6px;align-items:center;gap:8px;padding:2px 4px;display:flex}.new-project-row:hover{background:var(--bg-elev-2)}.new-project-name{text-align:left;min-width:0;color:var(--text);font:inherit;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:none;flex:auto;padding:3px 2px;font-size:14.5px;overflow:hidden}.new-project-foot{border-top:1px solid var(--border);flex:none;padding-top:6px}.side-files{border-top:1px solid var(--border);min-height:0;margin-left:calc(var(--side-pad,10px) * -1);margin-right:calc(var(--side-pad,10px) * -1);padding-left:var(--side-pad,10px);padding-right:var(--side-pad,10px);flex-direction:column;flex:none;gap:4px;margin-top:0;padding-top:0;display:flex}.side-files-fill{flex:auto;min-height:0}.side-files-head{flex:none;align-items:center;gap:0;min-width:0;display:flex}.side-files-title{color:var(--text-dim);font-family:inherit;font-size:14.5px;font-weight:600;line-height:inherit;cursor:pointer;background:0 0;border:none;flex:none;align-items:center;gap:6px;padding:0;display:inline-flex}.side-files-title:hover{color:var(--accent)}.side-files-select-row{flex:none;align-items:center;gap:4px;width:100%;min-width:0;display:flex}.side-files-select-row .files-branch{flex:0 auto;min-width:0;max-width:92px}.files-branch-name{text-overflow:ellipsis;white-space:nowrap;flex:0 auto;min-width:0;overflow:hidden}.side-files-root{border:1px solid var(--border);background:var(--bg-elev);min-width:112px;color:var(--text-dim);font:inherit;cursor:pointer;text-align:left;border-radius:7px;flex:auto;align-items:center;gap:6px;padding:3px 8px;font-size:13.5px;line-height:1.4;transition:border-color .12s,color .12s;display:flex}.side-files-root:hover,.side-files-root-open{color:var(--text);border-color:var(--border-strong)}.side-files-root-label{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.side-files-root-caret{stroke:currentColor;stroke-width:1.6px;fill:none;stroke-linecap:round;stroke-linejoin:round;flex:none;width:12px;height:12px;transition:transform .12s}.side-files-root-open .side-files-root-caret{transform:rotate(180deg)}.files-root-menu{max-width:min(320px,100vw - 16px);max-height:min(60vh,420px);overflow:auto}.files-root-option{align-items:baseline}.files-root-check{width:10px;color:var(--accent);flex:none;font-size:12px;line-height:1}.files-root-option-label{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.files-root-option-on{color:var(--accent);font-weight:600}.files-root-sep{background:var(--border);height:1px;margin:3px 4px}.side-files-body{flex:auto;min-height:0;display:flex;overflow:hidden}.side-files-body .filetree{flex:auto}.side-files-body .files-search-list{flex:auto;min-height:0}.side-files-term{color:var(--text-faint);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:5px;flex:none;padding:1px 5px;font-family:ui-monospace,monospace;font-size:13px;line-height:1.3}.side-files-term:hover{color:var(--accent);background:var(--bg-elev-2)}.side-split{cursor:row-resize;background:0 0;flex:none;height:0;margin:-8px 0;position:relative}.side-split:before{content:"";height:8px;position:absolute;top:-4px;left:0;right:0}.side-split:after{content:"";background:0 0;height:1px;transition:height .12s,background .12s;position:absolute;top:0;left:0;right:0}.side-split:hover:after,.side-split:active:after{background:var(--accent-dim);height:3px}.proj-menu-floating{z-index:90;width:220px;max-height:min(70vh,560px);margin:0;position:fixed;overflow:auto}.ctx-menu{width:auto;min-width:230px;max-width:340px}.pi-row-wrap{align-items:center;min-width:0;display:flex;position:relative}.pi-row-wrap>.pi-row{flex:auto;min-width:0}.pi-more,.pi-archive{width:20px;height:20px;color:var(--text-faint);font:inherit;cursor:pointer;visibility:hidden;opacity:0;background:0 0;border:none;border-radius:5px;flex:none;justify-content:center;align-items:center;padding:0;line-height:1;transition:opacity 90ms linear;display:inline-flex}.pi-more{font-size:15px}.pi-archive-icon{width:15px;height:15px}.pi-more:hover,.pi-archive:hover{background:var(--bg-elev-2);color:var(--text)}@media (hover:hover){.pi-row-time{text-align:right;flex:none;min-width:30px}.pi-more,.pi-archive{position:absolute;top:50%;transform:translateY(-50%)}.pi-more{right:0}.pi-archive{right:22px}.pi-row-wrap:hover .pi-more,.pi-row-wrap:hover .pi-archive,.pi-row-wrap:focus-within .pi-more,.pi-row-wrap:focus-within .pi-archive{visibility:visible;opacity:1}.pi-row-wrap:hover .pi-row-time,.pi-row-wrap:focus-within .pi-row-time{visibility:hidden;min-width:46px}.pi-row-wrap-running:hover .pi-more,.pi-row-wrap-running:hover .pi-archive,.pi-row-wrap-running:focus-within .pi-more,.pi-row-wrap-running:focus-within .pi-archive{visibility:hidden;opacity:0}}.pi-menu{border:1px solid var(--border-strong,var(--border));background:var(--bg-elev-2);border-radius:8px;flex-direction:column;gap:1px;width:210px;padding:4px;display:flex;box-shadow:0 12px 32px #00000073}.archived{border-top:1px solid var(--border);flex:none;margin-top:4px;padding-top:4px}.archived-head{width:100%;color:var(--text-faint);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:6px;padding:4px 6px;font-size:14px;display:flex}.archived-head:hover{background:var(--bg-elev-2);color:var(--text)}.archived-caret{width:10px;color:var(--text-faint)}.archived-list{flex-direction:column;gap:1px;max-height:180px;padding:2px 0 4px;display:flex;overflow:auto}.archived-row{align-items:center;gap:6px;min-width:0;padding:2px 6px 2px 28px;display:flex}.archived-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-dim);flex:auto;font-size:14px;overflow:hidden}.pi-archive:hover{background:var(--bg-elev-2);color:var(--accent)}.is-mobile-shell .pi-archive{display:none}.is-mobile-shell .pi-more{visibility:visible;opacity:1;width:36px;height:36px;font-size:18px;right:0}.is-mobile-shell .pi-row-wrap,.is-mobile-shell .pi-row{min-height:40px}.is-mobile-shell .pi-row-wrap-running .pi-more{position:static;transform:none}.is-mobile-shell .pi-row-time{display:none}.is-mobile-shell .pi-row{align-items:center}.switch-hint{top:calc(var(--appbar-h,46px) + 8px);z-index:50;border:1px solid var(--border);background:var(--bg-elev-2);color:var(--text-dim);white-space:nowrap;pointer-events:none;opacity:0;border-radius:999px;padding:4px 12px;font-size:14px;line-height:1.4;animation:.12s ease-out .15s forwards switch-hint-in;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 6px 18px #00000059}@keyframes switch-hint-in{0%{opacity:0}to{opacity:1}}.pi-row-title-input{border:none;border-bottom:1px solid var(--accent);min-width:0;color:var(--text);font:inherit;background:0 0;border-radius:0;outline:none;flex:auto;padding:0 0 1px;font-size:12.5px;line-height:1.2}.archived-entry{width:100%;color:var(--text-faint);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;margin-top:4px;padding:6px;font-size:14px;display:flex}.archived-entry:hover{color:var(--text);background:var(--bg-elev-2)}.archived-view{flex-direction:column;flex:auto;gap:6px;height:auto;min-height:0;display:flex}.archived-view-head{flex:none;align-items:center;gap:6px;padding:2px 0;display:flex}.archived-back{border:1px solid var(--border);background:var(--bg-elev);width:22px;height:22px;color:var(--text-dim);font:inherit;cursor:pointer;border-radius:6px;justify-content:center;align-items:center;padding:0;display:inline-flex}.archived-view-title{color:var(--text);font-size:14.5px;font-weight:600}.archived-view-list{flex-direction:column;flex:auto;gap:6px;min-height:120px;display:flex;overflow:auto}.archived-group-title{color:var(--text-faint);align-items:center;gap:6px;padding:4px 6px 2px;font-size:13.5px;font-weight:600;display:flex}.archived-group-toggle{min-width:0;color:inherit;font:inherit;font-weight:inherit;cursor:pointer;text-align:left;background:0 0;border:none;flex:0 auto;align-items:center;gap:6px;padding:0;display:inline-flex}.archived-group-toggle:hover .archived-group-name{color:var(--text)}.archived-group-name{text-overflow:ellipsis;white-space:nowrap;flex:0 auto;min-width:0;overflow:hidden}.archived-group-select{opacity:.55;flex:none;padding:1px 7px;font-size:12.5px}.archived-group:hover .archived-group-select,.archived-group-select:focus-visible{opacity:1}.archived-open{min-width:0;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;flex:auto;align-items:center;gap:8px;padding:4px 6px;font-size:14.5px;display:flex}.archived-open:hover{background:var(--bg-elev-2)}.archived-time{color:var(--text-faint);flex:none;font-size:13px}.sidebar-list-hidden{display:none}.archived-row-entry{width:100%;min-width:0;color:var(--text-dim);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:6px;margin-top:2px;padding:3px 4px 3px 6px;font-size:14.5px;font-weight:600;display:flex}.archived-row-entry:hover{color:var(--text);background:var(--bg-elev-2)}.archived-row-entry-on{color:var(--accent)}.archived-row-entry-name{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.archived-row-entry .proj-folder{width:100%;height:100%}.archived-bulk{border:1px solid var(--border);background:var(--bg-elev);border-radius:8px;flex:none;align-items:center;gap:6px;padding:4px 6px;display:flex}.archived-bulk-count{color:var(--text-dim);font-size:13.5px}.archived-row-on{background:color-mix(in srgb, var(--accent) 10%, transparent);border-radius:6px}.archived-row input[type=checkbox]{flex:none;margin:0}.workspace{position:relative}.outline{z-index:8;pointer-events:none;flex-direction:row-reverse;align-items:flex-start;gap:6px;display:flex;position:absolute;top:56px;bottom:96px;right:6px}.outline-rail{pointer-events:auto;background:color-mix(in srgb, var(--bg-elev) 70%, transparent);border-radius:10px;flex-direction:column;gap:7px;max-height:100%;padding:6px 4px;display:flex;overflow:auto}.outline-dot{border:1.5px solid var(--text-faint);cursor:pointer;background:0 0;border-radius:2px;width:9px;height:9px;padding:0}.outline-dot:hover,.outline-dot-on{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 60%, transparent)}.outline-preview{pointer-events:auto;border:1px solid var(--border-strong,var(--border));background:var(--bg-elev);border-radius:10px;width:min(420px,42vw);max-height:60vh;padding:8px 10px;overflow:auto;box-shadow:0 12px 32px #00000073}.outline-item{gap:8px;padding:3px 0;font-size:14.5px;display:flex}.outline-item-answer{border-top:1px solid var(--border);color:var(--text-dim);margin-top:4px;padding-top:6px}.outline-num{width:22px;color:var(--text-faint);flex:none;font-size:13px}.outline-q{color:var(--text)}.outline-a{color:var(--text-dim)}.outline-hint{color:var(--text-faint);margin-top:6px;font-size:13px}.side-files-closed{flex:none;min-height:0}.side-files .side-files-root{flex:auto;width:auto;min-width:0}.sidebar-title{white-space:nowrap}.outline-entry{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-left:2px solid #0000;border-radius:4px;padding:4px 6px 4px 4px;display:block}.outline-entry:hover{background:var(--bg-elev-2)}.outline-entry-on{border-left-color:var(--accent);background:var(--bg-elev-2)}.workspace .messages{padding-right:26px}.is-mobile-shell .workspace .messages{padding-right:8px}.side-foot{border-top:1px solid var(--border);flex-direction:column;flex:none;gap:6px;min-height:0;padding-top:8px;display:flex}.side-foot-row{gap:6px;display:flex}.side-foot-icon,.big-tab-icon{width:15px;height:15px;color:inherit;flex:none;justify-content:center;align-items:center;display:inline-flex}.side-foot-icon svg,.big-tab-icon svg{width:100%;height:100%;display:block}.side-foot-label{line-height:1}.side-foot-btn{border:1px solid var(--border);background:var(--bg-elev);color:var(--text-dim);font:inherit;cursor:pointer;border-radius:8px;flex:1 1 0;justify-content:center;align-items:center;gap:5px;min-width:0;padding:5px 4px;font-size:14px;display:inline-flex}.side-foot-btn:hover{color:var(--text);border-color:var(--accent-dim)}.side-foot-btn-on{color:var(--accent);border-color:var(--accent-dim);background:var(--bg-elev-2)}.side-panel{border:1px solid var(--border);background:var(--bg-elev);border-radius:10px;flex-direction:column;gap:6px;min-height:0;max-height:46vh;padding:8px;display:flex}.side-panel-head{flex:none;justify-content:space-between;align-items:baseline;gap:6px;font-size:14.5px;display:flex}.side-panel-count{color:var(--text-faint);font-size:13px}.side-panel-scroll{flex-direction:column;gap:4px;min-height:0;display:flex;overflow:auto}.side-panel-hint{color:var(--text-faint);font-size:13.5px;line-height:1.6}.side-model-provider{background:var(--bg-elev);color:var(--text-faint);letter-spacing:.06em;padding:4px 2px 2px;font-size:12px;position:sticky;top:0}.side-model-row{color:var(--text-dim);align-items:center;gap:5px;min-width:0;padding:2px 2px 2px 6px;font-size:14px;display:flex}.side-model-row-on{color:var(--text);font-weight:600}.side-model-check{width:10px;color:var(--accent);flex:none}.side-model-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.side-field{color:var(--text-faint);flex-direction:column;gap:3px;font-size:13px;display:flex}.side-field input,.side-field select,.side-field textarea{border:1px solid var(--border);background:var(--bg);color:var(--text);font:inherit;border-radius:7px;min-width:0;padding:5px 7px;font-size:14px}.side-error{color:var(--red)}.side-ok{color:var(--accent);font-size:13.5px}.side-provider-list{flex-direction:column;gap:6px;min-height:0;display:flex;overflow:auto}.side-provider{border:1px solid var(--border);background:var(--bg);border-radius:8px;padding:6px 7px}.side-provider-head{flex-direction:column;gap:1px;min-width:0;display:flex}.side-provider-name{text-overflow:ellipsis;font-size:14.5px;font-weight:600;overflow:hidden}.side-provider-meta{color:var(--text-faint);font-size:12.5px}.side-provider-actions{gap:4px;margin-top:5px;display:flex}.modal.big-modal{width:calc(100vw - 2 * var(--gap,16px));height:calc(100vh - 2 * var(--gap,16px));max-width:calc(100vw - 2 * var(--gap,16px));max-height:calc(100vh - 2 * var(--gap,16px));flex-direction:column;gap:10px;display:flex;position:relative;overflow:hidden}.big-modal-body{overscroll-behavior:contain;scrollbar-gutter:stable;overflow:auto}.modal-notices{flex-direction:column;flex:none;display:flex}.modal-notices .notice{background:var(--bg-elev-2);font-size:14px}.modal-resize{cursor:nwse-resize;touch-action:none;opacity:.55;background:linear-gradient(135deg, transparent 46%, var(--border-strong) 46%, var(--border-strong) 55%, transparent 55%), linear-gradient(135deg, transparent 66%, var(--border-strong) 66%, var(--border-strong) 75%, transparent 75%);width:18px;height:18px;position:absolute;bottom:0;right:0}.modal-resize:hover{opacity:1}.big-modal-head{border-bottom:1px solid var(--border);flex:none;align-items:center;gap:6px;padding-bottom:8px;padding-right:38px;display:flex}.big-modal-close{z-index:3;position:absolute;top:10px;right:10px}.big-tab{color:var(--text-dim);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:6px;padding:5px 12px;font-size:15px;display:inline-flex}.big-tab-icon{width:16px;height:16px}.big-tab:hover{color:var(--text);background:var(--bg-elev-2)}.big-tab-on{color:var(--accent);border-color:var(--accent-dim);background:var(--bg-elev-2);font-weight:600}.big-tab{white-space:nowrap}.big-modal-head{scrollbar-width:none;overflow-x:auto}.big-modal-head::-webkit-scrollbar{display:none}.big-modal-body{flex-direction:column;flex:auto;min-height:0;display:flex}.big-modal-body .side-panel{overscroll-behavior:contain;background:0 0;border:none;flex:auto;gap:10px;min-height:0;max-height:none;padding:0;overflow:auto}.big-modal-body .side-panel-scroll,.big-modal-body .side-provider-list{flex:auto}.side-provider-badge{border:1px solid var(--border);color:var(--text-faint);border-radius:999px;margin-left:6px;padding:0 6px;font-size:12px;font-weight:400}.side-field-row{gap:6px;min-width:0;display:flex}.side-field-row>.side-field{flex:1 1 0;min-width:0}.side-check{color:var(--text);align-items:center;gap:5px;margin-right:12px;font-size:14px;display:inline-flex}.side-model-edit{flex:none;margin-left:auto;padding:0 6px;font-size:12.5px}.model-editor{gap:10px}.price-seg{border:1px solid var(--border);background:var(--bg-elev-1);border-radius:8px;flex-direction:column;gap:6px;padding:6px 7px;display:flex}.price-seg .side-field>span{font-size:12px}.price-seg .side-field-row>.btn{align-self:flex-end;margin-bottom:1px}.side-provider-models{flex-direction:column;gap:1px;max-height:132px;margin-top:4px;display:flex;overflow:auto}.side-provider-model{color:var(--text-dim);align-items:center;gap:6px;min-width:0;padding:1px 0;font-size:13.5px;display:flex}.import-models{gap:8px}.import-list{flex-direction:column;flex:auto;gap:1px;min-height:0;max-height:46vh;display:flex;overflow:auto}.import-row{color:var(--text-dim);cursor:pointer;border-radius:6px;align-items:center;gap:7px;padding:2px 4px;font-size:14px;display:flex}.import-row:hover{background:var(--bg-elev-2)}.import-row-done{opacity:.5;cursor:default}.import-id{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.import-foot{flex:none;align-items:center;gap:6px;display:flex}.prov-shell{grid-template-columns:minmax(140px, var(--prov-list-width,190px)) 6px minmax(0, 1fr);border:1px solid var(--border);background:var(--bg);border-radius:10px;flex:auto;gap:0;min-height:0;display:grid;overflow:hidden}.prov-list{--prov-gap:6px;gap:var(--prov-gap);background:var(--bg-soft);flex-direction:column;min-height:0;padding:8px;display:flex}.prov-list-head{text-transform:uppercase;letter-spacing:.03em;color:var(--text-faint);justify-content:space-between;align-items:center;padding:2px 4px;font-size:13px;display:flex}.prov-list-toggle{width:100%;font:inherit;text-transform:uppercase;letter-spacing:.03em;color:var(--text-faint);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:6px;font-size:13px;transition:color .12s,background .12s}.prov-list-toggle:hover{color:var(--text-dim);background:var(--bg-elev)}.prov-list-toggle-label{align-items:center;gap:6px;min-width:0;display:inline-flex}.prov-list-scroll{flex-direction:column;flex:auto;gap:4px;min-height:0;display:flex;overflow:auto}.prov-item{text-align:left;color:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;flex-direction:column;gap:1px;padding:6px 8px;display:flex}.prov-item:hover{background:var(--bg)}.prov-item-on{background:var(--bg);border-color:var(--accent)}.prov-item-name{text-overflow:ellipsis;white-space:nowrap;font-size:14.5px;font-weight:600;overflow:hidden}.prov-add{width:100%;margin-top:auto}.prov-builtin{color:var(--text-faint);padding:2px 4px;font-size:12.5px;line-height:1.4}.prov-detail{scrollbar-gutter:stable;flex-direction:column;gap:10px;min-width:0;min-height:0;padding:10px 20px 18px 12px;display:flex;overflow:auto}.prov-detail-split{padding-right:0;overflow:hidden}.prov-detail.prov-detail-split>.side-panel{flex:auto;min-height:96px;padding:0 14px 20px 0;overflow:auto}.prov-models{border-top:1px solid var(--border);flex-direction:column;flex:none;gap:6px;min-height:0;padding-top:8px;display:flex}.prov-detail-split .prov-models{flex:none;max-height:min(46%,420px)}.prov-models-head{align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex}.prov-models-scroll{flex-direction:column;gap:2px;min-height:0;display:flex;overflow:auto}.prov-model-row{border-radius:7px;grid-template-columns:minmax(0,1fr) 92px auto auto;align-items:center;gap:8px;padding:5px 6px;display:grid}.prov-model-row:hover{background:var(--bg-soft)}.prov-model-name{text-overflow:ellipsis;white-space:nowrap;flex:0 auto;min-width:0;font-size:14.5px;overflow:hidden}.prov-model-spec{color:var(--text-faint);white-space:nowrap;justify-self:end;font-size:12.5px}@media (width<=720px){.prov-shell{grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr)}.prov-list{border-right:none;border-bottom:1px solid var(--border);max-height:34vh}.prov-resizer{display:none}.prov-detail{min-height:0}}.prov-detail .side-panel{background:0 0;border:none;padding:0 0 16px}.prov-detail .import-foot{margin-top:12px;margin-bottom:14px;position:static}.prov-block{border-radius:8px;flex-direction:column;display:flex}.prov-block-on{background:var(--bg)}.prov-block .prov-item{border:none;border-radius:8px;padding:6px 8px}.prov-item-name{align-items:center;gap:5px;display:flex}.prov-item-warn{color:var(--text-faint);border:1px solid var(--border);border-radius:999px;padding:0 5px;font-size:11.5px;font-weight:400}.prov-item-sub{color:var(--accent);white-space:nowrap;border:1px solid;border-radius:999px;padding:0 5px;font-size:11.5px;font-weight:400}.prov-item-sub-stale{color:var(--warn,var(--text-faint))}.prov-models-inline{flex-direction:column;gap:1px;padding:2px 4px 6px 16px;display:flex}.prov-inline-row{color:inherit;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;gap:6px;padding:3px 6px;font-size:14px;display:flex}.prov-inline-row:hover{background:var(--bg-soft)}.prov-inline-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.prov-dot{background:var(--border);border-radius:50%;flex:none;width:6px;height:6px}.prov-dot-on{background:var(--accent)}.prov-item-name{flex-wrap:wrap;min-width:0}.prov-item-name>span{flex:none}.prov-field-head{align-items:center;gap:8px;width:100%;display:flex}.prov-picker{flex-direction:column;flex:none;align-items:stretch;gap:8px;margin-top:6px;display:flex}.prov-picker-filter{border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text);border-radius:8px;padding:6px 8px;font-size:14.5px}.prov-picker .import-list{border:1px solid var(--border);border-radius:8px;max-height:260px;overflow:auto}.import-row-head{border-bottom:1px solid var(--border);font-weight:600}.prov-model-open{flex-direction:column;align-items:flex-start;gap:1px;min-width:0;display:flex}.prov-model-title{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.prov-model-id{color:var(--text-faint);text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:12.5px;overflow:hidden}.prov-model-open:hover .prov-model-id{color:var(--text-dim)}.prov-caret{opacity:.55;vertical-align:middle;border-top:4px solid #0000;border-bottom:4px solid #0000;border-left:5px solid;width:0;height:0;margin-right:6px;transition:transform .12s ease-out;display:inline-block}.prov-caret-open{transform:rotate(90deg)}.prov-sub-list{overscroll-behavior:contain;flex-direction:column;flex:0 auto;gap:4px;max-height:40%;padding-bottom:0;display:flex;overflow:auto}.prov-list-resizer{height:10px;margin:calc(-1 * var(--prov-gap)) 0 4px;cursor:row-resize;touch-action:none;flex:none;align-items:flex-start;display:flex}.prov-list-resizer:before{content:"";background:var(--border);width:100%;height:1px}.prov-list-resizer:hover:before,.prov-list-resizer:active:before{background:var(--accent)}.prov-sub-list .prov-item-name{font-size:13.5px}.prov-sub-state{color:var(--text-faint);text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;overflow:hidden}.prov-sub-state-on{color:var(--accent)}.subs-detail{gap:8px}.subs-block{border:1px solid var(--border);background:var(--bg);border-radius:8px;flex-direction:column;gap:6px;min-width:0;padding:8px;display:flex}.subs-link{color:var(--accent);overflow-wrap:anywhere;font-size:13.5px}.subs-code{letter-spacing:3px;text-align:center;color:var(--text);font-size:22px}.subs-options{flex-wrap:wrap;gap:6px;display:flex}.subs-actions{gap:6px;display:flex}.subs-state{color:var(--text-faint);font-size:13px}.subs-state-on{color:var(--accent)}.prov-sub-list.prov-sub-list-closed,.prov-list-scroll.prov-list-scroll-closed{display:none}.prov-test-pill{border:1px solid var(--border);white-space:nowrap;text-overflow:ellipsis;border-radius:999px;max-width:340px;padding:5px 8px;font-size:13px;line-height:1;overflow:hidden}.prov-test-ok{color:#1a7f43;background:#34c75929;border-color:#34c75966}.prov-test-fail{color:#b3261e;background:#ff3b3024;border-color:#ff3b3061}.prov-latency{font-variant-numeric:tabular-nums;white-space:nowrap;text-overflow:ellipsis;text-align:center;border-radius:999px;justify-self:end;max-width:92px;padding:1px 6px;font-size:12.5px;overflow:hidden}.prov-latency-idle{color:var(--text-faint)}.prov-latency-ok{color:#1a7f43;background:#34c75924}.prov-latency-fail{color:#b3261e;background:#ff3b3024}.prov-tabs{border-bottom:1px solid var(--border);flex:none;align-items:center;gap:4px;padding-bottom:6px;display:flex}.prov-tab{color:var(--text-faint);cursor:pointer;background:0 0;border:none;border-radius:7px;padding:4px 10px;font-size:14.5px}.prov-tab:hover{background:var(--bg-soft);color:var(--text)}.prov-tab-on{background:var(--bg-soft);color:var(--text);box-shadow:inset 0 2px 0 var(--accent);font-weight:600}.prov-model-open{color:inherit;text-align:left;cursor:pointer;background:0 0;border:none;max-width:100%;padding:0}.prov-model-open:hover{color:var(--accent)}.prov-resizer{cursor:col-resize;background:var(--border);opacity:.5;transition:opacity .12s}.prov-resizer:hover,.prov-resizer:active{opacity:1;background:var(--accent)}.prov-checklist{border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:1px;max-height:240px;padding:4px;display:flex;overflow:auto}.prov-check-row{border-radius:6px;align-items:center;gap:8px;padding:3px 6px;display:flex}.prov-check-row:hover{background:var(--bg-soft)}.prov-check-on{color:var(--text)}.prov-check-row:not(.prov-check-on) .mono{color:var(--text-faint);text-decoration:line-through}.prov-check-label{cursor:pointer;flex:auto;align-items:center;gap:8px;min-width:0;display:flex}.prov-check-label .mono{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.prov-check-row .msg-action{opacity:0}.prov-check-row:hover .msg-action{opacity:1}.prov-add-row{align-items:center;gap:6px;margin-top:4px;display:flex}.prov-add-row input{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:8px;flex:auto;padding:6px 8px;font-size:14.5px}.prov-check-actions{align-items:center;gap:2px;display:flex}.prov-check-actions .msg-action:disabled{opacity:.4;cursor:not-allowed}.prov-inline-id{color:var(--text-faint);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-style:normal;display:block;overflow:hidden}.prov-switch{cursor:pointer;align-items:center;display:inline-flex}.prov-switch input{opacity:0;pointer-events:none;position:absolute}.prov-switch-track{background:var(--border-strong);border-radius:999px;width:34px;height:19px;transition:background .14s;position:relative}.prov-switch-track:after{content:"";background:var(--on-accent);border-radius:50%;width:15px;height:15px;transition:transform .14s;position:absolute;top:2px;left:2px}.prov-switch input:checked+.prov-switch-track{background:var(--accent)}.prov-switch input:checked+.prov-switch-track:after{transform:translate(15px)}.prov-global-bar{flex:none;align-items:center;gap:10px;padding:0 2px 8px;display:flex}.prov-global-path{color:var(--text-faint);font-size:13px}.prov-switch-sm .prov-switch-track{width:28px;height:16px}.prov-switch-sm .prov-switch-track:after{width:12px;height:12px}.prov-switch-sm input:checked+.prov-switch-track:after{transform:translate(12px)}.appbar{border-bottom:1px solid var(--border);background:var(--bg-elev);flex:none;align-items:center;gap:8px;min-width:0;padding:6px 10px;display:flex}.app-main{flex:auto;gap:8px;min-width:0;min-height:0;padding:8px 8px 0;display:flex}.right-col{flex-direction:column;flex:auto;min-width:0;min-height:0;display:flex}.right-upper{flex:auto;gap:0;min-width:0;min-height:0;display:flex}.appbar-menu{flex:none;align-items:center;gap:6px;display:flex}.appbar-menu .side-foot-row{gap:4px;display:flex}.appbar-menu .side-foot-btn{border-radius:7px;flex:none;gap:5px;padding:4px 9px;font-size:12px}.appbar-menu .side-foot-btn:hover{background:var(--bg)}.appbar-slot{border:1px dashed #0000;border-radius:8px;flex:auto;min-width:0}.appbar-new{cursor:pointer;flex:none;padding:5px 12px;font-size:12.5px}.appbar-new:hover{border-color:var(--accent-dim);color:var(--accent)}.app,.app-main{gap:0;padding:0}.sidebar,.workspace,.preview-panel,.preview-rail{border-top:none;border-bottom:none;border-radius:0}.sidebar{border-left:none}.sidebar+.workspace{border-left:1px solid var(--border)}.workspace{border-right:1px solid var(--border)}.preview-panel,.preview-rail{border-right:none}.workspace .topbar,.workspace .main{border-left:none;border-right:none;border-radius:0}.workspace .main{padding:4px 0 0}.workspace,.workspace .main{background:var(--bg)}.workspace .main{border-top:none;border-bottom:none;border-radius:0}.statusbar{box-sizing:border-box;border-top:1px solid var(--border);background:var(--bg-elev);height:24px;color:var(--text-faint);white-space:nowrap;flex:none;align-items:center;gap:8px;min-width:0;padding:0 0 0 10px;font-size:12px;line-height:1;display:flex;overflow:hidden}.status-item{flex:none;align-items:center;gap:4px;display:inline-flex}.status-spacer{flex:auto}.status-path{text-overflow:ellipsis;flex:0 auto;min-width:0;overflow:hidden}.status-dot{background:var(--text-faint);border-radius:50%;flex:none;width:7px;height:7px}.status-dot-open{background:var(--green)}.status-dot-closed{background:var(--red)}.status-dot-connecting{background:var(--amber)}.appbar-new-primary{background:color-mix(in srgb, var(--accent) 12%, transparent);color:var(--accent);border:1px solid #0000;border-radius:999px;align-items:center;gap:6px;padding:5px 14px;font-weight:600;display:inline-flex}.appbar-new-primary:hover{background:color-mix(in srgb, var(--accent) 20%, transparent);color:var(--accent)}.appbar-new-icon{font-size:13px;line-height:1}.workspace{padding:0 0 10px 20px}.workspace .main{padding-right:0}.workspace .messages,.workspace .composer-wrap,.workspace .sent-queue,.workspace .notices{margin-right:14px}.brand{align-items:center;gap:6px;display:inline-flex}.brand-icon{border-radius:5px;flex:none;width:20px;height:20px}.brand-name{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.appbar-panel-btn{cursor:pointer;flex:none;align-items:center;gap:5px;padding:5px 12px;font-size:12.5px;display:inline-flex}.appbar-panel-icon{flex:none;width:14px;height:14px}.side-foot-icon{flex:none;justify-content:center;align-items:center;width:18px;height:18px;font-size:15px;line-height:1;display:inline-flex}.session-info{flex:none;position:relative}.session-info-pop{z-index:30;border:1px solid var(--border-strong);background:var(--bg);border-radius:10px;gap:18px;width:min(760px,92vw);padding:12px 14px;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 16px 40px #0000002e}.session-info-col{flex-direction:column;flex:1 1 0;gap:4px;min-width:0;display:flex}.session-info-wide{flex:1.6 1 0}.session-info-title{color:var(--text);margin-bottom:2px;font-size:12px;font-weight:600}.session-info-row{gap:8px;min-width:0;font-size:11.5px;display:flex}.session-info-label{width:76px;color:var(--text-faint);flex:none}.session-info-value{min-width:0;color:var(--text-dim);overflow-wrap:anywhere;flex:auto}.appbar-drawer-open{border:1px solid var(--border);background:var(--bg-elev);width:26px;height:26px;color:var(--text-dim);cursor:pointer;border-radius:7px;justify-content:center;align-items:center;padding:0;display:inline-flex}.appbar-drawer-open:hover{color:var(--accent);border-color:var(--accent-dim)}.appbar-drawer-open svg{width:14px;height:14px}.engine-picker{flex:none;display:flex;position:relative}.engine-picker-btn{color:var(--text-dim);border-radius:7px;flex:none;gap:6px;padding:4px 9px;font-size:12px}.engine-picker-btn:hover,.engine-picker-btn.side-foot-btn-on{background:var(--bg);color:var(--text);border-color:var(--accent-dim)}.engine-picker-icon{width:100%;height:100%;display:block}.engine-picker-badge{border:1px solid var(--accent-dim);color:var(--accent);letter-spacing:.04em;border-radius:5px;flex:none;padding:1px 5px;font-size:10px;font-weight:600;line-height:1.5}.engine-picker-name{text-overflow:ellipsis;white-space:nowrap;max-width:16ch;line-height:1;overflow:hidden}.engine-picker-chevron{opacity:.7;flex:none;width:12px;height:12px}.engine-pop{z-index:40;border:1px solid var(--border);background:var(--bg-elev);border-radius:12px;flex-direction:column;gap:6px;width:min(340px,100vw - 24px);padding:8px;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 12px 32px #00000038}.engine-pop-head{align-items:baseline;gap:8px;min-width:0;padding:2px 4px 4px;display:flex}.engine-pop-title{color:var(--text);flex:none;font-size:12px;font-weight:600}.engine-pop-note{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-dim);font-size:11px;overflow:hidden}.engine-option{text-align:left;width:100%;color:var(--text);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;flex-direction:column;gap:3px;padding:8px 10px;display:flex}.engine-option:hover:not(:disabled){background:var(--bg);border-color:var(--border)}.engine-option-on{background:color-mix(in srgb, var(--accent) 10%, transparent);border-color:var(--accent-dim);cursor:default}.engine-option:disabled{opacity:.45;cursor:not-allowed}.engine-option-top{align-items:center;gap:7px;min-width:0;display:flex}.engine-option-badge{background:color-mix(in srgb, var(--accent) 16%, transparent);color:var(--accent);letter-spacing:.04em;border-radius:5px;flex:none;padding:1px 6px;font-size:10px;font-weight:700;line-height:1.6}.engine-option-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12.5px;font-weight:600;overflow:hidden}.engine-option-version{color:var(--text-dim);flex:none;font-size:10.5px}.engine-option-tail{color:var(--accent);flex:none;align-items:center;margin-left:auto;display:inline-flex}.engine-picker-check{width:14px;height:14px}.engine-option-desc{color:var(--text-dim);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:11.5px;line-height:1.45;display:-webkit-box;overflow:hidden}.engine-option-caps{color:var(--text-dim);opacity:.85;font-size:10.5px}.engine-pop-hint{color:var(--warn,#b8860b);padding:4px 4px 2px;font-size:11px}@media (width<=720px){.engine-picker-name{display:none}}.is-mobile-shell .engine-picker-btn{border-color:#0000;gap:0;padding:4px 6px}.is-mobile-shell .engine-picker-btn .side-foot-icon,.is-mobile-shell .engine-picker-chevron{display:none}.is-mobile-shell .engine-picker-badge{letter-spacing:.02em;border:none;border-radius:0;padding:0;font-size:12px;font-weight:600;line-height:1}.is-mobile-shell .engine-pop{top:calc(var(--appbar-h,46px) + 4px);width:auto;max-height:calc(100dvh - var(--appbar-h,46px) - 16px);position:fixed;left:8px;right:8px;overflow:auto}.is-mobile-shell .appbar{gap:6px;padding:6px 8px}.is-mobile-shell .appbar .brand{gap:4px}.is-mobile-shell .appbar .brand-name{display:none}.is-mobile-shell .appbar .brand-icon{width:18px}.is-mobile-shell .appbar .appbar-new-icon{display:none}.is-mobile-shell .appbar .appbar-new{gap:4px;padding:4px 10px;font-size:12.5px}.is-mobile-shell .appbar .appbar-menu .side-foot-label{display:none}.is-mobile-shell .appbar .appbar-menu .side-foot-row{gap:2px}.is-mobile-shell .appbar .appbar-menu .side-foot-btn{padding:3px 4px}.is-mobile-shell .appbar .appbar-menu .side-foot-icon{width:15px;height:15px}@media (width<=340px){.appbar .appbar-menu .side-foot-btn{padding:3px}}.terminal-panel{border:1px solid var(--border);background:var(--bg-elev);border-radius:0;flex-direction:column;flex:none;gap:6px;width:min(560px,42vw);min-height:0;padding:8px;display:flex}.terminal-head{flex:none;align-items:center;gap:6px;font-size:14.5px;display:flex}.terminal-host{background:#0d1117;border-radius:0;flex:auto;min-height:0;overflow:hidden}.terminal-host .xterm{height:100%;padding:4px}.skills{flex-direction:column;flex:auto;gap:8px;min-height:0;display:flex}.skills-shell{grid-template-columns:minmax(180px, var(--skills-list-width,260px)) 7px minmax(0, 1fr);border:1px solid var(--border);background:var(--bg);border-radius:10px;flex:auto;min-height:0;display:grid;overflow:hidden}.skills-list-col{background:var(--bg-soft);flex-direction:column;gap:6px;min-height:0;padding:8px;display:flex}.skills-input{background:var(--bg);color:var(--text);border:1px solid var(--border);font:inherit;border-radius:8px;min-width:0;padding:4px 8px;font-size:13px}.skills-input:focus{border-color:var(--accent-dim);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 12%, transparent);outline:none}.skills-search{flex:none}.skills-list-head{color:var(--text-dim);justify-content:space-between;align-items:baseline;gap:6px;padding:0 2px;font-size:12.5px;font-weight:600;display:flex}.skills-list-scroll{flex-direction:column;flex:auto;gap:2px;min-height:0;display:flex;overflow:auto}.skill-item{text-align:left;width:100%;color:inherit;font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:6px;padding:5px 8px;font-size:14px;display:flex}.skill-item:hover{background:var(--bg)}.skill-item-on{background:var(--bg);border-color:var(--accent)}.skill-item-off .skill-item-name{color:var(--text-faint)}.skill-item-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.skills-left-actions{flex:none;gap:6px;margin-top:auto;display:flex}.skills-left-actions>.btn{flex:1 1 0;min-width:0}.skills-list-resizer{cursor:col-resize;touch-action:none;background:var(--bg-soft);justify-content:center;align-items:stretch;display:flex}.skills-list-resizer:before{content:"";background:var(--border);width:1px}.skills-list-resizer:hover:before,.skills-list-resizer:active:before{background:var(--accent);width:2px}.skills-detail{scrollbar-gutter:stable;flex-direction:column;gap:8px;min-width:0;min-height:0;padding:10px 18px 16px 14px;display:flex;overflow:auto}.skills-detail-pane{padding:10px 18px 16px 16px}.skills-detail-head{flex-wrap:wrap;flex:none;align-items:center;gap:6px;display:flex}.skills-detail-meta{flex-wrap:wrap;align-items:baseline;gap:8px;font-size:13px;display:flex}.skills-label{color:var(--text-dim);font-size:13px;font-weight:600}.skill-slug{color:var(--text-faint);overflow-wrap:anywhere;font-size:12px}.skills-desc{color:var(--text-dim);overflow-wrap:anywhere;margin:0;font-size:13.5px;line-height:1.7}.skills-file-chips{flex-wrap:wrap;flex:none;gap:4px;max-height:92px;display:flex;overflow:auto}.skills-file{font-family:var(--mono);border:1px solid var(--border);background:var(--bg-soft);color:var(--text-dim);cursor:pointer;border-radius:6px;padding:1px 6px;font-size:11.5px}.skills-file:hover{color:var(--text);border-color:color-mix(in srgb, var(--accent) 40%, var(--border))}.skills-file-on{background:color-mix(in srgb, var(--accent) 12%, var(--bg));border-color:color-mix(in srgb, var(--accent) 45%, var(--border));color:var(--text)}.skills-preview{white-space:pre-wrap;overflow-wrap:anywhere;min-height:120px;font-family:var(--mono);background:var(--bg-soft);border:1px solid var(--border);color:var(--text-dim);border-radius:10px;flex:auto;margin:0;padding:8px 10px;font-size:12.5px;line-height:1.65;overflow:auto}.skills-bar{flex-wrap:wrap;flex:none;align-items:center;gap:6px;display:flex}.skill-badge-on{border-color:color-mix(in srgb, var(--green) 45%, var(--border));color:var(--green)}@media (width<=640px){.skills-shell{flex-direction:column;display:flex;overflow:auto}.skills-list-col{border-bottom:1px solid var(--border);flex:none}.skills-list-scroll{flex:none;max-height:42vh;overflow:visible}.skills-list-resizer{display:none}.skills-detail{flex:none;overflow:visible}}.skills-tabbar{flex:none;gap:4px;display:flex}.skills-tabbar>.skills-tab{text-align:center;flex:1 1 0;min-width:0;padding:2px 6px;font-size:12.5px}.skills-tab-count{color:var(--text-faint);font-variant-numeric:tabular-nums;margin-left:4px;font-size:11px}.skills-tabbar>.skills-tab-on .skills-tab-count{color:var(--text-dim)}.skills-select-toggle{border:1px solid var(--border);color:var(--text-faint);font:inherit;cursor:pointer;background:0 0;border-radius:999px;flex:none;padding:0 8px;font-size:12px}.skills-select-toggle:hover{color:var(--text)}.skills-select-toggle-on{background:color-mix(in srgb, var(--accent) 12%, var(--bg));border-color:color-mix(in srgb, var(--accent) 45%, var(--border));color:var(--text)}.skill-item-pick>input[type=checkbox]{pointer-events:none;width:13px;height:13px;accent-color:var(--accent);flex:none;margin:0}.skill-item-picked{background:color-mix(in srgb, var(--accent) 10%, var(--bg));border-color:color-mix(in srgb, var(--accent) 35%, var(--border))}.skills-batch{border-top:1px dashed var(--border);flex-direction:column;flex:none;gap:4px;margin-top:auto;padding-top:6px;display:flex}.skills-batch-row{flex-wrap:wrap;gap:4px;display:flex}.skills-batch-row>.btn{flex:1 1 0;min-width:0;padding:2px 6px;font-size:12px}.skills-tabs{flex-wrap:wrap;flex:none;gap:6px;display:flex}.skills-tab{border:1px solid var(--border);background:var(--bg-soft);color:var(--text-dim);font:inherit;cursor:pointer;border-radius:8px;padding:3px 12px;font-size:13px}.skills-tab:hover{color:var(--text)}.skills-tab-on{background:color-mix(in srgb, var(--accent) 12%, var(--bg));border-color:color-mix(in srgb, var(--accent) 45%, var(--border));color:var(--text);font-weight:600}.skills-hub{flex-direction:column;gap:10px;min-width:0;display:flex}.skills-hub-search{flex:none;gap:6px;display:flex}.skills-hub-search>.skills-input{flex:auto;padding:6px 10px;font-size:13.5px}.skills-hub-cats{flex-wrap:wrap;flex:none;gap:6px;display:flex}.skills-cat{border:1px solid var(--border);background:var(--bg-soft);color:var(--text-dim);font:inherit;cursor:pointer;border-radius:999px;padding:2px 12px;font-size:12.5px}.skills-cat:hover{color:var(--text)}.skills-cat-on{background:color-mix(in srgb, var(--accent) 14%, var(--bg));border-color:color-mix(in srgb, var(--accent) 45%, var(--border));color:var(--text);font-weight:600}.skills-hub-meta{flex-wrap:wrap;flex:none;align-items:center;gap:8px;display:flex}.skills-hub-list{flex-direction:column;gap:8px;min-width:0;display:flex}.skill-card{border:1px solid var(--border);background:var(--bg-soft);border-radius:10px;flex-direction:column;gap:6px;min-width:0;padding:9px 11px;display:flex}.skill-card:hover{background:var(--bg-elev-2)}.skill-card-head{flex-wrap:wrap;align-items:baseline;gap:6px;display:flex}.skill-card-name{color:var(--text);overflow-wrap:anywhere;font-size:14.5px;font-weight:600}.skill-card-desc{color:var(--text-dim);-webkit-line-clamp:3;overflow-wrap:anywhere;-webkit-box-orient:vertical;margin:0;font-size:12.5px;line-height:1.65;display:-webkit-box;overflow:hidden}.skill-card-foot{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.skills-hub-more{flex:none;justify-content:center;display:flex}.skills-install-pane{flex-direction:column;gap:8px;min-width:0;display:flex}.skills-row{flex-wrap:wrap;flex:none;align-items:center;gap:6px;display:flex}.skills-row>.skills-input{flex:260px}.skills-textarea{resize:vertical;min-height:150px;font-family:var(--mono);font-size:12.5px;line-height:1.6}.skills-repo-list{border:1px solid var(--border);background:var(--bg-soft);border-radius:10px;flex-direction:column;gap:4px;min-width:0;max-height:min(46vh,420px);padding:8px 10px;display:flex;overflow:auto}.skills-repo-row{border-top:1px solid color-mix(in srgb, var(--border) 60%, transparent);align-items:center;gap:8px;min-width:0;padding:3px 0;display:flex}.skills-repo-row:first-of-type{border-top:none}@media (width<=640px){.skills-row>.skills-input{flex:100%}.skill-card-desc{-webkit-line-clamp:4}}.messages{gap:var(--gap);flex-direction:column;min-width:0;padding-top:32px;display:flex}.is-mobile-shell .messages{padding-top:24px}.more-before{color:var(--text-faint);text-align:center;font-size:14px}.md{overflow-wrap:anywhere;word-break:break-word;min-width:0}.md p{margin:0 0 8px}.md p:last-child{margin-bottom:0}.md pre{background:var(--bg-elev-2);border:1px solid var(--border);border-radius:8px;max-width:100%;padding:8px 10px;overflow-x:auto}.md code{font-family:var(--mono);background:var(--bg-elev-2);border-radius:4px;padding:1px 4px;font-size:14.5px}.md pre code{background:0 0;padding:0}.md-link{color:var(--accent)}.tool{border:1px solid var(--border-strong);background:var(--bg-elev);border-radius:8px;min-width:0;padding:6px 10px}.tool-head{cursor:pointer;flex-wrap:nowrap;align-items:baseline;gap:8px;min-width:0;display:flex;overflow:hidden}.tool-name{color:var(--accent);font-family:var(--mono);flex:none;font-size:14.5px}.tool-args{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-dim);font-family:var(--mono);flex:0 auto;font-size:14.5px;overflow:hidden}.tool-status{color:var(--text-faint);flex:none;margin-left:auto;font-size:14px}.tool-status-ok{color:var(--green)}.tool-status-running{color:var(--accent);align-items:center;gap:6px;font-weight:600;display:inline-flex}.tool-spinner{border:2px solid color-mix(in srgb, var(--accent) 30%, transparent);border-top-color:var(--accent);border-radius:50%;flex:none;width:12px;height:12px;animation:.8s linear infinite tool-spin}@keyframes tool-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.tool-spinner{animation-duration:2.4s}}.tool-status-failed{color:var(--red)}.tool-output{background:var(--bg);white-space:pre-wrap;overflow-wrap:anywhere;max-height:260px;color:var(--text-dim);border-radius:6px;margin:8px 0 0;padding:8px 10px;font-size:14.5px;overflow:auto}.tool-command{border:1px solid var(--border);background:var(--bg);border-radius:6px;margin-top:8px;overflow:hidden}.tool-command-head{align-items:center;gap:8px;padding:2px 8px 0;display:flex}.tool-command-label{color:var(--text-faint);font-size:13.5px}.tool-command-copy{margin-left:auto}.tool-command-text{white-space:pre-wrap;overflow-wrap:anywhere;max-height:220px;font-family:var(--mono);color:var(--text);-webkit-user-select:text;user-select:text;margin:0;padding:4px 8px 8px;font-size:14.5px;overflow:auto}.tool-truncated{color:var(--amber);margin-top:6px;font-size:14px}.block-error{border:1px solid var(--red);color:var(--text);background:color-mix(in srgb, var(--red) 12%, transparent);overflow-wrap:anywhere;border-radius:8px;gap:8px;min-width:0;padding:8px 10px;display:flex}.block-error-code{font-family:var(--mono);color:var(--red);flex:none;font-size:14.5px}.composer-wrap{flex-direction:column;flex:none;gap:6px;min-width:0;display:flex}.quick-row{flex-wrap:wrap;gap:6px;min-width:0;display:flex}.quick-chip{touch-action:manipulation;-webkit-user-select:none;user-select:none;background:var(--bg-elev);max-width:100%;color:var(--text-dim);border:1px solid var(--border);font:inherit;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;border-radius:7px;flex:none;padding:3px 10px;font-size:13px;overflow:hidden}.quick-chip:hover:not(:disabled){border-color:var(--accent-dim);color:var(--text)}.quick-chip:disabled{opacity:.45;cursor:not-allowed}.settings-stack{flex-direction:column;gap:12px;width:100%;min-width:0;max-width:820px;margin:0;padding:16px;display:flex}.settings-panel{border:1px solid var(--border);background:var(--bg-elev);border-radius:12px;flex-direction:column;flex:none;gap:10px;min-width:0;padding:14px 16px;display:flex}.settings-head{color:var(--text);align-items:baseline;gap:8px;font-size:15px;font-weight:600;display:flex}.settings-sub{color:var(--text-faint);font-size:13px;font-weight:400}.settings-toggle{color:var(--text-dim);align-items:center;gap:6px;font-size:14.5px;display:flex}.settings-textarea{resize:vertical;background:var(--bg);width:100%;min-height:96px;max-height:240px;color:var(--text);border:1px solid var(--border);font:inherit;border-radius:8px;padding:8px 10px;font-size:14.5px;line-height:1.55}.settings-hint{color:var(--text-faint);overflow-wrap:anywhere;font-size:13px;line-height:1.5}.settings-actions{justify-content:flex-end;gap:8px;display:flex}.settings-row{flex-wrap:wrap;align-items:center;gap:8px 14px;display:flex}.settings-field{color:var(--text-dim);align-items:center;gap:5px;font-size:14.5px;display:inline-flex}.settings-number{background:var(--bg);width:58px;height:30px;color:var(--text);border:1px solid var(--border);font:inherit;font-variant-numeric:tabular-nums;text-align:right;border-radius:8px;padding:0 8px;font-size:14.5px}.settings-number:focus{border-color:var(--accent-dim);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 12%, transparent);outline:none}.btn-tiny{padding:3px 8px;font-size:14px}.action-row{flex-wrap:wrap;align-items:center;gap:6px;min-width:0;margin-top:2px;margin-bottom:0;display:flex}.action-btn{background:var(--bg-elev-2);max-width:100%;color:var(--text);border:1px solid var(--accent-dim);font:inherit;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;border-radius:8px;flex:none;padding:5px 12px;font-size:14.5px;overflow:hidden}.action-btn:hover:not(:disabled){background:var(--accent-dim);border-color:var(--accent)}.action-btn:disabled{opacity:.45;cursor:not-allowed}.attach-row{flex-wrap:wrap;align-items:center;gap:6px;min-width:0;display:flex}.attach-chip{background:var(--bg-elev);border:1px solid var(--border-strong);max-width:100%;color:var(--text-dim);border-radius:8px;align-items:center;gap:6px;min-width:0;padding:3px 6px 3px 3px;font-size:14px;display:inline-flex}.attach-thumb{object-fit:cover;border:1px solid var(--border);border-radius:5px;flex:none;width:28px;height:28px}.attach-kind{flex:none;padding:0 4px}.attach-name{text-overflow:ellipsis;white-space:nowrap;flex:0 auto;min-width:0;overflow:hidden}.attach-size{color:var(--text-faint);flex:none}.attach-remove{color:var(--text-faint);cursor:pointer;background:0 0;border:none;flex:none;padding:0 2px;font-size:16px;line-height:1}.attach-remove:hover{color:var(--red)}.attach-hint{color:var(--text-faint);font-size:14px}.attach-error{color:var(--red);overflow-wrap:anywhere;font-size:14px}.btn-queue{background:var(--bg-elev-2);border:1px solid var(--border);color:var(--text-dim);cursor:pointer;border-radius:8px;padding:6px 10px;font-size:14.5px}.btn-queue:hover{color:var(--text);border-color:var(--accent-dim)}.tool-image-wrap{width:fit-content;max-width:100%;margin:2px 0;display:block}.tool-image{border:1px solid var(--border);background:var(--bg);border-radius:8px;max-width:100%;max-height:360px;display:block}.tool-image-wrap:hover .tool-image{border-color:var(--accent-dim)}.tool:has(.tool-image-wrap)>details{margin-bottom:2px}.action-think{font-style:normal}.action-think:disabled{opacity:.45;cursor:not-allowed}.action-row-host{margin-right:14px;margin-bottom:max(0px, calc(8px - var(--gap)));flex:none;padding:0 12px}.action-row-host:empty{display:none}.newchat-hero{flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:100%;padding:24px 12px;display:flex}.newchat-meta{flex-direction:column;gap:6px;min-width:0;display:flex}.newchat-brand{align-items:center;gap:10px;min-width:0;display:flex}.newchat-icon{border-radius:10px;flex:none;width:38px;height:38px}.newchat-brand-text{flex-direction:column;gap:1px;min-width:0;display:flex}.newchat-name{color:var(--text);white-space:nowrap;font-size:22px;font-weight:700;line-height:1.15}.newchat-versions{color:var(--text-faint);white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;line-height:1.3;overflow:hidden}.newchat-version-link{color:inherit;border-bottom:1px solid #0000;text-decoration:none}.newchat-version-link:hover{color:var(--text-dim);border-bottom-color:currentColor}.newchat-version-link:focus-visible{outline:2px solid var(--accent,currentColor);outline-offset:2px;border-radius:3px}.newchat-version-badge{border:1px solid var(--red);color:var(--red);white-space:nowrap;border-radius:999px;margin-left:5px;padding:0 5px;font-size:11px;font-weight:600;line-height:1.5;display:inline-block;position:relative;top:-1px}.newchat-hello{color:var(--text-dim);text-align:center;margin:0;font-size:24px;font-weight:600;line-height:1.4}.is-mobile-shell .newchat-hero{gap:14px;padding:16px 8px}.is-mobile-shell .newchat-hello{font-size:21px}.btn.btn-send,.btn.btn-queue,.btn.btn-stop{border-radius:8px;justify-content:center;min-width:72px;min-height:30px;padding:6px 14px;font-size:14.5px;line-height:1.4}.btn.btn-queue{background:color-mix(in srgb, var(--yellow,#d9a441) 16%, var(--bg-elev));border-color:color-mix(in srgb, var(--yellow,#d9a441) 55%, var(--border));color:color-mix(in srgb, var(--yellow,#d9a441) 78%, var(--text))}.btn.btn-queue:hover:not(:disabled){background:color-mix(in srgb, var(--yellow,#d9a441) 26%, var(--bg-elev));border-color:var(--yellow,#d9a441)}.btn.btn-stop{background:color-mix(in srgb, var(--red) 14%, var(--bg-elev));border-color:var(--red);color:var(--red)}.btn.btn-stop:hover:not(:disabled){background:color-mix(in srgb, var(--red) 24%, var(--bg-elev))}.status-folder{width:12px;height:12px;color:var(--text-dim);flex:none;display:block}.status-path:hover .status-folder{color:var(--text)}.status-toggle{color:var(--text-faint);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:5px;align-items:center;gap:2px;padding:0 3px;font-size:10px;display:inline-flex}.status-toggle-icon{text-align:center;width:10px;font-size:11px;line-height:1;display:inline-block}.status-toggle:hover{color:var(--text);background:var(--bg-elev-2)}.is-mobile-shell .statusbar{scrollbar-width:none;white-space:nowrap;overflow-x:auto}.is-mobile-shell .statusbar::-webkit-scrollbar{display:none}.is-mobile-shell .statusbar .status-conv{display:none}.status-context-wrap{display:inline-flex;position:relative}.status-usage-pop{z-index:60;border:1px solid var(--border-strong,var(--border));background:var(--bg-elev);border-radius:10px;flex-direction:column;gap:4px;min-width:200px;max-width:calc(100vw - 16px);padding:8px 10px;display:flex;position:fixed;bottom:46px;right:auto;box-shadow:0 12px 32px #00000059}.status-usage-title{color:var(--text-dim);border-bottom:1px solid var(--border);padding-bottom:4px;font-size:11px;font-weight:600}.status-usage-row{color:var(--text-faint);justify-content:space-between;gap:16px;font-size:11.5px;display:flex}.is-mobile-shell .status-usage-pop-full{width:auto;max-width:none;left:8px;right:8px;bottom:calc(32px + env(safe-area-inset-bottom,0px) + 8px);border-radius:12px}.is-mobile-shell .status-usage-note{max-width:none}.status-usage-row .mono{color:var(--text)}.status-usage-note{border-top:1px dashed var(--border);white-space:normal;color:var(--text-faint);max-width:260px;margin-top:2px;padding-top:6px;font-size:10.5px;line-height:1.5}.status-usage-note b{color:var(--text-dim);font-weight:600}.is-mobile-shell .statusbar{justify-content:flex-start;gap:10px;height:32px;padding:0 0 0 10px;font-size:13px}.is-mobile-shell .statusbar>.status-toggle{margin-left:auto;padding:0 4px;font-size:12px;position:static;transform:none}.is-mobile-shell .statusbar .tool-chip{height:22px;padding:0 5px;font-size:13px;line-height:22px}.is-mobile-shell .statusbar .tool-chip .tool-icon,.is-mobile-shell .statusbar .thinking-value{font-size:13px}.is-mobile-shell .statusbar .model-caret{font-size:11px}.is-mobile-shell .statusbar>.status-spacer,.is-mobile-shell .statusbar .status-ico,.is-mobile-shell .statusbar .status-queued,.is-mobile-shell .statusbar .status-running{display:none}.is-mobile-shell .statusbar>.status-path{text-overflow:ellipsis;white-space:nowrap;flex:0 auto;min-width:0;max-width:42vw;overflow:hidden}.status-running{align-items:center;gap:5px;display:inline-flex}.status-spinner{border:1.4px solid var(--border-strong,var(--border));border-radius:50%;flex:none;width:8px;height:8px}.status-running.is-working .status-spinner{border-color:color-mix(in srgb, var(--accent) 28%, transparent);border-top-color:var(--accent);animation:.8s linear infinite status-spin}@keyframes status-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.status-running.is-working .status-spinner{border-color:var(--accent);animation:none}}.status-context{color:var(--text-dim);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:0;flex:none;align-items:center;gap:5px;padding:0 2px;font-size:12px;line-height:1.1;display:inline-flex}.status-context:hover{color:var(--text)}.status-ring{flex:none;width:12px;height:12px;transform:rotate(-90deg)}.status-ring-bg{fill:none;stroke:var(--border);stroke-width:2.6px}.status-ring-fg{fill:none;stroke:var(--accent);stroke-width:2.6px;stroke-linecap:round;transition:stroke-dasharray .2s ease-out}.status-context-used{color:var(--text);font-variant-numeric:tabular-nums;font-weight:650}.status-context-total{color:var(--text-faint);font-variant-numeric:tabular-nums}.is-mobile-shell .status-context{padding:2px 7px 2px 5px;font-size:12.5px}.is-mobile-shell .status-ring{width:15px;height:15px}@media (width<=380px){.statusbar .status-toggle-label,.statusbar .status-context-total{display:none}.statusbar>.status-path{max-width:34vw}}.status-controls{flex:none;align-items:center;gap:5px;min-width:0;display:inline-flex}.statusbar .tool-chip{height:17px;color:var(--text-dim);background:0 0;border:none;border-radius:5px;padding:0 3px;font-size:11.5px;line-height:17px}.statusbar .tool-chip:hover:not(:disabled){background:var(--bg-elev-2);color:var(--text)}.statusbar .tool-chip-warn{color:var(--yellow,#d9a441);border:none}.statusbar .tool-chip .tool-icon{font-size:11px}.statusbar .model-trigger{max-width:190px}.statusbar .thinking-value{font-size:11.5px}.statusbar .model-caret{font-size:10px}.push-panel{flex-direction:column;gap:10px;min-height:0;display:flex}.push-head,.push-foot{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.push-list{flex-direction:column;gap:8px;min-height:0;display:flex;overflow:auto}.push-row{border:1px solid var(--border);background:var(--bg);border-radius:10px;align-items:center;gap:10px;padding:10px 12px;display:flex}.push-row-on{border-color:color-mix(in srgb, var(--accent) 45%, var(--border))}.push-row-main{flex:auto;min-width:0}.push-row-name{font-size:15px;font-weight:600}.push-row-meta{color:var(--text-faint);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;overflow:hidden}.push-row-endpoint{color:var(--text-faint);word-break:break-all;-webkit-user-select:text;user-select:text;font-size:12.5px;line-height:1.35}.is-mobile-shell .push-row-endpoint{display:none}.push-env,.push-devices{border:1px solid var(--border);background:var(--bg-elev);border-radius:10px;flex-direction:column;gap:8px;padding:10px 12px;display:flex}.push-devices .push-list{max-height:46vh}.push-env-title{color:var(--text);font-size:14.5px;font-weight:650}.push-env-chips{flex-wrap:wrap;gap:6px;display:flex}.push-env-chip{border:1px solid var(--border);background:var(--bg);color:var(--text-dim);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:3px 8px;font-size:13.5px;display:inline-flex}.push-env-chip em{font-style:normal;font-weight:600}.push-tag-ok{color:var(--green,#1a9f5b)}.push-tag-off{color:var(--text-faint)}.push-env-actions{flex-wrap:wrap;gap:6px;display:flex}.push-env-actions .btn-primary-tiny{border-color:color-mix(in srgb, var(--accent) 55%, var(--border));background:color-mix(in srgb, var(--accent) 14%, transparent);color:var(--accent);font-weight:600}.sent-queue{border:1px solid var(--border);background:var(--bg-elev);border-radius:10px;flex-direction:column;gap:4px;padding:6px 10px;font-size:14px;display:flex}.sent-queue-head{color:var(--text-faint);align-items:center;gap:6px;font-size:13.5px;display:flex}.sent-item{align-items:center;gap:8px;min-width:0;display:flex}.sent-tag{border:1px solid var(--accent-dim);color:var(--accent);border-radius:6px;flex:none;padding:0 7px;font-size:12.5px;line-height:1.6}.sent-tag-queue{border-color:var(--border-strong);color:var(--text-faint)}.sent-tag-steer{border-color:var(--accent-dim);color:var(--accent)}.msg-steer-mark{background:color-mix(in srgb, var(--accent) 6%, var(--bg-elev));padding:0 6px;font-size:11px;line-height:1.5;position:absolute;bottom:5px;right:8px}.sent-text{text-overflow:ellipsis;white-space:nowrap;color:var(--text-dim);overflow:hidden}.pending-sends{flex-direction:column;gap:6px;display:flex}.pending-item{opacity:.85;border-style:dashed}.pending-item .msg-head{margin-bottom:2px}.pending-queue{opacity:.7}.msg{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);min-width:0;padding:10px 12px}.msg-user{border-color:color-mix(in srgb, var(--accent) 28%, var(--border));background:color-mix(in srgb, var(--accent) 13%, transparent)}.msg-head{color:var(--text-faint);align-items:baseline;gap:8px;margin-bottom:6px;font-size:14px;display:flex}.msg-role{color:var(--text-dim);font-weight:600}.msg-model{color:var(--accent);text-overflow:ellipsis;white-space:nowrap;max-width:60%;font-size:14px;font-weight:600;overflow:hidden}.msg-live{white-space:nowrap;align-items:center;gap:6px;font-size:12px;line-height:1.5;display:inline-flex}.msg-live-tokens{color:var(--text-dim);font-variant-numeric:tabular-nums;align-items:baseline;gap:3px;font-size:12px;display:inline-flex}.msg-live-arrow{color:var(--text-dim);letter-spacing:0;font-size:10.5px}.msg-live-rate{background:var(--speed-bg);color:var(--speed-fg);font-variant-numeric:tabular-nums;border-radius:6px;padding:1px 7px;font-size:12px;font-weight:600}.msg-body{flex-direction:column;gap:8px;min-width:0;display:flex}.msg-user{border-radius:12px;align-self:flex-end;width:auto;max-width:82%}.msg-assistant{background:0 0;border-color:#0000;padding-left:0;padding-right:0}.msg{position:relative}.msg.msg-user{background:0 0;border:none;padding:0}.msg-user>.msg-bubble{border:1px solid color-mix(in srgb, var(--accent) 28%, var(--border));background:color-mix(in srgb, var(--accent) 13%, transparent);border-radius:12px 12px 4px;padding:10px 12px;position:relative}.msg-user.msg-steer>.msg-bubble{padding-bottom:26px}.msg-user-foot{justify-content:flex-end;align-items:center;gap:6px;min-width:0;margin-top:4px;display:flex}.msg-user-foot>.msg-action,.msg-user-foot>.msg-foot-copy{opacity:0;transition:opacity .12s}.msg:hover .msg-user-foot>.msg-action,.msg:hover .msg-user-foot>.msg-foot-copy,.msg-user-foot:focus-within>.msg-action,.msg-user-foot:focus-within>.msg-foot-copy,.is-mobile-shell .msg-user-foot>.msg-action,.is-mobile-shell .msg-user-foot>.msg-foot-copy{opacity:1}.msg-head .msg-action{padding:1px 6px;font-size:13px}.msg-action{border:1px solid var(--border);background:var(--bg-elev);color:var(--text-faint);font:inherit;cursor:pointer;white-space:nowrap;border-radius:7px;padding:2px 8px;font-size:13.5px}.msg-action:hover{color:var(--text);border-color:var(--accent-dim)}.msg-action.is-copied,.msg-action.is-copied:hover,.msg-foot-copy.is-copied,.msg-foot-copy.is-copied:hover{color:var(--green);border-color:color-mix(in srgb, var(--green) 45%, transparent);background:color-mix(in srgb, var(--green) 10%, transparent)}.msg-user-foot>.msg-action,.msg-user-foot>.msg-foot-copy{color:color-mix(in srgb, var(--text-faint) 72%, var(--bg));background:0 0;border:0;border-radius:4px;padding:0;font-size:11.5px;line-height:1.6}.msg-user-foot>.msg-action:hover,.msg-user-foot>.msg-foot-copy:hover{color:var(--text-dim);background:0 0;border:0}.msg-user-foot>.msg-action.is-copied,.msg-user-foot>.msg-action.is-copied:hover{color:var(--green);background:0 0}.notice{align-items:flex-start;gap:8px;display:flex}.notice-text{overflow-wrap:anywhere;flex:auto;min-width:0}.notice-close{width:18px;height:18px;color:var(--text-faint);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:4px;flex:none;justify-content:center;align-items:center;padding:0;font-size:15px;line-height:1;display:inline-flex}.notice-close:hover{background:var(--bg-elev-2);color:var(--text)}.msg-tools-toggle{border:1px solid color-mix(in srgb, var(--accent) 45%, var(--border));background:color-mix(in srgb, var(--accent) 16%, var(--bg));color:var(--text-dim);font:inherit;cursor:pointer;border-radius:8px;flex-wrap:wrap;align-self:flex-start;align-items:center;gap:8px;max-width:100%;padding:6px 12px;font-size:14.5px;transition:color .12s,border-color .12s,background .12s;display:inline-flex}.msg-tools-toggle:hover{color:var(--text);border-color:var(--accent);background:color-mix(in srgb, var(--accent) 20%, var(--bg))}.msg-process,.msg-process-body{flex-direction:column;gap:8px;min-width:0;display:flex}.process-group{border-left:2px solid var(--accent-dim);background:color-mix(in srgb, var(--accent) 4%, transparent);border-radius:6px;flex-direction:column;gap:6px;min-width:0;padding:6px 8px 6px 10px;display:flex}.process-group .thinking-block,.process-group .tool{background:0 0;border:0;transition:background .12s}.process-group .thinking-block:hover,.process-group .tool:hover{background:color-mix(in srgb, var(--text) 2%, transparent)}.msg-process-chevron{border-bottom:1.8px solid;border-right:1.8px solid;width:7px;height:7px;margin-left:4px;transition:transform .12s;display:none;transform:rotate(-45deg)}.msg-process-chevron-open{transform:rotate(45deg)}.msg-tools-toggle>*{white-space:nowrap}.msg-process-meta{color:inherit;font-variant-numeric:tabular-nums}.msg-process-time{color:color-mix(in srgb, var(--text-dim) 65%, var(--text-faint))}.msg-tools-caret{border-top:5px solid #0000;border-bottom:5px solid #0000;border-left:5px solid;flex:none;width:0;height:0;transition:transform .12s}.msg-tools-caret-open{transform:rotate(90deg)}.msg-activity{min-width:0;color:var(--text-dim);align-items:center;gap:8px;margin-top:10px;font-size:14px;display:flex}.msg-activity-spinner{border:2px solid color-mix(in srgb, var(--accent) 30%, transparent);border-top-color:var(--accent);border-radius:50%;flex:none;width:11px;height:11px;animation:.8s linear infinite tool-spin}@media (prefers-reduced-motion:reduce){.msg-activity-spinner{animation-duration:2.4s}}.msg-activity-label{white-space:nowrap;flex:none}.msg-activity-tool{color:var(--accent);font-size:14px}.msg-activity-args{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-faint);flex:auto;font-size:13.5px;overflow:hidden}.msg-activity-time{color:var(--text-faint);font-variant-numeric:tabular-nums;flex:none;margin-left:auto;font-size:13.5px}.thinking-block{border:1px solid var(--border);background:var(--bg-elev);border-radius:8px;overflow:hidden}.thinking-index{background:color-mix(in srgb, var(--accent) 12%, transparent);min-width:18px;color:var(--accent);font-variant-numeric:tabular-nums;text-align:center;border-radius:4px;flex:none;padding:0 4px;font-size:12.5px;line-height:1.5}.thinking-head{width:100%;color:var(--text-faint);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;min-width:0;padding:4px 8px;font-size:14px;display:flex}.thinking-head:hover{color:var(--text-dim)}.thinking-preview{white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.thinking-preview-track{text-overflow:ellipsis;display:block;overflow:hidden}.thinking-preview-marquee .thinking-preview-track{text-overflow:clip;transform:translateX(var(--marquee-from,0));animation:thinking-marquee var(--marquee-duration,16s) linear 1 forwards;display:inline-block;overflow:visible}@keyframes thinking-marquee{0%{transform:translateX(var(--marquee-from,0))}to{transform:translateX(var(--marquee-to,-100%))}}.thinking-preview-marquee:hover .thinking-preview-track{animation-play-state:paused}.thinking-caret{flex:none;font-size:12px}.thinking-label{color:var(--text-dim);flex:none;font-weight:600}.thinking-duration{color:var(--text-faint);font-variant-numeric:tabular-nums;flex:none;font-size:13px}.thinking-body{border-top:1px solid var(--border);color:var(--text-dim);white-space:pre-wrap;overflow-wrap:anywhere;padding:6px 10px 8px;font-size:14px;line-height:1.6}.msg-foot{border-top:1px dashed var(--border);color:var(--text-faint);align-items:center;gap:10px;min-width:0;margin-top:6px;padding-top:4px;font-size:13px;display:flex}.msg-assistant{padding-bottom:4px}.msg-usage{font-variant-numeric:tabular-nums;white-space:nowrap;flex:none;align-items:center;gap:7px;display:inline-flex}.msg-usage-item{flex:none;align-items:center;gap:3px;display:inline-flex}.msg-usage-tag{background:var(--bg-elev-2);height:13px;color:var(--text-dim);letter-spacing:.1px;border-radius:4px;flex:none;place-items:center;padding:0 3.5px;font-size:10px;font-weight:600;line-height:1;display:inline-grid}.msg-usage-waiting{color:var(--text-faint);font-size:13px}.msg-foot-copy{color:var(--text-faint);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:5px;flex:none;padding:0 2px;font-size:11.5px;line-height:1.4}.msg-foot-copy:hover{color:var(--text-dim);background:0 0}.msg-foot-stamp{font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--text-faint);opacity:.72;flex:none;font-size:11.5px}.msg-foot-stamp-short{display:none}@media (width<=600px){.msg-foot{flex-wrap:wrap;gap:4px 6px;font-size:11.5px}.msg-usage{text-overflow:ellipsis;flex:auto;gap:5px;min-width:0;overflow:hidden}.msg-usage-item{gap:2px}.msg-usage-tag{height:12px;padding:0 2.5px;font-size:9px}.msg-foot>.msg-foot-stamp{margin-left:auto}.msg-foot-stamp{font-size:10px}.msg-foot-stamp-full{display:none}.msg-foot-stamp-short{display:inline}.msg-user-foot>.msg-action,.msg-user-foot>.msg-foot-copy,.msg-foot-copy{font-size:10.5px}}.msg-files{border-top:1px dashed var(--border);flex-wrap:wrap;align-items:center;gap:6px;min-width:0;margin-top:10px;padding-top:8px;display:flex}.msg-files-label{color:var(--text-faint);flex:none;margin-right:2px;font-size:12.5px}.msg-file{border:1px solid var(--border);background:var(--bg-elev);max-width:100%;color:var(--text-dim);font:inherit;cursor:pointer;border-radius:8px;align-items:center;gap:6px;min-width:0;padding:2px 8px 2px 6px;font-size:13px;display:inline-flex}.msg-file:hover:not(:disabled){border-color:color-mix(in srgb, var(--accent) 45%, var(--border));color:var(--text);background:var(--bg-elev-2)}.msg-file-off{cursor:default;opacity:.55}.msg-file-badge{font-family:var(--mono);letter-spacing:.02em;border:1px solid var(--border);color:var(--text-faint);text-align:center;border-radius:4px;flex:none;min-width:20px;padding:3px 3px 2px;font-size:9.5px;line-height:1}.msg-file-badge-code{border-color:color-mix(in srgb, var(--accent) 40%, var(--border));color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, transparent)}.msg-file-badge-style{border-color:color-mix(in srgb, var(--amber) 40%, var(--border));color:var(--amber);background:color-mix(in srgb, var(--amber) 8%, transparent)}.msg-file-badge-text{border-color:var(--border);color:var(--text-faint)}.msg-file-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.is-mobile-shell .msg-files{scrollbar-width:none;flex-wrap:nowrap;padding-bottom:4px;overflow-x:auto}.is-mobile-shell .msg-files::-webkit-scrollbar{display:none}.is-mobile-shell .msg-files-label{background:var(--bg);z-index:1;padding-right:6px;position:sticky;left:0}.is-mobile-shell .msg-file{flex:none}.file-panel{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elev);flex-direction:column;flex:none;gap:6px;width:260px;min-width:0;min-height:0;padding:8px;display:flex}.file-panel-head{flex:none;align-items:center;gap:6px;font-weight:600;display:flex}.chip-on{border-color:var(--accent-dim);color:var(--accent)}.filetree{flex-direction:column;flex:auto;gap:1px;min-width:0;min-height:0;display:flex;overflow:auto}.filetree-root{color:var(--text-faint);overflow-wrap:anywhere;padding:2px 4px 6px;font-size:13.5px}.filetree-row{width:100%;color:var(--text-dim);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:6px;min-width:0;padding:3px 6px;font-size:14.5px;display:flex}.filetree-row:hover{background:var(--bg-elev-2);color:var(--text)}.filetree-icon{width:10px;color:var(--text-faint);flex:none}.filetree-folder{width:15px;height:15px;color:var(--text-faint);flex:none;margin-left:-1px;margin-right:-1px;display:block}.filetree-folder-open{color:var(--text-dim)}.filetree-row.filetree-dir.filetree-modified .filetree-folder,.filetree-row.filetree-dir.filetree-deleted .filetree-folder,.filetree-row.filetree-dir.filetree-conflicted .filetree-folder,.filetree-row.filetree-dir.filetree-added .filetree-folder,.filetree-row.filetree-dir.filetree-untracked .filetree-folder,.filetree-row.filetree-dir.filetree-renamed .filetree-folder{color:color-mix(in srgb, var(--text) 72%, var(--amber))}.filetree-dir .filetree-icon{margin-right:-3px}.filetree-name{text-overflow:ellipsis;white-space:nowrap;flex:0 auto;min-width:0;overflow:hidden}.filetree-hint,.filetree-empty{color:var(--text-faint);font-size:14px}.filetree-error,.file-preview-error{color:var(--red);overflow-wrap:anywhere;font-size:14px}.file-preview{flex-direction:column;width:min(920px,94vw);max-height:86vh;display:flex}.file-preview-head{align-items:center;gap:8px;min-width:0;margin-bottom:8px;display:flex}.file-preview-path{text-overflow:ellipsis;white-space:nowrap;flex:0 auto;min-width:0;font-size:14.5px;overflow:hidden}.file-preview-meta{color:var(--text-faint);flex:none;font-size:13.5px}.file-preview-body{background:var(--bg);border:none;border-radius:0;min-height:0;margin:0;padding:8px 10px;font-size:14.5px;line-height:1.55;overflow:auto}.file-preview-line{white-space:pre;gap:10px;display:flex}.file-preview-no{text-align:right;width:3.2em;color:var(--text-faint);-webkit-user-select:none;user-select:none;flex:none}.file-preview-text{overflow-wrap:anywhere;flex:auto;min-width:0}.file-preview-line-on{background:color-mix(in srgb, var(--accent) 18%, transparent)}.file-preview-no{cursor:pointer;color:var(--text-faint);font:inherit;background:0 0;border:none;padding:0 4px 0 0}.file-preview-no:hover{color:var(--accent)}.file-preview-selection{color:var(--text-faint);flex:none;font-size:14px}.file-preview-hint{color:var(--text-faint);margin-top:6px;font-size:14px}.filetree-item{align-items:center;min-width:0;display:flex;position:relative}.filetree-item>.filetree-row{flex:auto;min-width:0;padding-right:54px}.filetree-mention{border:1px solid var(--border);background:var(--bg-elev-2);color:var(--accent);font:inherit;cursor:pointer;white-space:nowrap;border-radius:6px;align-items:center;gap:3px;padding:1px 6px;font-size:13.5px;display:none;position:absolute;top:50%;right:2px;transform:translateY(-50%)}.filetree-item:hover .filetree-mention,.filetree-mention:focus-visible{display:inline-flex}.filetree-mention:hover{border-color:var(--accent-dim);background:var(--bg-elev)}.file-preview{resize:both;min-width:520px;min-height:320px;overflow:hidden}.modal.file-preview-full{resize:none;max-width:none;max-height:none;position:fixed;inset:10px;width:calc(100vw - 20px)!important;height:calc(100vh - 20px)!important}.file-preview-md{background:var(--bg);border:none;border-radius:0;flex:auto;min-height:0;padding:4px 8px 12px;overflow:auto}.preview-mode{border:1px solid var(--border);border-radius:8px;display:inline-flex;overflow:hidden}.preview-mode button{color:var(--text-dim);font:inherit;cursor:pointer;background:0 0;border:none;padding:3px 10px;font-size:14px}.preview-mode-on{background:var(--bg-elev-2);color:var(--text);font-weight:600}.file-preview-line-clickable{cursor:pointer}.file-preview-line-clickable:hover{background:color-mix(in srgb, var(--accent) 8%, transparent)}.file-preview-path{text-overflow:ellipsis;white-space:nowrap;flex:0 auto;min-width:0;max-width:42%;overflow:hidden}.preview-mode button{white-space:nowrap}.file-fold{width:12px;height:12px;color:var(--text-faint);cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border:none;flex:none;justify-content:center;align-items:center;padding:0;font-size:12px;line-height:1;display:inline-flex}.file-fold:hover{color:var(--accent)}.file-fold-empty{cursor:default;visibility:hidden}.file-fold-summary{background:var(--bg-elev-2);color:var(--text-faint);-webkit-user-select:none;user-select:none;border-radius:999px;flex:none;margin-left:8px;padding:0 6px;font-size:12.5px}.file-media{background:#0d1117;border-radius:0;justify-content:center;align-items:center;min-height:0;padding:10px;display:flex;overflow:auto}.file-video{background:#000;border-radius:0;max-width:100%;max-height:min(70vh,620px)}.file-audio{width:min(560px,100%)}.preview-mode-diff{font-variant-numeric:tabular-nums;gap:6px;margin-left:6px;font-size:13px;display:inline-flex}.preview-mode-plus{color:var(--green)}.preview-mode-minus{color:var(--red)}.file-diff{flex-direction:column;min-height:0;padding:10px 12px 14px;display:flex;overflow:auto}.file-diff-summary{border-bottom:1px dashed var(--border);flex:none;align-items:center;gap:10px;margin-bottom:8px;padding-bottom:8px;font-size:14px;display:flex}.file-diff-added{color:var(--green);font-weight:600}.file-diff-removed{color:var(--red);font-weight:600}.file-diff-base{color:var(--text-faint)}.file-diff-empty{color:var(--text-faint);padding:18px 16px;font-size:14.5px}.file-diff-note{color:var(--amber);margin-top:8px;font-size:14px}.file-diff-body{background:0 0;border:none;min-height:0;margin:0;padding:0;font-size:14px;line-height:1.55}.diff-line{white-space:pre-wrap;gap:8px;display:flex}.diff-no{text-align:right;width:3.4em;color:var(--text-faint);-webkit-user-select:none;user-select:none;font-variant-numeric:tabular-nums;flex:none}.diff-no-empty{width:3.4em}.diff-sign{-webkit-user-select:none;user-select:none;flex:none;width:1ch}.diff-text{overflow-wrap:anywhere;flex:auto;min-width:0}.diff-line-add{background:color-mix(in srgb, var(--green) 12%, transparent);box-shadow:inset 3px 0 0 var(--green)}.diff-line-add .diff-sign,.diff-line-add .diff-text{color:var(--green)}.diff-line-del{background:color-mix(in srgb, var(--red) 10%, transparent);box-shadow:inset 3px 0 0 var(--red)}.diff-line-del .diff-sign,.diff-line-del .diff-text{color:var(--red)}.diff-line-hunk{color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, transparent);margin:4px 0;padding:2px 0;font-size:13.5px}.diff-line-meta,.diff-line-note{color:var(--text-faint);font-size:13.5px}.preview-wrap{padding:3px 6px;line-height:0}.preview-wrap svg{width:15px;height:15px}.preview-wrap-on{color:var(--accent);border-color:var(--accent-dim);background:color-mix(in srgb, var(--accent) 8%, transparent)}.file-preview-body-wrap .file-preview-line{white-space:pre-wrap}.filetree-type{width:24px;height:15px;font-family:var(--mono);letter-spacing:.02em;color:var(--text-faint);background:color-mix(in srgb, var(--text-faint) 12%, transparent);border-radius:3px;flex:none;justify-content:center;align-items:center;font-size:9px;font-weight:700;line-height:1;display:inline-flex}.filetype-go{color:#00acd7;background:#00acd724}.filetype-ts{color:#3f8fd4;background:#3f8fd424}.filetype-js{color:#b58b00;background:#d4b1062e}.filetype-json{color:#8a9a00;background:#a5b40029}.filetype-py{color:#4b7bb5;background:#3776ab29}.filetype-sh{color:var(--green);background:color-mix(in srgb, var(--green) 14%, transparent)}.filetype-md{color:var(--text-dim);background:color-mix(in srgb, var(--text-dim) 14%, transparent)}.filetype-style{color:#c06bb8;background:#c06bb824}.filetype-markup{color:#d1723f;background:#d1723f24}.filetype-data{color:#8b74c9;background:#8b74c924}.filetype-sql{color:#3f9c8f;background:#3f9c8f24}.filetype-rs{color:#c1663c;background:#c1663c24}.filetype-jvm{color:#b8743a;background:#b8743a24}.filetype-c{color:#5b7fbd;background:#5b7fbd24}.filetype-text{color:var(--text-faint);background:color-mix(in srgb, var(--text-faint) 12%, transparent)}.filetree-row.filetree-modified .filetree-name{color:var(--amber)}.filetree-row.filetree-added .filetree-name,.filetree-row.filetree-untracked .filetree-name{color:var(--green)}.filetree-row.filetree-deleted .filetree-name{color:var(--red);text-decoration:line-through;text-decoration-thickness:1px}.filetree-row.filetree-renamed .filetree-name{color:var(--accent)}.filetree-row.filetree-conflicted .filetree-name{color:var(--red);font-weight:600}.filetree-row.filetree-dir.filetree-modified .filetree-name,.filetree-row.filetree-dir.filetree-untracked .filetree-name,.filetree-row.filetree-dir.filetree-added .filetree-name,.filetree-row.filetree-dir.filetree-deleted .filetree-name,.filetree-row.filetree-dir.filetree-renamed .filetree-name,.filetree-row.filetree-dir.filetree-conflicted .filetree-name{color:color-mix(in srgb, var(--text) 72%, var(--amber));font-weight:500;text-decoration:none}.filetree-status{font-family:var(--mono);pointer-events:none;padding:0 1px;font-size:11.5px;font-weight:700;line-height:1;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.filetree-item:hover .filetree-status,.filetree-item:focus-within .filetree-status{visibility:hidden}.filetree-status-modified{color:var(--amber)}.filetree-status-added,.filetree-status-untracked{color:var(--green)}.filetree-status-deleted,.filetree-status-conflicted{color:var(--red)}.filetree-status-renamed{color:var(--accent)}.filetree-status-dot{background:currentColor;border-radius:50%;width:6px;height:6px;margin-right:5px}.files-toolbar{flex:none;align-items:center;gap:2px;min-width:0;margin-left:8px;display:flex}.files-tool{width:22px;height:20px;color:var(--text-faint);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:5px;flex:none;justify-content:center;align-items:center;padding:0;font-size:10.5px;line-height:1;display:inline-flex}.files-tool svg{width:14px;height:14px}.files-tool:hover:not(:disabled){color:var(--text);background:var(--bg-elev-2)}.files-tool-on{color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent)}.files-tool:disabled{opacity:.4;cursor:not-allowed}.is-mobile-shell .files-tool-terminal,.is-mobile-shell .files-tool-reveal{display:none}.files-branch{border:1px solid var(--border);max-width:96px;color:var(--text-dim);font:inherit;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;background:0 0;border-radius:5px;flex:none;align-items:center;gap:3px;padding:1px 6px 1px 4px;font-size:10.5px;display:inline-flex;overflow:hidden}.files-branch:hover,.files-branch-open{color:var(--text);border-color:var(--border-strong,var(--border));background:var(--bg-elev-2)}.files-branch:disabled{opacity:.5;cursor:default}.files-branch svg{width:12px;height:12px;color:var(--text-faint);flex:none}.files-branch-menu{width:240px}.files-branch-menu-head{border-bottom:1px solid var(--border);align-items:center;gap:6px;margin-bottom:3px;padding:2px 4px 4px 8px;display:flex}.files-branch-menu-title{min-width:0;color:var(--text-faint);flex:auto;font-size:11px}.files-branch-refresh{width:20px;height:18px;color:var(--text-faint);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:4px;flex:none;padding:0;font-size:12px;line-height:1}.files-branch-refresh:hover{color:var(--accent);background:var(--bg-elev-2)}.files-branch-list{flex-direction:column;gap:1px;display:flex}.files-branch-item{padding:4px 8px 4px 4px;font-size:12.5px}.files-branch-tick{width:12px;color:var(--accent);text-align:center;flex:none;font-size:11px}.files-branch-item-name{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.files-branch-item-current .files-branch-item-name{color:var(--text)}.files-branch-pending{color:var(--text-faint);flex:none;font-size:10.5px}.files-branch-hint{color:var(--text-faint);padding:4px 8px 6px;font-size:11.5px}.files-branch-error{border-top:1px solid var(--border);color:var(--red);word-break:break-word;margin-top:3px;padding:4px 8px;font-size:11px;line-height:1.4}.files-branch-confirm{flex-direction:column;gap:5px;padding:2px 8px 6px;display:flex}.files-branch-confirm-text{color:var(--text-dim);font-size:11.5px;line-height:1.5}.files-branch-confirm-text b{color:var(--text);font-weight:600}.files-branch-confirm-files{color:var(--text-faint);flex-direction:column;gap:1px;margin:0;padding:0;font-family:ui-monospace,monospace;font-size:10.5px;list-style:none;display:flex}.files-branch-confirm-files li{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.files-branch-confirm-more{font-family:inherit}.files-branch-confirm-actions{gap:4px;margin-top:2px;display:flex}.files-branch-btn{border:1px solid var(--border);background:var(--bg-elev);color:var(--text-dim);font:inherit;cursor:pointer;border-radius:5px;flex:auto;padding:3px 6px;font-size:11.5px}.files-branch-btn:hover:not(:disabled){color:var(--text);background:var(--bg-elev-2)}.files-branch-btn:disabled{opacity:.5;cursor:default}.files-branch-btn-primary{border-color:color-mix(in srgb, var(--red) 55%, var(--border));color:var(--red)}.files-branch-btn-primary:hover:not(:disabled){color:var(--red);background:color-mix(in srgb, var(--red) 12%, transparent)}.files-search{border:1px solid var(--border);background:var(--bg-elev);width:100%;color:var(--text);font:inherit;border-radius:7px;outline:none;flex:none;padding:4px 8px;font-size:12px}.files-search:focus{border-color:var(--accent-dim)}.files-search-list{flex-direction:column;flex:auto;gap:1px;min-height:0;display:flex;overflow:auto}.files-search-row{width:100%;color:var(--text-dim);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:5px;align-items:baseline;gap:8px;min-width:0;padding:3px 6px;font-size:12px;display:flex}.files-search-row:hover{background:var(--bg-elev-2);color:var(--text)}.files-search-name{text-overflow:ellipsis;white-space:nowrap;flex:0 auto;overflow:hidden}.files-search-path{min-width:0;color:var(--text-faint);text-overflow:ellipsis;white-space:nowrap;text-align:right;flex:auto;font-size:10.5px;overflow:hidden}.files-search-more{color:var(--text-faint);padding:4px 6px;font-size:10.5px}.preview-panel{background:var(--bg-elev);border:none;border-radius:0;flex-direction:column;flex:none;gap:6px;min-height:0;padding:6px;display:flex;position:relative}.preview-panel-full{z-index:30;height:calc(100vh - 20px);position:fixed;inset:10px;box-shadow:0 20px 60px #0000008c;width:calc(100vw - 20px)!important}.preview-resizer{cursor:col-resize;z-index:5;width:7px;height:100%;position:absolute;top:0;left:-3px}.preview-resizer:hover,.preview-resizer:active{background:color-mix(in srgb, var(--accent) 35%, transparent)}.preview-tabs{flex:none;align-items:center;gap:4px;min-width:0;display:flex;overflow-x:auto}.preview-tab{border:1px solid var(--border);background:var(--bg);border-radius:7px;align-items:center;min-width:0;max-width:180px;display:inline-flex}.preview-tab-on{border-color:var(--accent-dim);background:var(--bg-elev-2)}.preview-tab-name{color:var(--text-dim);font:inherit;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:none;min-width:0;padding:2px 6px;font-size:13.5px;overflow:hidden}.preview-tab-on .preview-tab-name{color:var(--text)}.preview-tab-x{color:var(--text-faint);font:inherit;cursor:pointer;background:0 0;border:none;padding:0 5px;font-size:14px}.preview-tab-x:hover{color:var(--red)}.preview-body{flex:auto;min-height:0;display:flex}.file-viewer{flex-direction:column;flex:auto;gap:6px;min-width:0;min-height:0;display:flex}.preview-arrow{background:var(--bg-elev-2);width:30px;height:30px;color:var(--text-dim);font:inherit;cursor:pointer;border:none;border-radius:9px;flex:none;justify-content:center;align-items:center;font-size:18px;line-height:1;display:inline-flex}.preview-arrow:hover{background:var(--bg-elev);color:var(--text)}.preview-collapsed{border-radius:0;align-self:flex-start;width:34px;height:34px;margin-top:6px}.preview-slot{flex:auto;min-width:0;min-height:0;display:flex}.preview-slot-hidden{display:none}.terminal-panel-embedded{background:0 0;border:none;flex:auto;width:100%;min-width:0;min-height:0;padding:0}.preview-tab-icon{border:1px solid var(--border);min-width:18px;color:var(--text-faint);text-align:center;vertical-align:1px;border-radius:4px;margin-right:5px;padding:0 3px;font-family:ui-monospace,monospace;font-size:11.5px;line-height:1.4;display:inline-block}.preview-tab-on .preview-tab-icon{color:var(--accent);border-color:var(--accent-dim)}.file-image-wrap{background-color:#0d1117;background-image:linear-gradient(45deg,#161b22 25%,#0000 25%),linear-gradient(-45deg,#161b22 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#161b22 75%),linear-gradient(-45deg,#0000 75%,#161b22 75%);background-position:0 0,0 8px,8px -8px,-8px 0;background-size:16px 16px;border:none;border-radius:0;flex:auto;justify-content:center;align-items:center;min-height:0;padding:8px;display:flex;overflow:auto}.file-image{object-fit:contain;border-radius:0;max-width:100%;max-height:100%}.preview-rail{flex-direction:column;flex:none;align-self:stretch;align-items:center;gap:8px;width:34px;min-height:0;padding-top:6px;display:flex}.preview-rail .outline{pointer-events:auto;flex-direction:column;flex:auto;align-items:center;min-height:0;display:flex;position:static}.preview-rail .outline-rail{background:0 0;border-radius:0;gap:8px;padding:0;overflow:auto}.preview-panel,.preview-rail{background:var(--bg)!important}.preview-panel-wide{flex:auto;min-width:0;width:auto!important}.btn-wide-on{border-color:var(--accent-dim);color:var(--accent);background:var(--bg-elev-2)}.preview-wide-icon{width:13px;height:13px;display:block}.modal-backdrop{z-index:50;overscroll-behavior:contain;padding:var(--gap);background:#0000008c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--bg-elev);border:1px solid var(--border-strong);overscroll-behavior:contain;border-radius:12px;width:min(560px,100%);max-height:80vh;padding:16px;overflow:auto}.modal-title{margin:0 0 8px;font-size:18px}.modal-risk{color:var(--amber);margin:0 0 12px}.modal-facts{grid-template-columns:auto 1fr;gap:4px 12px;min-width:0;margin:0 0 16px;display:grid}.modal-facts dt{color:var(--text-faint);font-size:14.5px}.modal-facts dd{overflow-wrap:anywhere;min-width:0;margin:0}.modal-actions{justify-content:flex-end;gap:8px;display:flex}.jump-bottom{z-index:9;border:1px solid var(--border);background:var(--bg-elev-2);width:fit-content;color:var(--text);font:inherit;cursor:pointer;box-shadow:var(--shadow,0 6px 18px #00000047);border-radius:999px;margin:8px 16px 0 auto;padding:5px 12px;font-size:14.5px;display:block;position:sticky;bottom:12px}.jump-bottom:hover{border-color:var(--accent-dim);color:var(--accent)}.tpl-modal{flex-direction:column;gap:8px;width:min(1080px,94vw);max-height:88vh;display:flex}.tpl-head{align-items:center;gap:8px;min-width:0;display:flex}.tpl-title{font-size:17px}.tpl-icon{flex:none;font-size:19px;line-height:1}.tpl-badge{border:1px solid var(--accent-dim);color:var(--accent);border-radius:999px;flex:none;padding:1px 8px;font-size:13px}.tpl-hint{color:var(--text-faint);font-size:14px}.tpl-grid{flex:auto;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;min-height:0;padding:2px;display:grid;overflow:auto}.tpl-card{border:1px solid var(--border);background:var(--bg-elev);border-radius:10px;align-items:stretch;min-height:92px;display:flex;position:relative}.tpl-card:hover{border-color:var(--accent-dim)}.tpl-card-main{color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;flex-direction:column;flex:auto;align-items:flex-start;gap:4px;min-width:0;padding:10px 12px;display:flex}.tpl-name{font-size:15px;font-weight:600}.tpl-desc{color:var(--text-faint);overflow-wrap:anywhere;font-size:13.5px;line-height:1.5}.tpl-edit{background:var(--bg-elev-2);border:1px solid var(--border);cursor:pointer;border-radius:6px;padding:1px 5px;font-size:13px;display:none;position:absolute;top:4px;right:4px}.tpl-card:hover .tpl-edit{display:block}.tpl-card-new{color:var(--text-dim);cursor:pointer;font:inherit;text-align:left;background:0 0;border-style:dashed;flex-direction:column;align-items:flex-start;gap:4px;padding:10px 12px}.tpl-foot{border-top:1px solid var(--border);flex:none;align-items:center;gap:8px;padding-top:6px;display:flex}.tpl-editor{flex-direction:column;gap:10px;width:min(760px,94vw);max-height:88vh;display:flex}.tpl-field{flex-direction:column;flex:none;gap:5px;min-height:0;display:flex}.tpl-field-grow{flex:auto;min-height:160px}.tpl-label{color:var(--text-faint);font-size:14px}.tpl-input,.tpl-textarea{border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text);font:inherit;border-radius:8px;padding:8px 10px;font-size:15px}.tpl-textarea{resize:vertical;flex:auto;min-height:160px;line-height:1.65}.tpl-error{color:var(--red);font-size:14px}.tpl-foot-editor{padding-top:8px}.btn-danger{border-color:color-mix(in srgb, var(--red) 55%, transparent);color:var(--red)}.btn-primary{border-color:color-mix(in srgb, var(--accent) 45%, transparent);background:color-mix(in srgb, var(--accent) 15%, transparent);color:var(--accent);font-weight:600}.btn-primary:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 24%, transparent)}.composer-tools{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.tool-chip{border:1px solid var(--border);background:var(--bg-elev);color:var(--text-dim);font:inherit;cursor:pointer;border-radius:7px;align-items:center;gap:4px;padding:1px 7px;font-size:12.5px;display:inline-flex}.tool-chip:hover{border-color:var(--accent-dim);color:var(--text)}.tool-select{cursor:pointer;max-width:240px}.tool-sep{background:var(--border);flex:none;width:1px;height:14px}.tool-group{align-items:center;gap:5px;min-width:0;display:inline-flex}.tool-icon{opacity:.85;flex:none;font-size:13px}.tool-static{color:var(--text-faint);cursor:default}.model-current{text-overflow:ellipsis;white-space:nowrap;max-width:200px;overflow:hidden}.model-pop{z-index:40;border:1px solid var(--border-strong);background:var(--bg-elev);border-radius:10px;flex-direction:column;width:min(380px,82vw);max-height:52vh;display:flex;position:absolute;bottom:calc(100% + 6px);left:0;overflow:hidden;box-shadow:0 12px 32px #00000059}.model-filter{border:1px solid var(--border);background:var(--bg);color:var(--text);font:inherit;border-radius:8px;margin:8px;padding:6px 8px;font-size:14.5px}.model-list{flex:auto;min-height:0;padding-bottom:4px;overflow:auto}.model-provider{color:var(--text-faint);letter-spacing:.06em;padding:8px 10px 4px;font-size:12.5px}.model-item{width:100%;color:var(--text-dim);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;min-width:0;padding:6px 12px;font-size:14.5px;display:flex}.model-empty,.model-foot{color:var(--text-faint);padding:6px 12px;font-size:13px}.model-foot{border-top:1px solid var(--border)}.tool-chip-warn{border-color:color-mix(in srgb, var(--yellow,#d9a441) 60%, transparent);color:var(--yellow,#d9a441)}.composer-topbar{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.composer-topbar .quick-row{flex-wrap:wrap}.model-picker{min-width:0;position:relative}.model-trigger{gap:5px;min-width:0;max-width:260px}.model-trigger-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.model-caret{color:var(--text-faint);flex:none;font-size:12px}.model-menu{z-index:20;border:1px solid var(--border-strong,var(--border));background:var(--bg-elev);border-radius:10px;flex-direction:column;gap:2px;width:min(300px,78vw);max-height:52vh;padding:6px;display:flex;position:fixed;box-shadow:0 14px 40px #00000073}.model-filter{border:1px solid var(--border);background:var(--bg);color:var(--text);font:inherit;border-radius:8px;flex:none;padding:6px 9px;font-size:14.5px}.model-list{flex-direction:column;gap:0;min-height:0;display:flex;overflow:auto}.model-group-title{background:var(--bg-elev);color:var(--text-faint);letter-spacing:.06em;padding:6px 4px 3px;font-size:12.5px;position:sticky;top:0}.model-item{width:100%;color:var(--text-dim);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:7px;align-items:center;gap:6px;min-width:0;padding:6px 8px;font-size:14.5px;display:flex}.model-item:hover{background:var(--bg-elev-2);color:var(--text)}.model-item-on{color:var(--text);font-weight:600}.model-check{width:12px;color:var(--accent);flex:none}.model-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.model-empty{color:var(--text-faint);padding:8px;font-size:14px}.thinking-picker{cursor:pointer;cursor:pointer;gap:3px;position:relative}.thinking-select{opacity:0;width:100%;height:100%;color:inherit;font:inherit;cursor:pointer;appearance:none;background:0 0;border:none;outline:none;position:absolute;inset:0}.thinking-picker:focus-within{outline:2px solid var(--accent-dim);outline-offset:1px}.thinking-caret{color:var(--text-faint);flex:none;font-size:10px}.model-sheet-backdrop,.model-sheet-close{display:none}.is-mobile-shell .model-sheet-backdrop{z-index:30;background:#00000073;display:block;position:fixed;inset:0}.is-mobile-shell .model-menu{border:none;border-top:1px solid var(--border-strong,var(--border));width:100vw;max-height:72dvh;padding:10px 12px calc(12px + env(safe-area-inset-bottom,0px));z-index:31;border-radius:14px 14px 0 0;position:fixed;inset:auto 0 0;box-shadow:0 -12px 40px #00000073}.is-mobile-shell .model-sheet-close{border:1px solid var(--border);background:var(--bg-soft);color:var(--text);cursor:pointer;border-radius:999px;justify-content:center;align-self:flex-end;align-items:center;gap:6px;padding:6px 14px;font-size:15px;display:flex}.is-mobile-shell .model-item{padding-top:11px;padding-bottom:11px;font-size:17px}.model-row{align-items:center;gap:2px;min-width:0;display:flex}.model-row .model-item{flex:1;min-width:0}.model-pin{font:inherit;cursor:pointer;opacity:0;filter:grayscale();background:0 0;border:none;border-radius:6px;flex:none;padding:4px;font-size:12px;line-height:1;transition:opacity .12s}.model-row:hover .model-pin,.model-pin:focus-visible{opacity:.7}.model-pin-on{opacity:1;filter:none}.model-pin:hover{opacity:1}.is-mobile-shell .model-pin{opacity:.55;padding:6px;font-size:14px}.hljs-comment,.hljs-quote{color:#6a737d;font-style:italic}.hljs-keyword,.hljs-selector-tag,.hljs-literal,.hljs-doctag{color:#0033b3}.hljs-string,.hljs-regexp{color:#a31515}.hljs-attr,.hljs-attribute,.hljs-property,.hljs-selector-attr{color:#0451a5}.hljs-number,.hljs-built_in,.hljs-type,.hljs-symbol{color:#098658}.hljs-title,.hljs-title.function_,.hljs-section{color:#795e26}.hljs-title.class_,.hljs-class .hljs-title,.hljs-selector-id,.hljs-selector-class,.hljs-bullet,.hljs-link{color:#267f99}.hljs-variable,.hljs-template-variable,.hljs-params{color:#001080}.hljs-tag,.hljs-name{color:#0b7285}.hljs-meta,.hljs-meta .hljs-keyword{color:#6a737d}.hljs-deletion{color:#82071e;background:#ff818229}.hljs-addition{color:#116329;background:#2ea04326}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:600}.md-pre{margin:10px 0;position:relative}.md-pre pre{background:var(--bg);border:1px solid var(--border);border-radius:8px;margin:0;padding:10px 12px;font-size:14.5px;line-height:1.55;overflow-x:auto}.md-lang{z-index:1;background:var(--bg-elev-2);color:var(--text-faint);letter-spacing:.04em;text-transform:lowercase;pointer-events:none;border-radius:999px;padding:0 6px;font-size:12.5px;position:absolute;top:6px;right:8px}.md-img{border:1px solid var(--border);background:var(--bg);border-radius:8px;max-width:100%;max-height:520px;margin:8px 0;display:block}.md-img-blocked{color:var(--text-faint);font-size:14px}.mermaid-block{border:1px solid var(--border);background:var(--bg);border-radius:8px;margin:10px 0;overflow:hidden}.mermaid-head{border-bottom:1px solid var(--border);background:var(--bg-elev);align-items:center;gap:4px;padding:4px 8px;display:flex}.mermaid-lang{color:var(--text-faint);letter-spacing:.04em;font-size:13px}.mermaid-btn{color:var(--text-dim);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;padding:2px 8px;font-size:13.5px}.mermaid-btn-on{background:var(--bg-elev-2);border-color:var(--border);color:var(--text)}.mermaid-btn:disabled{opacity:.45;cursor:not-allowed}.mermaid-svg{background:var(--bg);justify-content:safe center;align-items:flex-start;max-height:min(70vh,720px);padding:12px 10px;display:flex;overflow:auto}.mermaid-svg svg{max-width:100%;height:auto}.mermaid-svg .nodeLabel,.mermaid-svg .edgeLabel,.mermaid-svg .cluster-label,.mermaid-svg text{fill:var(--text)}.mermaid-svg .edgeLabel rect,.mermaid-svg .edgeLabel .labelBkg{fill:var(--bg-elev-2);opacity:1}.mermaid-source{color:var(--text-dim);max-height:min(70vh,720px);margin:0;padding:8px 10px;font-size:14px;line-height:1.55;overflow:auto}.mermaid-error{border-top:1px solid var(--border);color:var(--red);padding:6px 10px;font-size:13.5px}.md table{border-collapse:collapse;width:max-content;max-width:100%;margin:10px 0;font-size:14.5px;line-height:1.5;display:block;overflow-x:auto}.md thead{background:var(--bg-elev-2)}.md th,.md td{border:1px solid var(--border);text-align:left;vertical-align:top;padding:5px 10px}.md th{color:var(--text);white-space:nowrap;font-weight:600}.md tbody tr:nth-child(2n) td{background:color-mix(in srgb, var(--bg-elev-2) 45%, transparent)}.md td code,.md th code{white-space:nowrap}.settings-tabs{border:1px solid var(--border);background:var(--bg-elev);border-radius:999px;align-self:flex-start;align-items:center;gap:4px;padding:3px;display:flex}.settings-tab{color:var(--text-dim);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;padding:3px 14px;font-size:14px}.settings-tab:hover{color:var(--text)}.settings-tab-on,.settings-tab-on:hover{background:color-mix(in srgb, var(--accent) 12%, var(--bg));border-color:color-mix(in srgb, var(--accent) 40%, var(--border));color:var(--text)}.settings-checks{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;display:grid}.settings-check-icon{flex:none;justify-content:center;align-items:center;width:16px;height:16px;display:inline-flex}.settings-check-icon svg{width:100%;height:100%;display:block}.theme-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.theme-card{border:1px solid var(--border);background:var(--bg);color:var(--text-dim);font:inherit;text-align:left;cursor:pointer;border-radius:10px;flex-direction:column;align-items:stretch;gap:6px;padding:8px;transition:border-color .12s,background .12s;display:flex}.theme-card:hover{border-color:color-mix(in srgb, var(--accent) 45%, var(--border))}.theme-card-on,.theme-card-on:hover{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 10%, var(--bg))}.theme-preview{border:1px solid var(--border);border-radius:6px;flex-direction:column;justify-content:center;gap:4px;height:44px;padding:0 8px;display:flex;position:relative;overflow:hidden}.theme-preview-bar{border-radius:3px;width:70%;height:5px}.theme-preview-bar-short{width:45%}.theme-preview-dot{border-radius:50%;width:14px;height:14px;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.theme-name{color:var(--text);align-items:center;gap:4px;font-size:14px;font-weight:600;display:flex}.theme-check{color:var(--accent);font-size:13px}.theme-hint{color:var(--text-faint);font-size:12.5px;line-height:1.4}@media (width<=560px){.theme-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.plugins{flex-direction:column;flex:auto;gap:8px;min-height:0;display:flex}.plugins-bar{flex-wrap:wrap;flex:none;align-items:center;gap:6px;display:flex}.plugins-install{flex:none;align-items:center;gap:6px;min-width:0;display:flex}.plugins-install-input{background:var(--bg);min-width:0;color:var(--text);border:1px solid var(--border);border-radius:8px;flex:auto;padding:5px 8px;font-size:13px}.plugins-install-input:focus{border-color:var(--accent-dim);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 12%, transparent);outline:none}.plugins-install-scope{background:var(--bg);color:var(--text-dim);border:1px solid var(--border);font:inherit;border-radius:8px;flex:none;padding:4px 6px;font-size:13px}.plugins-body{flex-direction:column;flex:auto;gap:14px;min-height:0;display:flex;overflow:auto}.plugins-group{flex-direction:column;gap:6px;min-width:0;display:flex}.plugins-group-head{color:var(--text);flex-wrap:wrap;align-items:baseline;gap:8px;font-size:14.5px;font-weight:600;display:flex}.plugin-list{flex-direction:column;gap:6px;display:flex}.plugin-row{border:1px solid var(--border);background:var(--bg-soft);border-radius:10px;align-items:flex-start;gap:10px;min-width:0;padding:8px 10px;display:flex}.plugin-row:hover{background:var(--bg-elev-2)}.plugin-row-off{opacity:.6}.plugin-main{flex-direction:column;flex:auto;gap:3px;min-width:0;display:flex}.plugin-name{color:var(--text);overflow-wrap:anywhere;flex-wrap:wrap;align-items:baseline;gap:6px;font-size:14.5px;font-weight:600;display:flex}.plugin-badge{border:1px solid var(--border);color:var(--text-faint);border-radius:999px;padding:0 6px;font-size:11.5px;font-weight:400}.plugin-badge-filtered{border-color:color-mix(in srgb, var(--amber) 45%, var(--border));color:var(--amber)}.plugin-version{color:var(--text-faint);font-size:12.5px;font-weight:400}.plugin-meta{-webkit-line-clamp:2;color:var(--text-dim);overflow-wrap:anywhere;-webkit-box-orient:vertical;font-size:13px;display:-webkit-box;overflow:hidden}.plugin-status{font-weight:600}.plugin-status-missing{color:var(--amber)}.plugin-status-loaded{color:var(--green)}.plugin-source{color:var(--text-faint);overflow-wrap:anywhere;font-size:12px}.plugin-actions{flex:none;align-items:center;gap:6px;display:flex}.plugin-switch{border:1px solid var(--border);color:var(--text-faint);font:inherit;cursor:pointer;background:0 0;border-radius:999px;flex:none;padding:2px 10px;font-size:12.5px}.plugin-switch:hover:not(:disabled){color:var(--text)}.plugin-switch:disabled{cursor:default}.plugin-switch-on{background:color-mix(in srgb, var(--accent) 12%, var(--bg));border-color:color-mix(in srgb, var(--accent) 40%, var(--border));color:var(--text)}.plugins-diagnostics{border-top:1px dashed var(--border);flex-direction:column;gap:4px;padding-top:8px;display:flex}@media (width<=720px){.plugin-row{flex-wrap:wrap}.plugin-actions{justify-content:flex-end;width:100%}}.mcp{flex-direction:column;flex:auto;gap:8px;min-height:0;display:flex}.mcp-shell{grid-template-columns:minmax(160px, var(--mcp-list-width,220px)) 7px minmax(0, 1fr);border:1px solid var(--border);background:var(--bg);border-radius:10px;flex:auto;min-height:0;display:grid;overflow:hidden}.mcp-list{background:var(--bg-soft);flex-direction:column;gap:6px;min-height:0;padding:8px;display:flex}.mcp-list-scroll{flex-direction:column;flex:auto;gap:10px;min-height:0;display:flex;overflow:auto}.mcp-group{flex-direction:column;gap:3px;display:flex}.mcp-group-head{letter-spacing:.03em;color:var(--text-faint);align-items:center;gap:6px;padding:2px 2px 0;font-size:12.5px;display:flex}.mcp-group-head>span:first-child{color:var(--text-dim);font-weight:600}.mcp-list-path{color:var(--text-faint);text-overflow:ellipsis;white-space:nowrap;padding:0 2px;font-size:11.5px;overflow:hidden}.mcp-item{text-align:left;width:100%;color:inherit;font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:6px;padding:5px 8px;font-size:14px;display:flex}.mcp-item:hover{background:var(--bg)}.mcp-item-on{background:var(--bg);border-color:var(--accent)}.mcp-item-off .mcp-item-name{color:var(--text-faint)}.mcp-item-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.mcp-dot{border:1px solid var(--border-strong);background:0 0;border-radius:50%;flex:none;width:7px;height:7px}.mcp-dot-on{background:var(--green);border-color:var(--green)}.mcp-switch{border:1px solid var(--border);color:var(--text-faint);font:inherit;cursor:pointer;background:0 0;border-radius:999px;flex:none;margin-left:auto;padding:1px 8px;font-size:12px}.mcp-switch:hover:not(:disabled){color:var(--text)}.mcp-switch:disabled{cursor:default;opacity:.6}.mcp-switch-on{background:color-mix(in srgb, var(--accent) 12%, var(--bg));border-color:color-mix(in srgb, var(--accent) 40%, var(--border));color:var(--text)}.mcp-left-actions{flex:none;gap:6px;margin-top:auto;display:flex}.mcp-left-actions>.btn{flex:1 1 0;min-width:0}.mcp-list-resizer{cursor:col-resize;touch-action:none;background:var(--bg-soft);justify-content:center;align-items:stretch;display:flex}.mcp-list-resizer:before{content:"";background:var(--border);width:1px}.mcp-list-resizer:hover:before,.mcp-list-resizer:active:before{background:var(--accent);width:2px}.mcp-detail{scrollbar-gutter:stable;flex-direction:column;gap:8px;min-width:0;min-height:0;padding:10px 18px 16px 14px;display:flex;overflow:auto}.mcp-detail-head{flex-wrap:wrap;flex:none;align-items:center;gap:6px;display:flex}.mcp-badge{border:1px solid var(--border);color:var(--text-faint);border-radius:999px;padding:0 6px;font-size:11.5px;font-weight:400}.mcp-detail-name{font-size:15px;font-weight:600}.mcp-body{flex-direction:column;gap:6px;min-width:0;display:flex}.mcp-row{border-top:1px solid color-mix(in srgb, var(--border) 60%, transparent);grid-template-columns:120px minmax(0,1fr);align-items:start;gap:8px;padding:3px 0;display:grid}.mcp-row:first-child{border-top:none}.mcp-row-key{color:var(--text-faint);overflow-wrap:anywhere;font-size:13px}.mcp-row-value{color:var(--text-dim);overflow-wrap:anywhere;flex-wrap:wrap;align-items:center;gap:6px;min-width:0;font-size:13.5px;display:flex}.mcp-value{overflow-wrap:anywhere;min-width:0;font-size:13px}.mcp-state-on{color:var(--green);font-weight:600}.mcp-state-off{color:var(--text-faint);font-weight:600}.mcp-ref{border:1px solid var(--border);color:var(--text-faint);border-radius:999px;align-items:center;margin-left:4px;padding:0 6px;font-size:12px;display:inline-flex}.mcp-ref-ok{border-color:color-mix(in srgb, var(--green) 45%, var(--border));color:var(--green)}.mcp-ref-missing{border-color:color-mix(in srgb, var(--red) 45%, var(--border));color:var(--red)}.mcp-exposure{background:var(--bg);color:var(--text);border:1px solid var(--border);font:inherit;border-radius:8px;padding:3px 6px;font-size:13px}.mcp-tools{flex-wrap:wrap;gap:4px;min-width:0;display:flex}.mcp-tool{font-family:var(--mono);border:1px solid var(--border);background:var(--bg-soft);color:var(--text-dim);overflow-wrap:break-word;word-break:normal;border-radius:6px;padding:0 6px;font-size:12px}.mcp-stderr{white-space:pre-wrap;max-height:140px;font-family:var(--mono);color:var(--text-dim);background:var(--bg-soft);border-radius:8px;min-width:0;margin:0;padding:6px 8px;font-size:12px;overflow:auto}.mcp-diagnostics{border-top:1px dashed var(--border);flex-direction:column;gap:4px;padding-top:8px;display:flex}.mcp-bar{flex-wrap:wrap;flex:none;align-items:center;gap:6px;display:flex}@media (width<=640px){.mcp-shell{flex-direction:column;display:flex;overflow:auto}.mcp-list{border-bottom:1px solid var(--border);flex:none}.mcp-list-resizer{display:none}.mcp-list-scroll{flex:none;overflow:visible}.mcp-detail{flex:none;padding:10px 12px 14px;overflow:visible}.mcp-row{grid-template-columns:minmax(0,1fr);gap:2px}}.mcp-boot{justify-content:center;align-items:flex-start;gap:8px;padding:18px 4px}.mcp-boot-actions{gap:6px;display:flex}.mcp-auth{flex-wrap:wrap;align-items:center;gap:6px;min-width:0;display:flex}.mcp-auth-ok{color:var(--green);font-size:13px;font-weight:600}.mcp-auth-url{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.voice-panel{flex-direction:column;gap:18px;min-height:0;padding:2px 16px 10px 2px;display:flex}.voice-section{flex-direction:column;gap:2px;display:flex}.voice-section-title{border-bottom:1px solid var(--border);color:var(--text-dim);align-items:center;gap:8px;margin:0 0 6px;padding-bottom:6px;font-size:14px;font-weight:600;display:flex}.voice-row{cursor:pointer;border-radius:8px;align-items:center;gap:10px;min-width:0;padding:7px 2px;display:flex}.voice-row:hover{background:color-mix(in srgb, var(--text) 3%, transparent)}.voice-row-master{border-bottom:1px dashed var(--border);color:var(--text);border-radius:0;margin-bottom:4px;font-weight:600}.voice-row-label{min-width:0;color:var(--text-dim);flex:auto;align-items:baseline;gap:8px;font-size:14.5px;display:flex}.voice-row-master .voice-row-label{color:var(--text)}.voice-row-hint{color:var(--text-faint);font-size:13px;font-weight:400;line-height:1.4}.voice-row input[type=checkbox]{width:17px;height:17px;accent-color:var(--accent);cursor:pointer;flex:none;margin:0}.voice-try{flex:none}.voice-row-slider input[type=range]{min-width:120px;accent-color:var(--accent);cursor:pointer;flex:0 260px}.voice-value{text-align:right;min-width:3.4em;color:var(--text-faint);flex:none;font-size:13.5px}.voice-select{border:1px solid var(--border);background:var(--bg);min-width:140px;height:30px;color:var(--text);font:inherit;cursor:pointer;border-radius:8px;flex:0 320px;padding:0 8px;font-size:14px}.voice-actions{justify-content:flex-end;gap:8px;margin-top:8px;display:flex}.agents-panel{flex-direction:column;gap:12px;height:100%;min-height:0;padding:2px 16px 10px 2px;display:flex}.agents-head{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:12px;padding-bottom:8px;display:flex}.agents-head-title{align-items:baseline;gap:10px;font-size:14px;display:flex}.agents-head-actions{align-items:center;gap:14px;margin-left:auto;display:flex}.agents-hint{color:var(--text-dim);font-size:11.5px;font-weight:400}.agents-toggle{color:var(--text-dim);white-space:nowrap;align-items:center;gap:6px;font-size:12px;display:flex}.agents-toggle input[type=checkbox]{accent-color:var(--accent);width:15px;height:15px}.agents-toggle-concurrency select{border:1px solid var(--border);background:var(--bg);height:26px;color:var(--text);cursor:pointer;border-radius:6px;padding:0 4px;font-size:12px}.agents-banner{border:1px solid color-mix(in srgb, var(--amber) 45%, var(--border));background:color-mix(in srgb, var(--amber) 10%, var(--bg));color:var(--text);border-radius:8px;padding:8px 10px;font-size:12px;line-height:1.5}.agents-body{grid-template-columns:var(--agents-list-w,232px) 8px minmax(0, 1fr);flex:1;min-height:0;display:grid;overflow:hidden}.agents-split{cursor:col-resize;touch-action:none;position:relative}.agents-split:before{content:"";background:var(--border);width:1px;transition:background .12s;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.agents-split:hover:before,.agents-split:active:before{background:var(--accent)}.agents-col{flex-direction:column;gap:8px;min-height:0;display:flex;overflow-y:auto}.agents-col-runs{padding-left:6px}.agents-col-head{color:var(--text-dim);justify-content:space-between;align-items:center;gap:8px;min-height:24px;font-size:12px;font-weight:600;display:flex}.agents-profile-list,.agents-run-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.agents-profile{border-radius:8px;align-items:center;gap:4px;padding:2px 4px 2px 0;display:flex}.agents-profile:hover{background:var(--bg-soft)}.agents-profile-on{background:var(--bg-soft);box-shadow:inset 2px 0 0 var(--accent)}.agents-profile-main{min-width:0;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;gap:2px;padding:6px 8px;display:flex}.agents-profile-name{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:6px;font-size:13px;font-weight:600;display:flex;overflow:hidden}.agents-badge{background:var(--bg-elev-2);color:var(--text-dim);border-radius:999px;flex-shrink:0;padding:0 5px;font-size:10px;font-style:normal;font-weight:500;line-height:15px}.agents-profile-desc{color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;overflow:hidden}.agents-profile-switch input{accent-color:var(--accent);cursor:pointer;width:15px;height:15px}.agents-profile-del{width:22px;height:22px;color:var(--text-faint);cursor:pointer;background:0 0;border:none;border-radius:6px;font-size:12px}.agents-profile-del:hover{background:var(--bg-hover);color:var(--red)}.agents-run{border:1px solid var(--border);background:var(--bg);border-radius:8px;flex-direction:column;gap:3px;padding:8px 10px;display:flex}.agents-run-running{border-color:color-mix(in srgb, var(--accent) 45%, var(--border))}.agents-run-head{align-items:center;gap:8px;min-width:0;display:flex}.agents-run-status{flex-shrink:0;align-items:center;gap:4px;font-size:11.5px;display:inline-flex}.agents-status-running,.agents-status-queued{color:var(--accent)}.agents-status-completed{color:var(--green)}.agents-status-failed{color:var(--red)}.agents-status-aborted{color:var(--amber)}.agents-run-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:13px;font-weight:600;overflow:hidden}.agents-run-meta{color:var(--text-dim);flex-wrap:wrap;align-items:center;gap:5px;font-size:11.5px;display:flex}.agents-run-model{font-family:var(--mono);font-size:11px}.agents-run-queue{background:color-mix(in srgb, var(--amber) 12%, transparent);color:var(--amber);border-radius:6px;align-items:center;gap:4px;padding:3px 6px;font-size:11px;line-height:1.4;display:flex}.agents-run-toggle{color:var(--accent);cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:0;font-size:11.5px}.agents-run-body{background:var(--bg-soft);max-height:220px;color:var(--text);font-family:var(--mono);white-space:pre-wrap;word-break:break-word;border-radius:6px;margin:4px 0 0;padding:8px;font-size:11.5px;line-height:1.5;overflow:auto}.agents-run-path{color:var(--text-faint);font-family:var(--mono);text-overflow:ellipsis;white-space:nowrap;font-size:10.5px;overflow:hidden}.agents-form{flex-direction:column;gap:10px;padding-right:4px;display:flex}.agents-form-row{flex-wrap:wrap;gap:10px;display:flex}.agents-field{min-width:120px;color:var(--text-dim);flex-direction:column;flex:1;gap:4px;font-size:11.5px;display:flex}.agents-field-narrow{flex:0 0 92px}.agents-field input,.agents-field select,.agents-field textarea{border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text);border-radius:6px;padding:6px 8px;font-family:inherit;font-size:12.5px}.agents-field textarea{font-family:var(--mono);resize:vertical;font-size:12px;line-height:1.5}.agents-field input:disabled{color:var(--text-dim);background:var(--bg-soft)}.agents-tools{flex-wrap:wrap;gap:10px;padding-top:2px;display:flex}.agents-tool{color:var(--text);align-items:center;gap:4px;font-size:12px;display:inline-flex}.agents-tool input{accent-color:var(--accent)}.agents-form-actions{align-items:center;gap:8px;padding-top:2px;display:flex}.agents-form-actions .agents-hint{margin-right:auto}.agents-empty{color:var(--text-dim);flex-direction:column;gap:6px;padding:18px 4px;font-size:12.5px;display:flex}.agents-empty p{margin:0}.agents-spin{animation:.9s linear infinite agents-spin}@keyframes agents-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.agents-spin{animation:none}}@media (width<=720px){.agents-body{grid-template-columns:minmax(0,1fr);overflow-y:auto}.agents-split{display:none}.agents-col-runs{border-top:1px solid var(--border);padding-top:10px;padding-left:0;overflow:visible}}.agents-live{flex:none;position:relative}.appbar-agents{border:1px solid var(--border);background:var(--bg-elev);height:28px;color:var(--text-dim);cursor:pointer;font-variant-numeric:tabular-nums;border-radius:8px;align-items:center;gap:4px;padding:0 8px;font-size:12px;transition:color .12s,background .12s,border-color .12s;display:inline-flex}.appbar-agents:hover{background:var(--bg-hover);color:var(--text)}.appbar-agents-on{border-color:color-mix(in srgb, var(--accent) 55%, var(--border));background:color-mix(in srgb, var(--accent) 10%, var(--bg-elev));color:var(--accent)}.appbar-agents-open{background:var(--bg);border-color:var(--accent)}.appbar-agents-count{font-weight:600;line-height:1}.appbar-agents-total{color:var(--text-dim);font-size:11px;line-height:1}.agents-pop{z-index:60;background:var(--bg-panel,var(--bg-elev));border:1px solid var(--border);border-radius:10px;width:min(440px,100vw - 24px);max-height:min(70dvh,520px);position:absolute;top:calc(100% + 6px);right:0;overflow-y:auto;box-shadow:0 14px 36px #00000024}.agents-pop-head{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:baseline;gap:8px;padding:10px 12px 8px;font-size:12px;display:flex}.agents-pop-title{color:var(--text);font-size:13px;font-weight:700}.agents-pop-note{color:var(--text-dim)}.agents-pop-total{color:var(--text-dim);font-variant-numeric:tabular-nums;margin-left:auto}.agents-pop-running{color:var(--accent);white-space:nowrap}.agents-pop-list{margin:0;padding:0;list-style:none}.agents-pop-row{border-bottom:1px solid var(--border);align-items:center;gap:8px;min-width:0;padding:8px 12px;display:flex}.agents-pop-row:last-child{border-bottom:none}.agents-pop-row:hover,.agents-pop-row-main{background:var(--bg-soft)}.agents-pop-icon{width:22px;height:22px;color:var(--text-muted,var(--text-dim));flex:none;place-items:center;display:grid}.agents-pop-row:not(.agents-pop-row-main) .agents-pop-icon{color:var(--accent)}.agents-pop-main{text-align:left;min-width:0;color:inherit;font:inherit;background:0 0;border:none;flex-direction:column;flex:1;gap:2px;padding:0;display:flex}.agents-pop-main-btn{cursor:pointer}.agents-pop-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;font-weight:600;overflow:hidden}.agents-pop-sub{color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.agents-pop-metrics{color:var(--text-dim);font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:10px;font-size:11px;display:flex}.agents-pop-status{color:var(--text-dim);white-space:nowrap;flex:none;align-items:center;gap:4px;font-size:11px;display:inline-flex}.agents-pop-stop{border:1px solid var(--border);background:var(--bg);color:var(--text-dim);cursor:pointer;border-radius:6px;flex:none;padding:2px 8px;font-size:11px}.agents-pop-stop:hover{border-color:var(--red);color:var(--red)}.agents-pop-foot{border-top:1px solid var(--border);padding:8px 12px}.agents-pop-more{border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text);cursor:pointer;border-radius:7px;padding:6px 8px;font-size:12px}.agents-pop-more:hover{background:var(--bg-hover)}.agents-strip{border:1px solid var(--border);background:var(--bg-soft);border-radius:10px;flex-direction:column;gap:6px;padding:6px 8px;display:flex}.agents-strip-live{border-color:color-mix(in srgb, var(--accent) 42%, var(--border))}.agents-strip-bar{align-items:center;gap:10px;min-width:0;display:flex}.agents-strip-toggle{min-width:0;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:6px;padding:2px 4px;font-size:12.5px;font-weight:600;display:inline-flex}.agents-strip-toggle:hover{background:var(--bg-hover)}.agents-strip-count{color:var(--text-dim);white-space:nowrap;font-size:11.5px;font-weight:400}.agents-strip-caret{color:var(--text-faint);flex:none;transition:transform .15s}.agents-strip-caret-open{transform:rotate(180deg)}.agents-strip-total{color:var(--text-dim);font-variant-numeric:tabular-nums;white-space:nowrap;margin-left:auto;font-size:11.5px}.agents-strip-cards{scrollbar-width:thin;gap:8px;margin:0;padding:0 0 2px;list-style:none;display:flex;overflow:auto hidden}.agents-strip-card{flex:0 0 288px;max-width:320px}.agents-strip .agents-run-body{max-height:180px}@media (width<=720px){.appbar-agents{padding:0 6px}.agents-pop{right:-6px}.agents-strip-card{flex-basis:240px}}.toast-host{left:50%;bottom:calc(38px + env(safe-area-inset-bottom,0px));z-index:120;pointer-events:none;flex-direction:column;align-items:center;gap:8px;max-width:min(680px,100vw - 24px);display:flex;position:fixed;transform:translate(-50%)}.toast{pointer-events:auto;border:1px solid var(--border-strong,var(--border));background:var(--bg-elev-2);min-width:0;color:var(--text);border-radius:10px;align-items:center;gap:10px;padding:8px 10px 8px 14px;font-size:14px;animation:.14s ease-out toast-in;display:flex;box-shadow:0 12px 30px #00000047}@keyframes toast-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.toast-text{text-overflow:ellipsis;white-space:nowrap;flex:0 auto;min-width:0;overflow:hidden}.toast-action{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:6px;flex:none;padding:2px 6px;font-weight:600}.toast-action:hover{background:color-mix(in srgb, var(--accent) 14%, transparent)}.toast-close{color:var(--text-faint);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:6px;flex:none;padding:0 4px;font-size:16px;line-height:1}.toast-close:hover{color:var(--text);background:var(--bg-elev)}.is-mobile-shell .toast-host{bottom:calc(52px + env(safe-area-inset-bottom,0px));max-width:calc(100vw - 16px)}.mcp-detail-pane{padding:10px 18px 16px 16px}.mcp-add-pane,.mcp-market{flex-direction:column;gap:10px;min-width:0;display:flex}.mcp-add-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.mcp-catalog-link{color:var(--accent);font-size:12.5px;text-decoration:none}.mcp-catalog-link:hover{text-decoration:underline}.mcp-scope-row{flex-wrap:wrap;align-items:center;gap:10px;font-size:13px;display:flex}.mcp-scope-tabs{border:1px solid var(--border);border-radius:8px;flex:none;display:inline-flex;overflow:hidden}.mcp-scope-tab{color:var(--text-faint);font:inherit;cursor:pointer;background:0 0;border:none;padding:3px 12px;font-size:13px}.mcp-scope-tab:hover{color:var(--text)}.mcp-scope-tab-on{background:color-mix(in srgb, var(--accent) 12%, var(--bg));color:var(--text);font-weight:600}.mcp-scope-path{color:var(--text-faint);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;overflow:hidden}.mcp-add-label{color:var(--text-dim);font-size:13px;font-weight:600}.mcp-add-text{resize:vertical;background:var(--bg);width:100%;min-height:120px;color:var(--text);border:1px solid var(--border);font-family:var(--mono);border-radius:10px;padding:8px 10px;font-size:12.5px;line-height:1.6}.mcp-add-text:focus{border-color:var(--accent-dim);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 12%, transparent);outline:none}.mcp-add-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.btn-primary-add{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn-primary-add:disabled{opacity:.5}.mcp-add-preview{border:1px dashed var(--border);background:var(--bg-soft);border-radius:10px;flex-direction:column;gap:4px;padding:8px 10px;display:flex}.mcp-add-preview-row{align-items:baseline;gap:8px;min-width:0;display:flex}.mcp-add-preview-row>.mcp-value{color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;overflow:hidden}.mcp-add-notes{color:var(--text-faint);margin:0;padding-left:18px;font-size:12.5px;line-height:1.7}.mcp-add-samples{flex-direction:column;gap:6px;display:flex}.mcp-sample{text-align:left;border:1px solid var(--border);background:var(--bg-soft);color:var(--text-dim);font:inherit;cursor:pointer;border-radius:8px;grid-template-columns:96px minmax(0,1fr) auto;align-items:baseline;gap:8px;padding:5px 8px;font-size:12.5px;display:grid}.mcp-sample:hover{border-color:color-mix(in srgb, var(--accent) 45%, var(--border));color:var(--text)}.mcp-sample-label{color:var(--text);font-weight:600}.mcp-sample-value{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.mcp-sample-hint{color:var(--text-faint);white-space:nowrap;font-size:11.5px}.mcp-market-bar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.mcp-market-source,.mcp-market-search{background:var(--bg);color:var(--text);border:1px solid var(--border);font:inherit;border-radius:8px;min-width:0;padding:4px 8px;font-size:13px}.mcp-market-search{flex:220px}.mcp-market-list{flex-direction:column;gap:8px;min-width:0;display:flex}.mcp-market-card{border:1px solid var(--border);background:var(--bg-soft);border-radius:10px;flex-direction:column;gap:5px;min-width:0;padding:8px 10px;display:flex}.mcp-market-card:hover{background:var(--bg-elev-2)}.mcp-market-card-head{flex-wrap:wrap;align-items:baseline;gap:6px;display:flex}.mcp-market-title{color:var(--text);overflow-wrap:anywhere;font-size:14px;font-weight:600}.mcp-market-desc{color:var(--text-dim);-webkit-line-clamp:3;overflow-wrap:anywhere;-webkit-box-orient:vertical;margin:0;font-size:12.5px;line-height:1.6;display:-webkit-box;overflow:hidden}.mcp-market-target{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.mcp-market-target>.mcp-value{color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;overflow:hidden}.mcp-market-needs{color:var(--text-faint);flex-wrap:wrap;align-items:center;gap:4px;font-size:12px;display:flex}.mcp-market-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}@media (width<=640px){.mcp-sample{grid-template-columns:minmax(0,1fr) auto}.mcp-sample-value{order:3;grid-column:1/-1}.mcp-sample-hint{display:none}}.is-mobile-shell .appbar{flex-wrap:wrap;gap:6px;padding:6px 8px}.is-mobile-shell .appbar .brand{font-size:16px}.is-mobile-shell .side-host{z-index:40;border-radius:0;position:fixed;top:0;bottom:0;left:0}.is-mobile-shell .activity-bar{width:40px}.is-mobile-shell .preview-panel{z-index:30;border:none;border-radius:0;position:fixed;inset:0;width:100%!important}.is-mobile-shell .preview-resizer,.is-mobile-shell .preview-rail{display:none}.is-mobile-shell .workspace{padding:0 4px 6px}.is-mobile-shell .workspace .main{padding:0 2px}.is-mobile-shell .workspace .messages,.is-mobile-shell .workspace .composer-wrap,.is-mobile-shell .workspace .sent-queue,.is-mobile-shell .workspace .notices,.is-mobile-shell .action-row-host{margin-right:0}.is-mobile-shell .composer-topbar{flex-wrap:wrap;gap:4px 6px}.is-mobile-shell .composer-tools{scrollbar-width:none;flex-wrap:nowrap;width:100%;overflow:auto hidden}.is-mobile-shell .composer-tools::-webkit-scrollbar{display:none}.is-mobile-shell .composer-tools>*{flex:none}.is-mobile-shell .composer-topbar>.tool-sep{display:none}.is-mobile-shell .composer-topbar .quick-row{flex-wrap:wrap;gap:4px}.is-mobile-shell .msg-user{max-width:88%}.is-mobile-shell .modal.big-modal,.is-mobile-shell .modal.tpl-modal,.is-mobile-shell .modal.new-project,.is-mobile-shell .modal.file-preview{border-radius:0;width:100vw;height:100vh;max-height:none}.is-mobile-shell .outline{display:none}@media (width>=401px) and (width<=600px){.side-host{max-width:42vw}}.is-mobile-shell .msg-tools-toggle{gap:6px;padding:5px 10px;font-size:13.5px}.is-mobile-shell .msg-process-hint,.is-mobile-shell .msg-tools-caret{display:none}.is-mobile-shell .msg-process-chevron{display:inline-block}@media (width<=480px){.composer-tools .tool-chip,.quick-chip{padding:3px 8px;font-size:14px}.statusbar{font-size:12px}}.side-backdrop{display:none}.is-mobile-shell .side-host>.sidebar{height:100%;min-height:0;max-height:none}.is-mobile-shell .side-host .sidebar-list{flex:0 auto;max-height:46vh}.is-mobile-shell .side-host{height:100dvh;padding-top:var(--appbar-h,46px);overscroll-behavior:contain;background:var(--bg);border-radius:0 14px 14px 0;max-width:none;top:0;left:0;right:auto;overflow-y:auto;box-shadow:0 0 22px #00000029;width:clamp(240px,66vw,320px)!important}.is-mobile-shell .appbar{z-index:45;position:relative}.is-mobile-shell .side-backdrop{z-index:39;background:#00000042;display:block;position:fixed;inset:0}.is-mobile-shell .side-resizer{display:none}.is-mobile-shell .modal.big-modal{width:calc(100vw - 32px);max-width:calc(100vw - 32px);height:auto;max-height:calc(100dvh - var(--appbar-h,46px) - 16px);border-radius:14px;margin:0 auto;box-shadow:0 12px 40px #00000057}.is-mobile-shell .modal-resize{display:none}.is-mobile-shell .big-modal-body{padding:8px}.is-mobile-shell .quick-row{scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}.is-mobile-shell .quick-row::-webkit-scrollbar{display:none}.is-mobile-shell .quick-chip{flex:none}.is-mobile-shell .prov-detail{padding:8px 8px 16px}.is-mobile-shell .prov-model-row{grid-template-columns:minmax(0,1fr) 66px auto auto;gap:6px}.is-mobile-shell .prov-global-bar{flex-wrap:wrap;gap:6px}.is-mobile-shell .composer-wrap{gap:4px;padding:2px 4px 4px}.is-mobile-shell .composer{flex-direction:column;align-items:stretch;gap:6px}.is-mobile-shell .composer-input{padding:10px calc(var(--composer-actions-w,104px) + 12px) 10px 12px;min-height:52px;font-size:18px;line-height:1.45}.is-mobile-shell .composer-actions{flex-direction:column}.is-mobile-shell .composer-input{min-height:calc(var(--composer-actions-h,34px) + 14px)}.is-mobile-shell .btn.btn-send,.is-mobile-shell .btn.btn-queue,.is-mobile-shell .btn.btn-stop{min-width:56px;min-height:34px;padding:6px 10px;font-size:14.5px}.is-mobile-shell .action-row{flex-wrap:wrap;gap:6px}.is-mobile-shell .appbar .session-info,.is-mobile-shell .appbar .appbar-slot{flex:auto}.is-mobile-shell .activity-bar,.is-mobile-shell .side-host .archived-entry{display:none}.is-mobile-shell .side-host .side-files{flex:auto;max-height:none;display:flex;height:auto!important}.is-mobile-shell .side-host .side-files-closed{flex:none}.is-mobile-shell .side-host>.sidebar:has(>.side-files-closed) .sidebar-list{flex:auto;max-height:none}.is-mobile-shell .side-host .side-split{display:none}.is-mobile-shell .side-host .sidebar{padding-top:env(safe-area-inset-top,0);width:100%}.is-mobile-shell .side-host .sidebar-head{z-index:2;background:var(--bg-elev);border-bottom:1px solid var(--border);margin:-10px -10px 0;padding:10px;position:sticky;top:0}.is-mobile-shell .side-host .pi-row,.is-mobile-shell .side-host .session-row{padding-left:10px;padding-right:10px}.is-mobile-shell .appbar-drawer{border:1px solid var(--border);background:var(--bg-elev);color:var(--text);cursor:pointer;border-radius:8px;align-items:center;padding:4px 9px;font-size:17px;line-height:1.1;display:inline-flex}.is-mobile-shell .composer-approval-btn,.is-mobile-shell .composer-tools .tool-sep{display:none}.is-mobile-shell .composer-tools{gap:6px}.is-mobile-shell .thinking-picker{display:none}.is-mobile-shell .modal.new-project{height:auto;max-height:calc(100dvh - var(--appbar-h,46px) - 24px)}.is-mobile-shell .modal-backdrop{z-index:60;padding-top:calc(var(--appbar-h,46px) + 8px);padding-bottom:calc(8px + env(safe-area-inset-bottom,0px));align-items:flex-start}.is-mobile-shell .new-project-list{min-height:40vh}.is-mobile-shell .msg-live{gap:4px;font-size:11.5px}.is-mobile-shell .msg-live-rate{padding:0 5px;font-size:11px}@media (width<=900px){.appbar .appbar-menu .side-foot-label{display:none}.appbar .appbar-menu .side-foot-btn{padding:4px 5px}}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import"./chunk-NGNAAXSQ-C2Wy9Xmz.js";export{w as createInfoServices}from"./mermaid-parser.core-D1HmdkA4.js";
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
import{n as e}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import"./src-CuHygcpj.js";import{C as t,H as n,U as r,_ as i,a,b as o,c as s,q as c,s as l,v as u}from"./chunk-DSNLSHJZ-DEw1kFwj.js";import{m as d}from"./chunk-7S6XSTFO-B_SPMiU8.js";import{t as f}from"./rough.esm-Dy-Kn_BL.js";import{a as p}from"./mermaid.core-DeUJrhO1.js";var m=(function(){var t=e(function(e,t,n,r){for(n||={},r=e.length;r--;n[e[r]]=t);return n},`o`),n=[1,4],r=[1,14],i=[1,12],a=[1,13],o=[6,7,8],s=[1,20],c=[1,18],l=[1,19],u=[6,7,11],d=[1,6,13,14],f=[1,23],p=[1,24],m=[1,6,7,11,13,14],h={trace:e(function(){},`trace`),yy:{},symbols_:{error:2,start:3,ishikawa:4,spaceLines:5,SPACELINE:6,NL:7,ISHIKAWA:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,TEXT:14,$accept:0,$end:1},terminals_:{2:`error`,6:`SPACELINE`,7:`NL`,8:`ISHIKAWA`,11:`EOF`,13:`SPACELIST`,14:`TEXT`},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,2],[12,1],[12,1],[12,1]],performAction:e(function(e,t,n,r,i,a,o){var s=a.length-1;switch(i){case 6:case 7:return r;case 15:r.addNode(a[s-1].length,a[s].trim());break;case 16:r.addNode(0,a[s].trim())}},`anonymous`),table:[{3:1,4:2,5:3,6:[1,5],8:n},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:n},{6:r,7:[1,10],9:9,12:11,13:i,14:a},t(o,[2,3]),{1:[2,2]},t(o,[2,4]),t(o,[2,5]),{1:[2,6],6:r,12:15,13:i,14:a},{6:r,9:16,12:11,13:i,14:a},{6:s,7:c,10:17,11:l},t(u,[2,18],{14:[1,21]}),t(u,[2,16]),t(u,[2,17]),{6:s,7:c,10:22,11:l},{1:[2,7],6:r,12:15,13:i,14:a},t(d,[2,14],{7:f,11:p}),t(m,[2,8]),t(m,[2,9]),t(m,[2,10]),t(u,[2,15]),t(d,[2,13],{7:f,11:p}),t(m,[2,11]),t(m,[2,12])],defaultActions:{2:[2,1],6:[2,2]},parseError:e(function(e,t){if(t.recoverable)this.trace(e);else{var n=Error(e);throw n.hash=t,n}},`parseError`),parse:e(function(t){var n=this,r=[0],i=[],a=[null],o=[],s=this.table,c=``,l=0,u=0,d=0,f=2,p=1,m=o.slice.call(arguments,1),h=Object.create(this.lexer),g={yy:{}};for(var _ in this.yy)Object.prototype.hasOwnProperty.call(this.yy,_)&&(g.yy[_]=this.yy[_]);h.setInput(t,g.yy),g.yy.lexer=h,g.yy.parser=this,h.yylloc===void 0&&(h.yylloc={});var v=h.yylloc;o.push(v);var y=h.options&&h.options.ranges;this.parseError=typeof g.yy.parseError==`function`?g.yy.parseError:Object.getPrototypeOf(this).parseError;function b(e){r.length-=2*e,a.length-=e,o.length-=e}e(b,`popStack`);function x(){var e=i.pop()||h.lex()||p;return typeof e!=`number`&&(e instanceof Array&&(i=e,e=i.pop()),e=n.symbols_[e]||e),e}e(x,`lex`);for(var S,C,w,T,E,D={},O,k,A,j;;){if(w=r[r.length-1],this.defaultActions[w]?T=this.defaultActions[w]:(S??=x(),T=s[w]&&s[w][S]),T===void 0||!T.length||!T[0]){var M=``;for(O in j=[],s[w])this.terminals_[O]&&O>f&&j.push(`'`+this.terminals_[O]+`'`);M=h.showPosition?`Parse error on line `+(l+1)+`:
|
|
2
|
-
`+h.showPosition()+`
|
|
3
|
-
Expecting `+j.join(`, `)+`, got '`+(this.terminals_[S]||S)+`'`:`Parse error on line `+(l+1)+`: Unexpected `+(S==p?`end of input`:`'`+(this.terminals_[S]||S)+`'`),this.parseError(M,{text:h.match,token:this.terminals_[S]||S,line:h.yylineno,loc:v,expected:j})}if(T[0]instanceof Array&&T.length>1)throw Error(`Parse Error: multiple actions possible at state: `+w+`, token: `+S);switch(T[0]){case 1:r.push(S),a.push(h.yytext),o.push(h.yylloc),r.push(T[1]),S=null,C?(S=C,C=null):(u=h.yyleng,c=h.yytext,l=h.yylineno,v=h.yylloc,d>0&&d--);break;case 2:if(k=this.productions_[T[1]][1],D.$=a[a.length-k],D._$={first_line:o[o.length-(k||1)].first_line,last_line:o[o.length-1].last_line,first_column:o[o.length-(k||1)].first_column,last_column:o[o.length-1].last_column},y&&(D._$.range=[o[o.length-(k||1)].range[0],o[o.length-1].range[1]]),E=this.performAction.apply(D,[c,u,l,g.yy,T[1],a,o].concat(m)),E!==void 0)return E;k&&(r=r.slice(0,-1*k*2),a=a.slice(0,-1*k),o=o.slice(0,-1*k)),r.push(this.productions_[T[1]][0]),a.push(D.$),o.push(D._$),A=s[r[r.length-2]][r[r.length-1]],r.push(A);break;case 3:return!0}}return!0},`parse`)};h.lexer=(function(){return{EOF:1,parseError:e(function(e,t){if(this.yy.parser)this.yy.parser.parseError(e,t);else throw Error(e)},`parseError`),setInput:e(function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match=``,this.conditionStack=[`INITIAL`],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},`setInput`),input:e(function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},`input`),unput:e(function(e){var t=e.length,n=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},`unput`),more:e(function(){return this._more=!0,this},`more`),reject:e(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError(`Lexical error on line `+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
|
|
4
|
-
`+this.showPosition(),{text:``,token:null,line:this.yylineno});return this},`reject`),less:e(function(e){this.unput(this.match.slice(e))},`less`),pastInput:e(function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?`...`:``)+e.substr(-20).replace(/\n/g,``)},`pastInput`),upcomingInput:e(function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?`...`:``)).replace(/\n/g,``)},`upcomingInput`),showPosition:e(function(){var e=this.pastInput(),t=Array(e.length+1).join(`-`);return e+this.upcomingInput()+`
|
|
5
|
-
`+t+`^`},`showPosition`),test_match:e(function(e,t){var n,r,i;if(this.options.backtrack_lexer&&(i={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(i.yylloc.range=this.yylloc.range.slice(0))),r=e[0].match(/(?:\r\n?|\n).*/g),r&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],n=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in i)this[a]=i[a];return!1}return!1},`test_match`),next:e(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,n,r;this._more||(this.yytext=``,this.match=``);for(var i=this._currentRules(),a=0;a<i.length;a++)if(n=this._input.match(this.rules[i[a]]),n&&(!t||n[0].length>t[0].length)){if(t=n,r=a,this.options.backtrack_lexer){if(e=this.test_match(n,i[a]),e!==!1)return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?(e=this.test_match(t,i[r]),e!==!1&&e):this._input===``?this.EOF:this.parseError(`Lexical error on line `+(this.yylineno+1)+`. Unrecognized text.
|
|
6
|
-
`+this.showPosition(),{text:``,token:null,line:this.yylineno})},`next`),lex:e(function(){return this.next()||this.lex()},`lex`),begin:e(function(e){this.conditionStack.push(e)},`begin`),popState:e(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},`popState`),_currentRules:e(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},`_currentRules`),topState:e(function(e){return e=this.conditionStack.length-1-Math.abs(e||0),e>=0?this.conditionStack[e]:`INITIAL`},`topState`),pushState:e(function(e){this.begin(e)},`pushState`),stateStackSize:e(function(){return this.conditionStack.length},`stateStackSize`),options:{"case-insensitive":!0},performAction:e(function(e,t,n,r){switch(n){case 0:return 6;case 1:return 8;case 2:return 8;case 3:return 6;case 4:return 7;case 5:return 13;case 6:return 14;case 7:return 11}},`anonymous`),rules:[/^(?:\s*%%.*)/i,/^(?:ishikawa-beta\b)/i,/^(?:ishikawa\b)/i,/^(?:[\s]+[\n])/i,/^(?:[\n]+)/i,/^(?:[\s]+)/i,/^(?:[^\n]+)/i,/^(?:$)/i],conditions:{INITIAL:{rules:[0,1,2,3,4,5,6,7],inclusive:!0}}}})();function g(){this.yy={}}return e(g,`Parser`),g.prototype=h,h.Parser=g,new g})();m.parser=m;var h=m,g=class{constructor(){this.stack=[],this.clear=this.clear.bind(this),this.addNode=this.addNode.bind(this),this.getRoot=this.getRoot.bind(this)}static{e(this,`IshikawaDB`)}clear(){this.root=void 0,this.stack=[],this.baseLevel=void 0,a()}getRoot(){return this.root}addNode(e,t){let n=l.sanitizeText(t,o());if(!this.root){this.root={text:n,children:[]},this.stack=[{level:0,node:this.root}],c(n);return}this.baseLevel??=e;let r=e-this.baseLevel+1;for(r<=0&&(r=1);this.stack.length>1&&this.stack[this.stack.length-1].level>=r;)this.stack.pop();let i=this.stack[this.stack.length-1].node,a={text:n,children:[]};i.children.push(a),this.stack.push({level:r,node:a})}getAccTitle(){return u()}setAccTitle(e){r(e)}getAccDescription(){return i()}setAccDescription(e){n(e)}getDiagramTitle(){return t()}setDiagramTitle(e){c(e)}},_=14,v=250,y=30,b=60,x=5,S=82*Math.PI/180,C=Math.cos(S),w=Math.sin(S),T=e((e,t,n)=>{let r=e.node().getBBox(),i=r.width+t*2,a=r.height+t*2;s(e,a,i,n),e.attr(`viewBox`,`${r.x-t} ${r.y-t} ${i} ${a}`)},`applyPaddedViewBox`),E=e((e,t,n,r)=>{let i=r.db.getRoot();if(!i)return;let a=o(),{look:s,handDrawnSeed:c,themeVariables:l}=a,u=d(a.fontSize)[0]??_,m=s===`handDrawn`,h=i.children??[],g=a.ishikawa?.diagramPadding??20,y=a.ishikawa?.useMaxWidth??!1,b=p(t),x=b.append(`g`).attr(`class`,`ishikawa`),S=m?f.svg(b.node()):void 0,C=S?{roughSvg:S,seed:c??0,lineColor:l?.lineColor??`#333`,fillColor:l?.mainBkg??`#fff`}:void 0,w=`ishikawa-arrow-${t}`;m||x.append(`defs`).append(`marker`).attr(`id`,w).attr(`viewBox`,`0 0 10 10`).attr(`refX`,0).attr(`refY`,5).attr(`markerWidth`,6).attr(`markerHeight`,6).attr(`orient`,`auto`).append(`path`).attr(`d`,`M 10 0 L 0 5 L 10 10 Z`).attr(`class`,`ishikawa-arrow`);let E=0,k=v,A=m?void 0:L(x,E,k,E,k,`ishikawa-spine`);if(O(x,E,k,i.text,u,C),!h.length){m&&L(x,E,k,E,k,`ishikawa-spine`,C),T(b,g,y);return}E-=20;let j=h.filter((e,t)=>t%2==0),N=h.filter((e,t)=>t%2==1),P=D(j),F=D(N),I=P.total+F.total,R=v,z=v;if(I>0){let e=v*2,t=v*.3;R=Math.max(t,e*(P.total/I)),z=Math.max(t,e*(F.total/I))}let B=u*2;R=Math.max(R,P.max*B),z=Math.max(z,F.max*B),k=Math.max(R,v),A&&A.attr(`y1`,k).attr(`y2`,k),x.select(`.ishikawa-head-group`).attr(`transform`,`translate(0,${k})`);let V=Math.ceil(h.length/2);for(let e=0;e<V;e++){let t=x.append(`g`).attr(`class`,`ishikawa-pair`);for(let[n,r,i]of[[h[e*2],-1,R],[h[e*2+1],1,z]])n&&M(t,n,E,k,r,i,u,C);E=t.selectAll(`text`).nodes().reduce((e,t)=>Math.min(e,t.getBBox().x),1/0)}if(m)L(x,E,k,0,k,`ishikawa-spine`,C);else{A.attr(`x1`,E);let e=`url(#${w})`;x.selectAll(`line.ishikawa-branch, line.ishikawa-sub-branch`).attr(`marker-start`,e)}T(b,g,y)},`draw`),D=e(t=>{let n=e(e=>e.children.reduce((e,t)=>e+1+n(t),0),`countDescendants`);return t.reduce((e,t)=>{let r=n(t);return e.total+=r,e.max=Math.max(e.max,r),e},{total:0,max:0})},`sideStats`),O=e((e,t,n,r,i,a)=>{let o=Math.max(6,Math.floor(110/(i*.6))),s=e.append(`g`).attr(`class`,`ishikawa-head-group`).attr(`transform`,`translate(${t},${n})`),c=F(s,P(r,o),0,0,`ishikawa-head-label`,`start`,i),l=c.node().getBBox(),u=Math.max(60,l.width+6),d=Math.max(40,l.height*2+40),f=`M 0 ${-d/2} L 0 ${d/2} Q ${u*2.4} 0 0 ${-d/2} Z`;if(a){let e=a.roughSvg.path(f,{roughness:1.5,seed:a.seed,fill:a.fillColor,fillStyle:`hachure`,fillWeight:2.5,hachureGap:5,stroke:a.lineColor,strokeWidth:2});s.insert(()=>e,`:first-child`).attr(`class`,`ishikawa-head`)}else s.insert(`path`,`:first-child`).attr(`class`,`ishikawa-head`).attr(`d`,f);c.attr(`transform`,`translate(${(u-l.width)/2-l.x+3},${-l.y-l.height/2})`)},`drawHead`),k=e((t,n)=>{let r=[],i=[],a=e((e,t,o)=>{let s=n===-1?[...e].reverse():e;for(let e of s){let n=r.length,s=e.children??[];r.push({depth:o,text:P(e.text,15),parentIndex:t,childCount:s.length}),o%2==0?(i.push(n),s.length&&a(s,n,o+1)):(s.length&&a(s,n,o+1),i.push(n))}},`walk`);return a(t,-1,2),{entries:r,yOrder:i}},`flattenTree`),A=e((e,t,n,r,i,a,o)=>{let s=e.append(`g`).attr(`class`,`ishikawa-label-group`),c=F(s,t,n,r+11*i,`ishikawa-label cause`,`middle`,a).node().getBBox();if(o){let e=o.roughSvg.rectangle(c.x-20,c.y-2,c.width+40,c.height+4,{roughness:1.5,seed:o.seed,fill:o.fillColor,fillStyle:`hachure`,fillWeight:2.5,hachureGap:5,stroke:o.lineColor,strokeWidth:2});s.insert(()=>e,`:first-child`).attr(`class`,`ishikawa-label-box`)}else s.insert(`rect`,`:first-child`).attr(`class`,`ishikawa-label-box`).attr(`x`,c.x-20).attr(`y`,c.y-2).attr(`width`,c.width+40).attr(`height`,c.height+4)},`drawCauseLabel`),j=e((e,t,n,r,i,a)=>{let o=Math.sqrt(r*r+i*i);if(o===0)return;let s=r/o,c=i/o,l=-c*6,u=s*6,d=t,f=n,p=`M ${d} ${f} L ${d-s*6*2+l} ${f-c*6*2+u} L ${d-s*6*2-l} ${f-c*6*2-u} Z`,m=a.roughSvg.path(p,{roughness:1,seed:a.seed,fill:a.lineColor,fillStyle:`solid`,stroke:a.lineColor,strokeWidth:1});e.append(()=>m)},`drawArrowMarker`),M=e((e,t,n,r,i,a,o,s)=>{let c=t.children??[],l=a*(c.length?1:.2),u=-C*l,d=w*l*i,f=n+u,p=r+d;if(L(e,n,r,f,p,`ishikawa-branch`,s),s&&j(e,n,r,n-f,r-p,s),A(e,t.text,f,p,i,o,s),!c.length)return;let{entries:m,yOrder:h}=k(c,i),g=m.length,_=Array(g);for(let[e,t]of h.entries())_[t]=r+d*((e+1)/(g+1));let v=new Map;v.set(-1,{x0:n,y0:r,x1:f,y1:p,childCount:c.length,childrenDrawn:0});let S=-C,T=w*i,E=i<0?`ishikawa-label up`:`ishikawa-label down`;for(let[t,n]of m.entries()){let r=_[t],i=v.get(n.parentIndex),a=e.append(`g`).attr(`class`,`ishikawa-sub-group`),c=0,l=0,u=0;if(n.depth%2==0){let e=i.y1-i.y0;c=I(i.x0,i.x1,e?(r-i.y0)/e:.5),l=r,u=c-(n.childCount>0?b+n.childCount*x:y),L(a,c,r,u,r,`ishikawa-sub-branch`,s),s&&j(a,c,r,1,0,s),F(a,n.text,u,r,`ishikawa-label align`,`end`,o)}else{let e=i.childrenDrawn++;c=I(i.x0,i.x1,(i.childCount-e)/(i.childCount+1)),l=i.y0,u=c+S*((r-l)/T),L(a,c,l,u,r,`ishikawa-sub-branch`,s),s&&j(a,c,l,c-u,l-r,s),F(a,n.text,u,r,E,`end`,o)}n.childCount>0&&v.set(t,{x0:c,y0:l,x1:u,y1:r,childCount:n.childCount,childrenDrawn:0})}},`drawBranch`),N=e(e=>e.split(/<br\s*\/?>|\n/),`splitLines`),P=e((e,t)=>{if(e.length<=t)return e;let n=[];for(let r of e.split(/\s+/)){let e=n.length-1;e>=0&&n[e].length+1+r.length<=t?n[e]+=` `+r:n.push(r)}return n.join(`
|
|
7
|
-
`)},`wrapText`),F=e((e,t,n,r,i,a,o)=>{let s=N(t),c=o*1.05,l=e.append(`text`).attr(`class`,i).attr(`text-anchor`,a).attr(`x`,n).attr(`y`,r-(s.length-1)*c/2);for(let[e,t]of s.entries())l.append(`tspan`).attr(`x`,n).attr(`dy`,e===0?0:c).text(t);return l},`drawMultilineText`),I=e((e,t,n)=>e+(t-e)*n,`lerp`),L=e((e,t,n,r,i,a,o)=>{if(o){let s=o.roughSvg.line(t,n,r,i,{roughness:1.5,seed:o.seed,stroke:o.lineColor,strokeWidth:2});e.append(()=>s).attr(`class`,a)}else return e.append(`line`).attr(`class`,a).attr(`x1`,t).attr(`y1`,n).attr(`x2`,r).attr(`y2`,i)},`drawLine`),R={parser:h,get db(){return new g},renderer:{draw:E},styles:e(e=>`
|
|
8
|
-
.ishikawa .ishikawa-spine,
|
|
9
|
-
.ishikawa .ishikawa-branch,
|
|
10
|
-
.ishikawa .ishikawa-sub-branch {
|
|
11
|
-
stroke: ${e.lineColor};
|
|
12
|
-
stroke-width: 2;
|
|
13
|
-
fill: none;
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
.ishikawa .ishikawa-sub-branch {
|
|
17
|
-
stroke-width: 1;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
.ishikawa .ishikawa-arrow {
|
|
21
|
-
fill: ${e.lineColor};
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
.ishikawa .ishikawa-head {
|
|
25
|
-
fill: ${e.mainBkg};
|
|
26
|
-
stroke: ${e.lineColor};
|
|
27
|
-
stroke-width: 2;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
.ishikawa .ishikawa-label-box {
|
|
31
|
-
fill: ${e.mainBkg};
|
|
32
|
-
stroke: ${e.lineColor};
|
|
33
|
-
stroke-width: 2;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
.ishikawa text {
|
|
37
|
-
font-family: ${e.fontFamily};
|
|
38
|
-
font-size: ${e.fontSize};
|
|
39
|
-
fill: ${e.textColor};
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
.ishikawa .ishikawa-head-label {
|
|
43
|
-
font-weight: 600;
|
|
44
|
-
text-anchor: middle;
|
|
45
|
-
dominant-baseline: middle;
|
|
46
|
-
font-size: 14px;
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
.ishikawa .ishikawa-label {
|
|
50
|
-
text-anchor: end;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
.ishikawa .ishikawa-label.cause {
|
|
54
|
-
text-anchor: middle;
|
|
55
|
-
dominant-baseline: middle;
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
.ishikawa .ishikawa-label.align {
|
|
59
|
-
text-anchor: end;
|
|
60
|
-
dominant-baseline: middle;
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
.ishikawa .ishikawa-label.up {
|
|
64
|
-
dominant-baseline: baseline;
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
.ishikawa .ishikawa-label.down {
|
|
68
|
-
dominant-baseline: hanging;
|
|
69
|
-
}
|
|
70
|
-
`,`getStyles`)};export{R as diagram};
|