@leterhong/multichat 1.6.0 → 1.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.
Files changed (83) hide show
  1. package/README.md +9 -22
  2. package/backend/dist/routes/agents.js +4 -2
  3. package/backend/dist/routes/agents.js.map +1 -1
  4. package/backend/dist/routes/assistants.js +4 -2
  5. package/backend/dist/routes/assistants.js.map +1 -1
  6. package/backend/dist/routes/chat.js +45 -13
  7. package/backend/dist/routes/chat.js.map +1 -1
  8. package/backend/dist/routes/control-plane.js +25 -18
  9. package/backend/dist/routes/control-plane.js.map +1 -1
  10. package/backend/dist/routes/conversations.js +116 -30
  11. package/backend/dist/routes/conversations.js.map +1 -1
  12. package/backend/dist/routes/import.js +5 -4
  13. package/backend/dist/routes/import.js.map +1 -1
  14. package/backend/dist/routes/mock.js +3 -0
  15. package/backend/dist/routes/mock.js.map +1 -1
  16. package/backend/dist/routes/prompt-templates.js +50 -0
  17. package/backend/dist/routes/prompt-templates.js.map +1 -0
  18. package/backend/dist/routes/providers.js +15 -4
  19. package/backend/dist/routes/providers.js.map +1 -1
  20. package/backend/dist/routes/runs.js +35 -16
  21. package/backend/dist/routes/runs.js.map +1 -1
  22. package/backend/dist/routes/tools.js +15 -13
  23. package/backend/dist/routes/tools.js.map +1 -1
  24. package/backend/dist/runtime/auto-snapshot.js +73 -0
  25. package/backend/dist/runtime/auto-snapshot.js.map +1 -0
  26. package/backend/dist/server.js +3 -0
  27. package/backend/dist/server.js.map +1 -1
  28. package/backend/package.json +5 -2
  29. package/backend/routes/agents.ts +6 -4
  30. package/backend/routes/assistants.ts +4 -2
  31. package/backend/routes/chat.ts +43 -13
  32. package/backend/routes/control-plane.ts +22 -14
  33. package/backend/routes/conversations.ts +105 -29
  34. package/backend/routes/import.ts +11 -10
  35. package/backend/routes/mock.ts +4 -0
  36. package/backend/routes/prompt-templates.ts +38 -0
  37. package/backend/routes/providers.ts +14 -4
  38. package/backend/routes/runs.ts +42 -20
  39. package/backend/routes/tools.ts +14 -12
  40. package/backend/runtime/auto-snapshot.ts +60 -0
  41. package/backend/server.ts +3 -0
  42. package/bin/multichat.mjs +18 -0
  43. package/frontend/dist/assets/agentPicker-DIOlVr1C.js +18 -0
  44. package/frontend/dist/assets/assets-D2_TVEqD.js +1 -0
  45. package/frontend/dist/assets/compare-BYqbOF36.js +1 -0
  46. package/frontend/dist/assets/conversations-DSJtvviE.js +1 -0
  47. package/frontend/dist/assets/data-D6TAf2h9.js +1 -0
  48. package/frontend/dist/assets/{extensionImport-CnTWKtWm.js → extensionImport-C2cHyfeC.js} +7 -7
  49. package/frontend/dist/assets/importExport-BWpKt1dW.js +69 -0
  50. package/frontend/dist/assets/index-BaUGyQ3C.js +46 -0
  51. package/frontend/dist/assets/index-DXwClNo-.css +1 -0
  52. package/frontend/dist/assets/init-DUZJcBWS.js +1 -0
  53. package/frontend/dist/assets/modal-CO4he94s.js +2 -0
  54. package/frontend/dist/assets/modelPicker-Ddloc_nz.js +14 -0
  55. package/frontend/dist/assets/pluginsUI-28Rxtlgo.js +16 -0
  56. package/frontend/dist/assets/react-CDEwA66Z.js +1 -0
  57. package/frontend/dist/assets/{render-DgAg1K8A.js → render-BVmIwN3C.js} +1 -1
  58. package/frontend/dist/assets/send-yu3ud0kM.js +14 -0
  59. package/frontend/dist/assets/settings-IUzleKUb.js +2 -0
  60. package/frontend/dist/assets/{shell-DFV2khQl.js → shell-BLqMMR-L.js} +1 -1
  61. package/frontend/dist/assets/workbench-ChZGUESv.js +40 -0
  62. package/frontend/dist/boot-fallback.js +16 -0
  63. package/frontend/dist/icon-maskable.svg +6 -3
  64. package/frontend/dist/icon.svg +6 -3
  65. package/frontend/dist/index.html +11 -4
  66. package/frontend/dist/manifest.webmanifest +2 -2
  67. package/frontend/dist/theme-seed.js +11 -0
  68. package/package.json +4 -1
  69. package/frontend/dist/assets/agentPicker-C39VzmYa.js +0 -13
  70. package/frontend/dist/assets/compare-BpaGD32J.js +0 -1
  71. package/frontend/dist/assets/conversations-COuLmg99.js +0 -7
  72. package/frontend/dist/assets/data-ZH7Dux1K.js +0 -1
  73. package/frontend/dist/assets/importExport-B3mB-9zs.js +0 -70
  74. package/frontend/dist/assets/index-CASVCOUO.js +0 -34
  75. package/frontend/dist/assets/index-DSvbjNLc.css +0 -1
  76. package/frontend/dist/assets/init-ZPK483vB.js +0 -1
  77. package/frontend/dist/assets/jsx-runtime-ZSsbr0oW.js +0 -9
  78. package/frontend/dist/assets/modal-CgHocv3n.js +0 -2
  79. package/frontend/dist/assets/modelPicker-EUmmVnbj.js +0 -14
  80. package/frontend/dist/assets/pluginsUI-B6jGUQkx.js +0 -16
  81. package/frontend/dist/assets/send-BJhZ_5YA.js +0 -14
  82. package/frontend/dist/assets/settings-DdnYwZl-.js +0 -2
  83. package/frontend/dist/assets/workbench-BY2J4vWC.js +0 -41
@@ -1 +0,0 @@
1
- :root{--mc-canvas:#f6f7f9;--mc-surface:#fff;--mc-surface-subtle:#eef1f5;--mc-surface-hover:#f0f3f8;--mc-sidebar:#101828;--mc-sidebar-raised:#1d2939;--mc-text:#172033;--mc-text-muted:#5f6b7d;--mc-text-subtle:#758195;--mc-text-faint:#8b95a5;--mc-text-disabled:#b0b8c4;--mc-line-faint:#1720330a;--mc-line:#e3e7ed;--mc-line-strong:#cfd6df;--mc-accent:#315fce;--mc-accent-strong:#244cae;--mc-accent-soft:#eaf0ff;--mc-accent-line:#315fce80;--mc-accent-cyan:#288b91;--mc-on-accent:#fff;--mc-user-surface:#edf2ff;--mc-user-line:#dbe5ff;--mc-warning:#a15c12;--mc-warning-soft:#fff5e7;--mc-danger:#c2414b;--mc-danger-soft:#fff0f1;--mc-success:#25815e;--mc-success-soft:#e8f5ef;--mc-radius-sm:7px;--mc-radius-md:11px;--mc-radius-lg:16px;--mc-shadow-xs:0 1px 2px #1720330a;--mc-shadow-sm:0 10px 28px #17203312;--mc-shadow:0 16px 40px #1720331a;--mc-shadow-pop:0 30px 90px #0e172840;--mc-font-sans:"Inter","Aptos",-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;--mc-font-mono:"JetBrains Mono","SF Mono","Menlo","Consolas","Liberation Mono",monospace;--mc-easing:cubic-bezier(.22,.72,.2,1);--mc-radius-pill:999px;--mc-scrollbar-thumb:#484e7038;--mc-scrollbar-thumb-hover:#484e7061}:root[data-theme=dark]{--mc-canvas:#101522;--mc-surface:#171e2d;--mc-surface-subtle:#111827;--mc-surface-hover:#202a3b;--mc-text:#eef2f8;--mc-text-muted:#b3bdcc;--mc-text-subtle:#8d99aa;--mc-text-faint:#748094;--mc-text-disabled:#566176;--mc-line-faint:#ffffff09;--mc-line:#2a3547;--mc-line-strong:#3b485d;--mc-accent:#7f9eea;--mc-accent-strong:#9ab3f2;--mc-accent-soft:#21315a;--mc-accent-line:#7c9dec8c;--mc-user-surface:#22345e;--mc-user-line:#304779;--mc-warning-soft:#402f20;--mc-danger-soft:#44252d;--mc-success-soft:#17392e;--mc-scrollbar-thumb:#ffffff29;--mc-scrollbar-thumb-hover:#ffffff47;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}body,html{height:100%;margin:0;padding:0}body{background:var(--bg-base);color:var(--label-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.55;overflow:hidden}button{cursor:pointer;background:0 0;border:none;padding:0}button,input,select,textarea{color:inherit;font:inherit}a{color:inherit;text-decoration:none}::selection{background:#0000001a}[tabindex]:focus-visible,button:focus-visible{outline-offset:2px;outline:3px solid #5b52df47}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.app{grid-template-columns:268px 1fr;height:100vh;display:grid;overflow:hidden}.sidebar{background:var(--bg-base);border-right:1px solid var(--border-l2);-webkit-user-select:none;user-select:none;flex-direction:column;min-width:0;display:flex}.brand{color:var(--label-primary);letter-spacing:-.01em;align-items:center;gap:10px;padding:18px 18px 12px;font-size:15px;font-weight:600;display:flex}.brand-logo{background:var(--state-business-primary);color:var(--state-business-on-primary);border-radius:7px;place-items:center;width:26px;height:26px;font-size:14px;font-weight:700;display:grid}.new-chat{background:var(--bg-elevated);border:1px solid var(--border-l2);border-radius:var(--radius-md);color:var(--label-primary);transition:background .12s var(--easing),border-color .12s var(--easing);align-items:center;gap:8px;margin:4px 12px 12px;padding:9px 12px;font-size:13.5px;font-weight:500;display:flex}.new-chat .plus{font-size:16px;line-height:1}.conv-section-title{color:var(--label-caption);letter-spacing:.04em;text-transform:uppercase;padding:8px 18px 6px;font-size:11px;font-weight:600}.conv-list{flex:1;padding:0 8px 8px;overflow-y:auto}.conv-item{border-radius:var(--radius-md);color:var(--label-secondary);cursor:pointer;text-overflow:ellipsis;transition:background .1s var(--easing),color .1s var(--easing);white-space:nowrap;align-items:center;gap:8px;padding:8px 12px;font-size:13.5px;display:flex;overflow:hidden}.conv-item:hover{background:var(--bg-hover);color:var(--label-primary)}.conv-item.active{background:var(--bg-active);color:var(--label-primary);font-weight:500}.conv-item .conv-dot{background:var(--label-dimmed);border-radius:50%;flex:none;width:5px;height:5px}.conv-item.active .conv-dot{background:var(--state-ongoing)}.conv-item .conv-del{color:var(--label-caption);opacity:0;border-radius:4px;margin-left:auto;padding:0 4px;font-size:14px}.conv-item:hover .conv-del{opacity:1}.conv-item .conv-del:hover{background:var(--state-error-bg);color:var(--state-error-primary)}.main{flex-direction:column;min-width:0;min-height:0;position:relative}.main,.topbar{background:var(--bg-base);display:flex}.topbar{border-bottom:1px solid var(--border-l2);align-items:center;gap:12px;height:52px}.topbar-title{color:var(--label-primary);font-weight:600}.topbar-spacer{flex:1}.model-picker{background:var(--bg-elevated);border:1px solid var(--border-l2);border-radius:var(--radius-pill);color:var(--label-primary);max-width:360px;transition:background .12s var(--easing);align-items:center;gap:8px;padding:6px 10px 6px 12px;font-size:13px;display:inline-flex}.model-picker:hover{background:var(--bg-hover)}.model-picker .mp-name{text-overflow:ellipsis;white-space:nowrap;max-width:220px;overflow:hidden}.model-picker .mp-caret{color:var(--label-caption);font-size:10px}.icon-btn{border-radius:var(--radius-md);color:var(--label-secondary);transition:background .12s var(--easing),color .12s var(--easing);border:1px solid #0000;padding:6px 12px;font-size:13px}.icon-btn:hover{background:var(--bg-hover);color:var(--label-primary)}.content{flex:1;min-height:0;position:relative;overflow:hidden auto}.hero{flex-direction:column;justify-content:center;align-items:center;padding:40px 24px 24px;display:flex}.hero-greeting{color:var(--label-primary);letter-spacing:-.02em;text-align:center;margin-bottom:8px;font-size:28px;font-weight:600}.hero-sub{text-align:center;margin-bottom:32px;font-size:14px}.hero-card{background:var(--bg-elevated);border:1px solid var(--border-l2);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);transition:border-color .15s var(--easing),box-shadow .15s var(--easing);width:100%;padding:14px 16px 10px 18px}.hero-input{color:var(--label-primary);resize:none;background:0 0;border:none;outline:none;width:100%;min-height:24px;max-height:240px;padding:0;line-height:1.55}.hero-input::placeholder{color:var(--label-dimmed)}.hero-actions{align-items:center;gap:8px;margin-top:8px;display:flex}.hero-actions .spacer{flex:1}.hero-tag{background:var(--bg-sunken);border-radius:var(--radius-pill);transition:background .12s var(--easing);border:1px solid #0000;align-items:center;gap:6px;padding:4px 10px;font-size:12px;display:inline-flex}.send-btn{background:var(--state-business-primary);color:var(--state-business-on-primary);transition:background .12s var(--easing);border-radius:50%;place-items:center;font-size:15px;line-height:1;display:grid}.send-btn:disabled{background:var(--label-dimmed);cursor:not-allowed}.send-btn.stop{background:var(--state-error-primary)}.hero-hint{color:var(--label-caption);text-align:center;margin-top:10px;font-size:12px}.transcript{max-width:var(--content-width);margin:0 auto;padding:24px 16px 200px}.msg{align-items:flex-start;gap:14px;margin-bottom:28px;display:flex}.msg-avatar{color:#fff;border-radius:50%;flex:none;place-items:center;width:32px;height:32px;font-size:13px;font-weight:600;display:grid}.msg.user .msg-avatar{background:var(--accent-soft)}.msg-body{flex:1;min-width:0}.msg-role{color:var(--label-primary);align-items:center;gap:8px;margin-bottom:4px;font-size:13px;font-weight:600;display:flex}.msg-role .msg-model{background:var(--bg-sunken);border-radius:var(--radius-pill);color:var(--label-caption);padding:2px 8px;font-size:11.5px;font-weight:400}.msg.user .msg-body{background:var(--bubble-user);border:1px solid var(--bubble-user-border);border-radius:18px 18px 6px;flex:0 auto;width:fit-content;min-width:44px;max-width:100%;padding:9px 14px;position:relative}.msg.user .msg-content{overflow-wrap:anywhere;font-size:14.5px;line-height:1.6}.msg.user .msg-actions{white-space:nowrap;justify-content:flex-end;margin:0;position:absolute;top:calc(100% + 2px);right:2px}.msg.assistant{max-width:100%}.msg-content{color:var(--label-primary);word-wrap:break-word;font-size:14.5px;line-height:1.7}.msg-content p{margin:0 0 10px}.msg-content p:last-child{margin-bottom:0}.msg-content pre{border-radius:var(--radius-md);color:#e6e6e6;font-family:var(--font-mono);background:#1a1d24;margin:10px 0;padding:12px 14px;font-size:12.5px;line-height:1.55;overflow-x:auto}.msg-content code{background:var(--bg-sunken);color:var(--label-secondary);font-family:var(--font-mono);border-radius:4px;padding:1px 5px;font-size:.9em}.msg-content pre code{color:inherit;font-size:inherit;background:0 0;padding:0}.code-block{position:relative}.code-copy{color:#b9bfc9;cursor:pointer;transition:background .12s var(--easing),color .12s var(--easing);background:#ffffff14;border:1px solid #ffffff24;border-radius:6px;padding:4px 8px;font-size:11.5px;line-height:1;position:absolute;top:8px;right:8px}.code-copy:hover{color:#fff;background:#ffffff29}.msg-content ol,.msg-content ul{margin:6px 0 10px;padding-left:22px}.msg-content li{margin:3px 0}.msg-content strong{font-weight:600}.msg-content em{color:var(--label-secondary);font-style:italic}.msg-content a{color:var(--label-primary-bluish);text-underline-offset:2px;text-decoration:underline}.msg-content blockquote{background:var(--bg-hover);border-left:3px solid var(--border-l3);border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--label-secondary);margin:8px 0;padding:4px 12px}.msg-content h1,.msg-content h2,.msg-content h3{margin:14px 0 8px;line-height:1.3}.msg-content h1{font-size:1.4em}.msg-content h2{font-size:1.2em}.msg-content h3{font-size:1.05em}.msg-actions{opacity:0;transition:opacity .12s var(--easing);gap:4px;margin-top:6px;display:flex}.msg.streaming .msg-actions,.msg:hover .msg-actions{opacity:1}.msg-action{color:var(--label-caption);border-radius:6px;align-items:center;gap:4px;padding:3px 8px;font-size:12px;display:inline-flex}.msg-action:hover{background:var(--bg-hover);color:var(--label-primary)}.busy-label{background:linear-gradient(90deg,var(--accent) 0,var(--accent) 40%,var(--accent-soft2) 50%,var(--accent) 60%,var(--accent) 100%);color:#0000;letter-spacing:.01em;-webkit-text-fill-color:transparent;background-position:100% 0;background-size:220% 100%;-webkit-background-clip:text;background-clip:text;font-size:12px;font-weight:500;animation:1.8s linear infinite busy-shimmer}@keyframes busy-shimmer{to{background-position:0 0}}@media (prefers-reduced-motion:reduce){.busy-label{color:var(--accent);-webkit-text-fill-color:var(--accent);background:0 0;animation:none}}.msg-stats{border-top:1px solid var(--border-l2);box-sizing:border-box;color:var(--label-tertiary);font-variant-numeric:tabular-nums;text-align:center;text-overflow:ellipsis;white-space:nowrap;width:100%;margin-top:12px;padding-top:10px;font-size:12px;line-height:20px;display:block;overflow:hidden}.msg-stats .sep{color:var(--label-dimmed);margin:0 10px}.msg-stats strong{color:var(--label-secondary);font-weight:600}.msg-stats .cached{color:var(--accent);font-weight:600}.msg-stats .speed{color:var(--label-secondary)}.think-row{margin:0 0 10px;display:block}.think-row>summary{color:var(--label-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:7px;font-size:13px;font-weight:500;list-style:none;display:inline-flex}.think-row>summary::-webkit-details-marker{display:none}.think-row .think-ico{color:var(--accent);fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;flex:none;width:14px;height:14px}.think-row .think-caret{border-bottom:1.5px solid var(--label-caption);border-right:1.5px solid var(--label-caption);height:6px;transition:transform .14s var(--easing);width:6px;margin-left:2px;transform:rotate(-45deg)}.think-row[open]>summary .think-caret{transform:rotate(45deg)}.think-row .think-summary{color:var(--label-tertiary);text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.think-body{color:var(--label-tertiary);white-space:pre-wrap;word-break:break-word;padding:6px 0 2px 22px;font-size:13.5px;line-height:1.7}.think-row[data-state=running]>summary{position:relative;overflow:hidden}.think-row[data-state=running]>summary:after{background:linear-gradient(90deg,transparent 0,var(--bg-base) 60%,transparent 100%);content:"";pointer-events:none;width:120px;animation:2.4s ease-out infinite think-sweep;position:absolute;top:0;bottom:0;left:0}@keyframes think-sweep{0%{left:-120px}90%,to{left:100%}}@media (prefers-reduced-motion:reduce){.think-row[data-state=running]>summary:after{animation:none}}.tool-card{background:var(--bg-sunken);border:1px solid var(--border-l2);border-radius:var(--radius-md);margin:0 0 10px;overflow:hidden}.tool-card[data-state=error]{border-color:#d44c4c59}.tool-card>summary{color:var(--label-primary);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:9px;padding:9px 12px;font-size:13px;list-style:none;display:flex}.tool-card>summary::-webkit-details-marker{display:none}.tool-card .tool-ico{color:var(--accent);fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;flex:none;width:14px;height:14px}.tool-card[data-state=error] .tool-ico{color:var(--state-error-primary)}.tool-card .tool-name{font-weight:600}.tool-card .tool-sep{background:var(--label-dimmed);border-radius:50%;flex:none;width:3px;height:3px}.tool-card .tool-summary{color:var(--label-tertiary);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.tool-card .tool-caret{border-bottom:1.5px solid var(--label-caption);border-right:1.5px solid var(--label-caption);height:6px;transition:transform .14s var(--easing);width:6px;margin-left:2px;transform:rotate(-45deg)}.tool-card[open]>summary .tool-caret{transform:rotate(45deg)}.tool-card .tool-body{color:var(--label-secondary);font-family:var(--font-mono);white-space:pre-wrap;word-break:break-word;margin:0;padding:2px 12px 12px 35px;font-size:11.5px;line-height:1.6}.approval-wrap{flex-direction:column;gap:8px;margin:2px 0 10px;display:flex}.approval-card{background:var(--bg-sunken);border:1px solid var(--border-l2);border-radius:var(--radius-md);overflow:hidden}.approval-card.pending{border-color:#e0a93b;box-shadow:0 0 0 1px #e0a93b26}.approval-card.is-approved{border-color:#2f9e6b}.approval-card.is-rejected{border-color:#c8553d}.ap-head{border-bottom:1px solid var(--border-l2);align-items:center;gap:8px;padding:9px 12px;display:flex}.ap-badge{color:#fff;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700}.ap-badge.risk-high{background:#c8553d}.ap-badge.risk-med{background:#e0a93b}.ap-badge.risk-low{background:#5b8def}.ap-tool{color:var(--label-primary);font-size:13px;font-weight:600}.ap-perm{background:var(--bg-elevated);border:1px solid var(--border-l2);color:var(--label-secondary);border-radius:999px;padding:1px 7px;font-size:11px}.ap-perm.ap-trust{color:#2f9e6b;border-color:#2f9e6b}.ap-args{color:var(--label-secondary);padding:8px 12px 0;font-size:12px}.ap-args-label{color:var(--label-dimmed);margin-right:6px;font-weight:600}.ap-args code{color:var(--label-primary);font-family:var(--mono);word-break:break-all}.ap-perms{flex-wrap:wrap;gap:5px;padding:6px 12px 0;display:flex}.ap-actions{gap:8px;padding:10px 12px 12px;display:flex}.ap-btn{background:var(--bg-elevated);border:1px solid var(--border-l2);border-radius:var(--radius-sm);color:var(--label-primary);cursor:pointer;flex:1;padding:7px 10px;font-size:13px;font-weight:600}.ap-btn.ap-approve{color:#fff;background:#2f9e6b;border-color:#2f9e6b}.ap-btn.ap-approve:hover{background:#278a5d}.ap-btn.ap-reject{background:var(--bg-elevated);color:var(--label-secondary)}.ap-btn.ap-reject:hover{color:#c8553d;border-color:#c8553d}.ap-btn:disabled{cursor:default;opacity:.6}.ap-resolved{padding:10px 12px 12px;font-size:13px;font-weight:600}.ap-resolved.ok{color:#2f9e6b}.ap-resolved.no{color:#c8553d}.trace-step.rej{background:#c8553d14}.trace-step.rej .trace-status{color:#c8553d}.mc-trace{background:var(--bg-sunken);border:1px solid var(--border-l2);border-radius:var(--radius-md);margin:0 0 10px;overflow:hidden}.mc-trace>summary{color:var(--label-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;padding:9px 12px;font-size:13px;font-weight:600;list-style:none;display:flex}.mc-trace>summary::-webkit-details-marker{display:none}.mc-trace .trace-ico{color:var(--accent);font-size:14px}.mc-trace .trace-title{flex:none}.mc-trace .trace-count{background:var(--bg-elevated);border:1px solid var(--border-l2);color:var(--label-dimmed);border-radius:999px;margin-left:auto;padding:1px 8px;font-size:11px;font-weight:500}.mc-trace .trace-body{flex-direction:column;gap:4px;padding:4px 12px 10px;display:flex}.trace-step{background:var(--bg-base);border:1px solid var(--border-l1);border-radius:var(--radius-sm);align-items:center;gap:8px;padding:6px 8px;font-size:12px;display:flex}.trace-step .trace-ico-svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;flex:none;width:14px;height:14px}.trace-step.ok .trace-ico-svg{color:var(--accent)}.trace-step.err .trace-ico-svg{color:var(--state-error-primary)}.trace-step.run .trace-ico-svg{color:var(--label-caption)}.trace-step .trace-main{flex-direction:column;flex:1;min-width:0;display:flex}.trace-step .trace-label{color:var(--label-secondary);font-weight:600}.trace-step .trace-label,.trace-step .trace-sub{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.trace-step .trace-sub{color:var(--label-tertiary);font-family:var(--font-mono);font-size:11px}.trace-step .trace-status{flex:none;font-weight:700}.trace-step.ok .trace-status{color:var(--accent)}.trace-step.err .trace-status{color:var(--state-error-primary)}.trace-step.run .trace-status{color:var(--label-caption)}.trace-step .trace-dur{color:var(--label-dimmed);flex:none;margin-left:2px;font-size:11px}.composer-wrap{background:linear-gradient(to bottom,#f5f5f500 0,var(--bg-base) 30%,var(--bg-base) 100%);padding:0 var(--composer-side-clearance) 12px var(--composer-side-clearance);pointer-events:none;position:absolute;bottom:0;left:0;right:0}.composer-wrap>*{pointer-events:auto}.composer{background:var(--bg-elevated);border:1px solid var(--border-l2);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);max-width:var(--composer-card-max-width);transition:border-color .15s var(--easing),box-shadow .15s var(--easing);flex-direction:column;margin:0 auto;padding:10px 12px 8px 16px;display:flex}.composer:focus-within{box-shadow:var(--shadow-md)}.file-ctx{border-bottom:1px solid var(--border-l2);max-height:168px;padding:8px 4px 6px;overflow:auto}.file-ctx-head{align-items:center;gap:8px;display:flex}.fc-title{color:var(--label-secondary);font-size:12px;font-weight:600}.fc-count{color:var(--label-caption);font-size:11px}.fc-min{color:var(--label-secondary);cursor:pointer;background:0 0;border:none;margin-left:auto;padding:0 4px;font-size:12px}.file-ctx-body.collapsed{display:none}.fc-empty{color:var(--label-caption);padding:4px 2px;font-size:11.5px}.fc-item{color:var(--label-primary);align-items:center;gap:8px;padding:3px 2px;font-size:12.5px;display:flex}.fc-item .fc-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.fc-item .fc-meta{color:var(--label-caption);white-space:nowrap;font-size:10.5px}.fc-actions{gap:6px;margin-top:4px;display:flex}.composer-input{color:var(--label-primary);resize:none;background:0 0;border:none;outline:none;width:100%;min-height:24px;max-height:240px;padding:0;font-size:15px;line-height:1.55}.content.drag-over{outline:2px dashed var(--border-l4);outline-offset:-6px}.conv-search{background:var(--bg-elevated);border:1px solid var(--border-l2);border-radius:var(--radius-md);box-sizing:border-box;color:var(--label-primary);outline:none;width:100%;margin:8px 0 4px;padding:7px 10px;font-size:13px}.conv-search:focus{border-color:var(--border-l4)}.composer-input::placeholder{color:var(--label-dimmed)}.composer-actions{align-items:center;gap:8px;margin-top:4px;display:flex}.composer-actions .spacer{flex:1}.composer-tool{border:1px solid var(--border-l2);border-radius:var(--radius-pill);color:var(--label-secondary);min-height:27px;transition:color .12s var(--easing),border-color .12s var(--easing),background .12s var(--easing);background:0 0;align-items:center;gap:4px;padding:3px 8px;font-size:12px;display:inline-flex}.composer-tool:hover{background:var(--accent-soft);border-color:var(--border-l4);color:var(--accent)}.composer-hint{max-width:var(--composer-card-max-width);text-align:center;margin-top:6px;margin-left:auto;margin-right:auto;font-size:11.5px}.scrim{opacity:0;pointer-events:none;transition:opacity .18s var(--easing);z-index:50;background:#0000004d;position:fixed;inset:0}.scrim.open{opacity:1;pointer-events:auto}.settings{background:var(--bg-elevated);transition:transform .22s var(--easing);z-index:60;grid-template-columns:240px 1fr;display:grid;position:fixed;inset:0;transform:translate(100%)}.settings.open{transform:translate(0)}.settings-side{background:var(--bg-base);border-right:1px solid var(--border-l2);flex-direction:column;padding:18px 12px;display:flex}.settings-side h2{letter-spacing:-.01em;margin:0 6px 16px;font-size:16px;font-weight:600}.settings-side .settings-tab{border-radius:var(--radius-md);color:var(--label-secondary);text-align:left;transition:background .12s var(--easing),color .12s var(--easing);align-items:center;gap:10px;margin-bottom:2px;padding:8px 12px;font-size:13.5px;display:flex}.settings-side .settings-tab:hover{background:var(--bg-hover);color:var(--label-primary)}.settings-side .settings-tab.active{background:var(--bg-active);color:var(--label-primary);font-weight:500}.tab-ico{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;flex:none;width:16px;height:16px}.settings-top{z-index:2;align-items:center;gap:8px;display:flex;position:absolute;top:18px;right:18px}.settings-body{scrollbar-gutter:stable;min-width:0;padding:24px 32px 32px;overflow:hidden auto}.settings-body h3{letter-spacing:-.01em;margin:0 0 4px;font-size:18px;font-weight:600}.settings-body .lead{color:var(--label-tertiary);margin:0 0 24px;font-size:13px}.provider-card{background:var(--bg-base);border:1px solid var(--border-l2);border-radius:var(--radius-lg);margin-bottom:16px;padding:18px 20px}.provider-card h4{margin:0 0 4px;font-weight:600}.provider-card .pmeta{color:var(--label-caption);margin-bottom:14px;font-size:12px}.provider-row{justify-content:flex-end;gap:10px;margin-top:12px;display:flex}.field{margin-bottom:14px}.field label{color:var(--label-secondary);margin-bottom:6px;font-size:12.5px;font-weight:500;display:block}.field input,.field select,.field textarea{border:1px solid var(--border-l3);border-radius:var(--radius-md);color:var(--label-primary);transition:border-color .12s var(--easing);width:100%;padding:9px 12px;font-size:14px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--label-primary);outline:none}.field input[type=range]{accent-color:var(--state-business-primary);border:none;padding:0}.btn-primary{background:var(--state-business-primary);border-radius:var(--radius-md);color:var(--state-business-on-primary);transition:background .12s var(--easing);padding:10px 14px;font-size:14px;font-weight:500}.btn-ghost{border:1px solid var(--border-l3);border-radius:var(--radius-md);color:var(--label-primary);transition:background .12s var(--easing);background:0 0;padding:8px 14px;font-size:13px;font-weight:500}.btn-ghost:hover{background:var(--bg-hover)}.add-provider{grid-template-columns:1fr 1fr;gap:14px;margin-top:20px;display:grid}.add-tile{background:var(--bg-elevated);border:1.5px dashed var(--border-l3);border-radius:var(--radius-lg);color:var(--label-secondary);cursor:pointer;text-align:center;transition:background .12s var(--easing),border-color .12s var(--easing),color .12s var(--easing);padding:22px;font-size:14px}.add-tile:hover{background:var(--bg-hover);border-color:var(--label-primary);color:var(--label-primary)}.add-tile .ico{margin-right:4px;font-size:18px}.card-grid{grid-template-columns:repeat(auto-fill,minmax(228px,1fr));gap:14px;display:grid}.mc-card{background:var(--bg-elevated);border:1px solid var(--border-l2);border-radius:var(--radius-lg);cursor:pointer;transition:border-color .14s var(--easing),box-shadow .14s var(--easing),transform .14s var(--easing);flex-direction:column;gap:9px;padding:16px;display:flex;position:relative}.mc-card:hover{border-color:var(--border-l4);transform:translateY(-1px)}.mc-card .mc-top{align-items:center;gap:11px;display:flex}.mc-card .mc-ico{background:var(--bg-sunken);color:var(--label-primary);border-radius:10px;flex:none;place-items:center;width:36px;height:36px;display:grid}.mc-card .mc-ico svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:19px;height:19px}.mc-card .mc-title{color:var(--label-primary);font-size:14px;font-weight:600}.mc-card .mc-sub,.mc-card .mc-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mc-card .mc-sub{color:var(--label-caption);font-size:11px}.mc-card .mc-desc{color:var(--label-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:38px;font-size:12.5px;line-height:1.5;display:-webkit-box;overflow:hidden}.mc-card .mc-tags{flex-wrap:wrap;gap:6px;display:flex}.mc-card .mc-tag{border:1px solid var(--border-l2);border-radius:var(--radius-pill);color:var(--label-tertiary);white-space:nowrap;padding:2px 8px;font-size:11px}.mc-card .mc-tag.on{background:var(--bg-elevated);border-color:var(--border-l4);color:var(--label-primary)}.mc-card .mc-actions{opacity:0;transition:opacity .12s var(--easing);gap:5px;display:flex;position:absolute;top:10px;right:10px}.mc-card:hover .mc-actions{opacity:1}.mc-card .mc-act{background:var(--bg-sunken);color:var(--label-secondary);cursor:pointer;border:none;border-radius:7px;place-items:center;width:27px;height:27px;display:grid}.mc-card .mc-act svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:14px;height:14px}.mc-card .mc-act:hover{background:var(--border-l3);color:var(--label-primary)}.mc-card .mc-act.danger:hover{background:var(--state-error-bg);color:var(--state-error-primary)}.mc-add{border:1.5px dashed var(--border-l3);border-radius:var(--radius-lg);color:var(--label-caption);cursor:pointer;font:inherit;min-height:150px;transition:border-color .14s var(--easing),color .14s var(--easing),background .14s var(--easing);background:0 0;flex-direction:column;justify-content:center;align-items:center;gap:7px;width:100%;display:flex}.mc-add:hover{background:var(--bg-elevated);border-color:var(--label-tertiary);color:var(--label-secondary)}.mc-add .plus{font-size:22px;line-height:1}.mc-add .plus-t{font-size:13px}.mc-toggle{color:var(--label-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:12px;display:inline-flex}.mc-switch{background:var(--border-l3);height:19px;transition:background .14s var(--easing);border-radius:999px;flex:none;width:34px;position:relative}.mc-switch:after{content:"";height:15px;transition:transform .14s var(--easing);background:#fff;border-radius:50%;width:15px;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #00000040}.mc-toggle.on .mc-switch:after{transform:translate(15px)}.mc-card .mc-tag.mcp{background:var(--bg-elevated);border-color:var(--border-l4);color:var(--label-primary)}.mc-card .mc-tag.bundle{background:var(--bg-sunken);border-color:var(--border-l3);color:var(--label-secondary)}.mc-act.wide{border-radius:8px;gap:6px;width:auto;height:30px;padding:0 14px;font-size:12.5px;font-weight:500}.mc-act.primary,.mc-act.primary:hover{background:var(--label-primary);color:#fff}.mc-act.primary:hover{opacity:.88}.extension-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.extension-heading .lead{max-width:760px;margin-bottom:0}.extension-heading-actions{flex-wrap:wrap;flex:none;justify-content:flex-end;gap:8px;display:flex}.extension-source{color:var(--label-caption);justify-content:space-between;gap:8px;min-width:0;font-size:11px;display:flex}.extension-command,.extension-source>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.extension-command{background:var(--bg-sunken);border:1px solid var(--border-l2);color:var(--label-secondary);font:11px/1.45 var(--font-mono);border-radius:8px;padding:7px 9px}.extension-tool-list{flex-wrap:wrap;gap:5px;max-height:70px;display:flex;overflow:auto}.extension-tool-list span{background:var(--bg-sunken);color:var(--label-secondary);font:10.5px var(--font-mono);border-radius:6px;padding:2px 7px}.extension-diff{border-radius:var(--radius-md);color:#e6e6e6;font:11.5px/1.55 var(--font-mono);white-space:pre-wrap;word-break:break-word;background:#1a1d24;max-height:52vh;padding:12px;overflow:auto}.diff-context{background:var(--bg-sunken);border:1px solid var(--border-l2);border-radius:12px;justify-content:space-between;align-items:center;gap:16px;min-width:0;margin-bottom:12px;padding:11px 13px;display:flex}.diff-context>div{flex-direction:column;gap:2px;min-width:0;display:flex}.diff-context span{color:var(--label-caption);font-size:10.5px}.diff-context strong{color:var(--label-primary);font-size:13.5px}.diff-context code,.diff-context strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.diff-context code{background:var(--bg-elevated);color:var(--label-tertiary);font:10.5px var(--font-mono);border-radius:7px;max-width:46%;padding:4px 7px}.diff-summary{background:var(--bg-sunken);border:1px solid var(--border-l2);border-radius:14px;align-items:center;gap:12px;padding:14px;display:flex}.diff-summary-icon{border-radius:11px;flex:none;place-items:center;width:34px;height:34px;font-size:15px;font-weight:800;display:grid}.diff-summary>div{flex-direction:column;gap:3px;min-width:0;display:flex}.diff-summary strong{color:var(--label-primary);font-size:13.5px}.diff-summary span:last-child{color:var(--label-tertiary);font-size:11.5px;line-height:1.45}.diff-summary.clean{background:var(--state-success-bg);border-color:color-mix(in srgb,var(--state-ongoing) 22%,var(--border-l2))}.diff-summary.clean .diff-summary-icon{background:color-mix(in srgb,var(--state-ongoing) 12%,transparent);color:var(--state-ongoing)}.diff-summary.changed{background:var(--accent-soft);border-color:#5b52df33}.diff-summary.changed .diff-summary-icon{color:var(--accent);background:#5b52df1a}.diff-summary.warning{background:var(--state-warning-bg);border-color:color-mix(in srgb,var(--state-warning) 24%,var(--border-l2))}.diff-summary.warning .diff-summary-icon{background:color-mix(in srgb,var(--state-warning) 12%,transparent);color:var(--state-warning)}.diff-git-status{color:var(--label-caption);align-items:center;gap:10px;min-width:0;margin:14px 0 8px;font-size:11px;display:flex}.diff-git-status code{background:var(--bg-sunken);color:var(--label-secondary);font:10.5px var(--font-mono);text-overflow:ellipsis;white-space:nowrap;border-radius:6px;min-width:0;padding:3px 7px;overflow:hidden}.diff-message{background:var(--bg-sunken);border:1px dashed var(--border-l3);color:var(--label-tertiary);border-radius:11px;margin-top:8px;padding:12px 13px;font-size:11.5px;line-height:1.5}.diff-message.warning{background:var(--state-warning-bg);border-color:color-mix(in srgb,var(--state-warning) 24%,var(--border-l2));color:var(--state-warning)}.diff-message.error{background:var(--state-error-bg);border-color:color-mix(in srgb,var(--state-error-primary) 24%,var(--border-l2));color:var(--state-error-primary)}.modal .diff-actions{margin-top:16px}.diff-actions .btn-primary{width:auto;min-width:78px;padding:8px 18px}.extension-checks{flex-wrap:wrap;gap:7px;margin-top:4px;display:flex}.field .extension-checks label{background:var(--bg-elevated);border:1px solid var(--border-l2);cursor:pointer;border-radius:8px;align-items:center;gap:6px;width:auto;margin:0;padding:6px 9px;font-size:12px;display:inline-flex}.field .extension-checks input{width:auto;margin:0;padding:0}.extension-empty{border:1px dashed var(--border-l3);border-radius:var(--radius-lg);color:var(--label-caption);text-align:center;grid-column:1/-1;padding:20px;font-size:13px}.mc-card .mc-tag.danger{border-color:var(--state-error-primary);color:var(--state-error-primary)}.settings-body code{background:var(--bg-sunken);font-family:var(--font-mono);border-radius:4px;padding:1px 4px;font-size:.9em}.mcp-warning{background:var(--state-error-bg);border-radius:var(--radius-md);color:var(--state-error-primary);border:1px solid #d44c4c4d;flex-direction:column;gap:3px;margin:0 0 10px;padding:9px 11px;font-size:12px;display:flex}.extension-dropzone{background:var(--bg-sunken);border:1.5px dashed var(--border-l3);border-radius:var(--radius-lg);color:var(--label-secondary);cursor:copy;text-align:center;min-height:150px;transition:border-color .14s var(--easing),background .14s var(--easing);place-items:center;gap:5px;padding:20px;display:grid}.extension-dropzone.dragging,.extension-dropzone:focus{background:var(--bg-active);border-color:var(--label-primary);outline:none}.extension-dropzone>span{color:var(--label-caption);font-size:12px}.extension-drop-icon{color:var(--label-primary);font-size:27px;line-height:1}.extension-picker-actions{flex-wrap:wrap;justify-content:center;gap:9px;margin:14px 0 4px;display:flex}.extension-import-summary{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;margin-bottom:16px;display:grid}.extension-import-kind{background:var(--bg-sunken);border:1px solid var(--border-l3);border-radius:var(--radius-md);color:var(--label-secondary);font:700 11px var(--font-mono);text-align:center;min-width:62px;padding:8px 9px}.extension-import-name{color:var(--label-primary);font-size:15px;font-weight:650}.extension-import-scope{background:var(--bg-sunken);border:1px solid var(--border-l2);border-radius:var(--radius-md);color:var(--label-secondary);font:11.5px/1.45 var(--font-mono);word-break:break-word;padding:9px 11px}.extension-import-tags{margin:0 0 13px}.extension-file-tree{color:var(--label-secondary);margin:10px 0 14px;font-size:12px}.extension-file-tree summary{cursor:pointer;-webkit-user-select:none;user-select:none}.extension-file-tree pre{background:var(--bg-sunken);border-radius:var(--radius-md);color:var(--label-secondary);font:11px/1.5 var(--font-mono);white-space:pre-wrap;word-break:break-all;max-height:190px;margin:8px 0 0;padding:10px;overflow:auto}.extension-import-conflicts,.extension-import-note,.extension-import-warnings{background:var(--bg-sunken);border:1px solid var(--border-l2);border-radius:var(--radius-md);color:var(--label-secondary);gap:4px;margin:11px 0;padding:10px 12px;font-size:12px;line-height:1.5;display:grid}.extension-import-warnings{background:#b07a1912;border-color:#b07a1959}.extension-import-conflicts{background:var(--state-error-bg);color:var(--state-error-primary);border-color:#d44c4c59}.extension-import-confirm{color:var(--label-secondary);cursor:pointer;align-items:flex-start;gap:8px;margin:12px 0 4px;font-size:12.5px;display:flex}.extension-import-confirm input{width:auto;margin-top:2px}.extension-import-list{gap:7px;margin:8px 0 13px;display:grid}.extension-import-row{background:var(--bg-sunken);border:1px solid var(--border-l2);border-radius:var(--radius-md);justify-content:space-between;align-items:center;gap:10px;padding:9px 10px;display:flex}.extension-import-row span,.extension-import-row strong{display:block}.extension-import-row>div>span{color:var(--label-caption);font:10.5px var(--font-mono);margin-top:2px}#extensionPickStatus.error{color:var(--state-error-primary)}.workspace-summary{border-top:1px solid var(--border-l2);width:min(100%,780px);margin-top:30px;padding:16px 18px}.workspace-summary-head{align-items:center;gap:10px;display:flex}.workspace-summary-title{font-size:13px;font-weight:600}.workspace-summary-sub{color:var(--label-tertiary);margin-top:2px;font-size:12px}.workspace-stats{grid-template-columns:repeat(4,1fr);gap:8px;margin-top:14px;display:grid}.workspace-stat{background:var(--bg-elevated);border:1px solid var(--border-l2);border-radius:var(--radius-md);min-width:0;padding:10px 11px}.workspace-stat-value{font-size:18px;font-weight:600;line-height:1.1}.workspace-stat-label{color:var(--label-caption);text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:11px;overflow:hidden}.workspace-actions{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.run-list{gap:8px;display:grid}.run-row{background:var(--bg-elevated);border:1px solid var(--border-l2);border-radius:var(--radius-md);grid-template-columns:8px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;display:grid}.run-dot{background:var(--label-dimmed);border-radius:50%;width:8px;height:8px}.run-dot.completed{background:var(--state-ongoing)}.run-dot.error{background:var(--state-error-primary)}.run-main{min-width:0}.run-title{font-size:13px;font-weight:600}.run-meta,.run-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.run-meta{color:var(--label-caption);margin-top:2px;font-size:11.5px}.run-status{color:var(--label-tertiary);font-size:11px}@media (width<=560px){.workspace-stats{grid-template-columns:repeat(2,1fr)}.workspace-summary{padding-left:0;padding-right:0}.run-row{grid-template-columns:8px minmax(0,1fr)}.run-status{grid-column:2}}.import-bar{background:var(--bg-sunken);border:1px solid var(--border-l2);border-radius:var(--radius-md);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;padding:10px 12px;display:flex}.import-bar-label{color:var(--label-secondary);margin-right:2px;font-size:12.5px;font-weight:500}.mini-btn{background:var(--bg-elevated);border:1px solid var(--border-l3);color:var(--label-primary);cursor:pointer;transition:border-color .12s var(--easing),background .12s var(--easing);border-radius:8px;padding:6px 12px;font-size:12.5px}.mini-btn:hover{background:var(--bg-active);border-color:var(--border-l4)}.mk-card{background:var(--bg-elevated);border:1px solid var(--border-l2);border-radius:var(--radius-md);transition:border-color .12s var(--easing);align-items:center;gap:12px;margin-bottom:10px;padding:12px;display:flex}.mk-card:hover{border-color:var(--border-l4)}.mk-ico{background:var(--bg-sunken);border-radius:10px;flex:none;place-items:center;width:38px;height:38px;font-size:20px;display:grid}.mk-body{flex:1;min-width:0}.mk-title{color:var(--label-primary);font-size:14px;font-weight:600}.mk-desc{color:var(--label-secondary);margin-top:2px;font-size:12px;line-height:1.45}.mk-url{font-family:var(--font-mono,monospace);word-break:break-all;margin-top:4px;font-size:11px}.mk-divider,.mk-url{color:var(--label-caption)}.mk-divider{align-items:center;gap:10px;margin:14px 0 10px;font-size:12px;display:flex}.mk-divider:after,.mk-divider:before{background:var(--border-l2);content:"";flex:1;height:1px}.modal{opacity:0;pointer-events:none;transition:opacity .16s var(--easing);z-index:80;background:#0006;place-items:center;display:grid;position:fixed;inset:0}.modal.open{opacity:1;pointer-events:auto}.modal-card{background:var(--bg-elevated);border-radius:var(--radius-lg);max-width:calc(100vw - 32px);max-height:calc(100vh - 64px);transition:transform .16s var(--easing);width:480px;padding:22px 24px;overflow-y:auto;transform:translateY(8px)}.modal.open .modal-card{transform:translateY(0)}.modal h3{margin:0 0 16px;font-size:17px;font-weight:600}.modal-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.modal-heading h3{min-width:0;margin:0}.modal-close{background:var(--bg-elevated);border:1px solid var(--border-l2);color:var(--label-caption);height:30px;transition:color .12s var(--easing),background .12s var(--easing),border-color .12s var(--easing);border-radius:50%;flex:none;place-items:center;width:30px;font-size:12px;display:grid}.modal-close:hover{background:var(--bg-hover);border-color:var(--border-l3);color:var(--label-primary)}.modal .row{justify-content:flex-end;gap:10px;margin-top:8px;display:flex}.auth-error{color:var(--state-error-primary);min-height:16px;margin-top:8px;font-size:12.5px}.toast{background:var(--label-primary);border-radius:var(--radius-md);box-shadow:var(--shadow-md);color:#fff;opacity:0;pointer-events:none;transition:opacity .18s var(--easing),transform .18s var(--easing);z-index:100;padding:9px 16px;font-size:13px;position:fixed;bottom:24px;left:50%;transform:translate(-50%)translateY(20px)}.toast.show{opacity:1;transform:translate(-50%)translateY(0)}.toast.error{background:var(--state-error-primary)}@media (width<=760px){body.mobile-nav-open{overflow:hidden}.app{grid-template-columns:1fr}.sidebar{display:none}.settings{grid-template-columns:1fr}.settings-side{display:none}.transcript{padding:16px 12px 200px}}.sidebar{color:#dfe4ff;z-index:20;background:radial-gradient(circle at 20% -10%,#685cff57,#0000 34%),linear-gradient(#121629,#0b0e1a);border-right:1px solid #ffffff12;position:relative;box-shadow:12px 0 44px #0e112414}.brand-logo{isolation:isolate;letter-spacing:-.05em;background:linear-gradient(145deg,#766cff,#4e46d7 52%,#18b9c9 140%);border-radius:11px;width:34px;height:34px;font-size:15px;position:relative;box-shadow:0 9px 24px #584de75c,inset 0 1px #ffffff59}.brand-logo:after{content:"";z-index:-1;border:1px solid #ffffff38;border-radius:7px;position:absolute;inset:4px}.sidebar-close{color:#ffffffb3;background:#ffffff12;border-radius:10px;width:32px;height:32px;margin-left:auto;display:none}.new-chat{color:#fff;background:linear-gradient(135deg,#6f63fff0,#4d44d2f5);min-height:43px;margin:6px 12px 14px;padding:8px 9px 8px 11px;box-shadow:0 10px 28px #2a228e47}.new-chat:hover{background:linear-gradient(135deg,#7a70ff,#5148db)}.new-chat-icon{background:#ffffff1f;border-radius:8px;place-items:center;width:24px;height:24px;font-size:17px;display:grid}.new-chat kbd{color:#ffffff8f;font:10px var(--font-mono);border:1px solid #ffffff24;border-radius:6px;margin-left:auto;padding:2px 6px}.conv-search-wrap{color:#e3e7ff75;background:#ffffff0e;border:1px solid #ffffff14;border-radius:11px;align-items:center;gap:7px;margin:0 12px 8px;padding:0 10px;display:flex}.conv-search{color:#eef0ff;background:0 0;border:0;border-radius:0;min-width:0;margin:0;padding:8px 0}.conv-search:focus{border:0}.conv-item{color:#e6e9ffa3;border:1px solid #0000;min-height:39px}.conv-item .conv-dot{background:#d5daff4d}.conv-item.active .conv-dot{background:#45dac2;box-shadow:0 0 0 4px #45dac21c}.conv-item .conv-del{color:#e6e9ff73}.main{background:radial-gradient(circle at 88% 4%,#5b52df16,transparent 27%),radial-gradient(circle at 10% 96%,#12afc40f,transparent 28%),var(--bg-base)}.topbar{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:color-mix(in srgb,var(--bg-base) 88%,transparent);height:64px;padding:0 22px}.topbar-kicker{color:var(--label-caption);font:700 10px/1 var(--font-mono);letter-spacing:.13em}.topbar-title{letter-spacing:-.015em;margin-top:5px;font-size:14px;font-weight:700}.mobile-menu{background:var(--bg-elevated);border:1px solid var(--border-l2);border-radius:11px;width:36px;height:36px;display:none}.model-picker{border-color:var(--border-l2);box-shadow:var(--shadow-xs);min-height:36px;padding:7px 11px}.model-picker:hover{background:var(--bg-elevated);border-color:var(--border-l4)}.icon-btn{background:color-mix(in srgb,var(--bg-elevated) 72%,transparent);border-color:var(--border-l2);justify-content:center;align-items:center;gap:6px;min-height:36px;padding:7px 10px;display:inline-flex}.icon-btn:hover{background:var(--bg-elevated);border-color:var(--border-l4)}.hero{justify-content:flex-start;min-height:100%;padding:clamp(62px,10vh,112px) 28px 36px}.hero-eyebrow{color:var(--label-tertiary);font:750 10px/1 var(--font-mono);letter-spacing:.16em;align-items:center;gap:8px;margin-bottom:15px;display:flex}.signal-dot{background:#18b99b;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 5px #18b99b1c}.hero-greeting{letter-spacing:-.055em;max-width:760px;margin-bottom:14px;font-size:clamp(34px,4.2vw,58px);font-weight:760;line-height:1.07}.hero-greeting span{background:linear-gradient(110deg,#5b52df,#4a42c9 45%,#109fb3);color:#0000;-webkit-background-clip:text;background-clip:text}.hero-sub{color:var(--label-tertiary);max-width:620px;margin-bottom:28px;font-size:15px}.hero-card{max-width:var(--composer-card-max-width);border-color:#5b52df30;padding:18px 18px 12px 20px;box-shadow:0 20px 54px #332f701a,inset 0 1px #ffffffb3}.hero-card:focus-within{border-color:#5b52df85;box-shadow:0 22px 64px #332f7026,0 0 0 4px #5b52df13}.hero-input{font-size:16px}.hero-mode-hint{font:650 10px var(--font-mono);letter-spacing:.04em}.hero-tag{background:var(--accent-soft);color:var(--accent-strong);border-color:#5b52df1a}.send-btn{background:linear-gradient(145deg,#655cf0,#4941c9);width:36px;height:36px;box-shadow:0 8px 20px #4941c942}.workspace-summary{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:color-mix(in srgb,var(--bg-elevated) 88%,transparent);border:1px solid var(--border-l2);box-shadow:var(--shadow-sm);border-radius:20px;width:min(100%,820px);margin-top:22px;padding:18px}.workspace-summary-head{position:relative}.workspace-summary-title{letter-spacing:-.015em;font-size:14px;font-weight:750}.workspace-health{background:var(--state-success-bg);color:var(--state-ongoing);font:700 10px var(--font-mono);border:1px solid #1d9a722e;border-radius:999px;align-items:center;gap:6px;margin-left:auto;padding:4px 8px;display:inline-flex}.workspace-health i{background:currentColor;border-radius:50%;width:5px;height:5px}.workspace-stats{gap:9px}.workspace-stat{border-color:var(--border-l2);box-shadow:var(--shadow-xs);padding:12px 13px;position:relative;overflow:hidden}.workspace-stat:before{background:var(--accent);content:"";opacity:.8;width:3px;position:absolute;inset:0 auto 0 0}.workspace-stat.skill:before{background:#18aabf}.workspace-stat.mcp:before{background:#1d9a72}.workspace-stat.plugin:before{background:#c27c25}.workspace-stat-value{font-variant-numeric:tabular-nums;font-size:21px}.workspace-actions .btn-ghost{flex:130px;justify-content:space-between;align-items:center;display:inline-flex}.workspace-actions .btn-ghost span{color:var(--label-caption)}.hero-hint{flex-wrap:wrap;justify-content:center;align-items:center;gap:7px;display:flex}.hero-hint kbd{background:var(--bg-elevated);border:1px solid var(--border-l2);box-shadow:var(--shadow-xs);font:10px var(--font-mono);border-radius:6px;padding:2px 6px}.hero-hint>span{color:var(--label-dimmed)}.composer{border-color:#5b52df29;box-shadow:0 16px 46px #252a501f}.msg-avatar{box-shadow:0 8px 18px #433db22e;background:linear-gradient(145deg,#655cf0,#22a9bb)!important}.msg.user .msg-avatar{box-shadow:none;color:var(--accent);background:var(--accent-soft)!important}.extension-diff,.msg-content pre{color:#e9ecff;background:#111526;border:1px solid #ffffff14}.ap-args code{font-family:var(--font-mono)}.settings{opacity:0;pointer-events:none;transition:transform .22s var(--easing),opacity .18s var(--easing);border:1px solid #ffffff29;border-radius:24px;grid-template-columns:252px minmax(0,1fr);inset:18px;overflow:hidden;transform:translateY(16px)scale(.985)}.settings.open{opacity:1;pointer-events:auto;transform:translateY(0)scale(1)}.settings-side{color:#e5e8ffb8;background:linear-gradient(#14182c,#0d1020);padding:15px 12px}.settings-brand{color:#fff;align-items:center;gap:10px;margin:2px 6px 18px;display:flex}.settings-brand .brand-logo{border-radius:10px;width:30px;height:30px;font-size:13px}.settings-brand>div:last-child{flex-direction:column;line-height:1.15;display:flex}.settings-brand strong{font-size:14px}.settings-brand span{color:#e1e5ff61;font:10px var(--font-mono);margin-top:4px}.settings-side .settings-tab{color:#e5e8ff99;min-height:39px}.settings-body{padding:34px clamp(28px,4vw,54px) 44px}.settings-body>.extension-heading,.settings-body>.lead,.settings-body>h3{max-width:1180px}.settings-body h3{letter-spacing:-.035em;font-size:23px;font-weight:760}.settings-body .lead{font-size:13.5px}.close-round{border-radius:50%;width:36px;padding:0}.provider-card{background:var(--bg-elevated);border-color:var(--border-l2);box-shadow:var(--shadow-xs);max-width:1180px;padding:20px 22px}.provider-card h4{font-size:15px;font-weight:720}.field input,.field select,.field textarea{background:var(--bg-base);border-color:var(--border-l2);min-height:42px}.btn-primary{background:linear-gradient(145deg,#6259ea,#4941c9);box-shadow:0 7px 18px #4941c92e}.btn-ghost{background:color-mix(in srgb,var(--bg-elevated) 72%,transparent);border-color:var(--border-l2)}.btn-ghost:hover{background:var(--bg-elevated);border-color:var(--border-l4)}.card-grid{grid-template-columns:repeat(auto-fill,minmax(244px,1fr));gap:15px;max-width:1320px}.resource-toolbar{background:var(--bg-elevated);border:1px solid var(--border-l2);box-shadow:var(--shadow-xs);border-radius:15px;align-items:center;gap:10px;max-width:1320px;margin:-7px 0 18px;padding:10px;display:flex}.resource-search{background:var(--bg-sunken);color:var(--label-tertiary);border-radius:10px;flex:280px;align-items:center;gap:8px;min-width:180px;padding:0 12px;display:flex}.resource-search input{color:var(--label-primary);background:0 0;border:0;outline:0;width:100%;min-height:38px;padding:0}.resource-toolbar select{background:var(--bg-base);border:1px solid var(--border-l2);color:var(--label-secondary);border-radius:10px;min-height:38px;padding:0 32px 0 11px}.resource-count{color:var(--label-tertiary);white-space:nowrap;margin-left:auto;padding:0 8px;font-size:12px}.extension-empty[hidden],.mc-card[hidden]{display:none}.mc-card{border-color:var(--border-l2);box-shadow:var(--shadow-xs);gap:10px;padding:17px}.mc-card:hover{box-shadow:var(--shadow-md);border-color:#5b52df47;transform:translateY(-2px)}.mc-card .mc-ico{background:linear-gradient(145deg,var(--accent-soft),#12afc414);color:var(--accent)}.mc-card .mc-tag{background:var(--bg-sunken);border-color:#0000}.mc-add{background:#5b52df06;border-color:#5b52df3d;min-height:164px}.mc-add:hover{background:var(--accent-soft);color:var(--accent);border-color:#5b52df7a}.mc-switch{background:var(--border-l4)}.mc-toggle{appearance:none;font:inherit;background:0 0;border:0;padding:3px 0}.extension-dropzone{background:linear-gradient(145deg,#5b52df0e,#12afc40a);border-color:#5b52df40}.extension-import-kind{background:var(--accent-soft);color:var(--accent);border-color:#5b52df2e}.run-row{border-color:var(--border-l2);box-shadow:var(--shadow-xs)}.run-row-button{color:inherit;cursor:pointer;text-align:left;width:100%}.run-row-button:hover{background:var(--bg-hover);border-color:#5b52df40}.run-title span{margin-left:5px;font-size:10px;font-weight:500}.run-open,.run-title span{color:var(--label-caption)}.run-open{font-size:20px}.modal-card{border:1px solid var(--border-l2);box-shadow:var(--shadow-pop);border-radius:20px;width:520px;padding:24px 26px}.modal h3{letter-spacing:-.025em;font-size:19px;font-weight:760}.run-detail-modal{width:min(980px,100vw - 36px)}.run-detail-summary{grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin-bottom:16px;display:grid}.run-detail-summary>span{background:var(--bg-sunken);border:1px solid var(--border-l1);border-radius:10px;min-width:0;padding:9px 10px}.run-detail-summary small{color:var(--label-caption);font-size:10px;display:block}.run-detail-summary strong{color:var(--label-primary);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:11px;display:block;overflow:hidden}.run-detail-grid{grid-template-columns:minmax(0,1.25fr) minmax(270px,.75fr);gap:16px;max-height:min(62vh,620px);display:grid;overflow:hidden auto}.run-detail-grid section{min-width:0}.run-detail-grid h4{color:var(--label-primary);margin:0 0 9px;font-size:12px}.flight-timeline{flex-direction:column;display:flex}.flight-step{grid-template-columns:24px minmax(0,1fr) auto;gap:8px;padding:0 0 14px;display:grid;position:relative}.flight-step:not(:last-child):before{background:var(--border-l2);content:"";width:1px;position:absolute;top:24px;bottom:0;left:11px}.flight-step>i{background:var(--accent-soft);color:var(--accent);font:10px var(--font-mono);z-index:1;border-radius:50%;place-items:center;width:24px;height:24px;display:grid}.flight-step.error>i,.flight-step.rejected>i{background:var(--state-error-bg);color:var(--state-error-primary)}.flight-step.success>i{background:var(--state-success-bg);color:var(--state-ongoing)}.flight-step strong{color:var(--label-secondary);font-size:10.5px;display:block}.flight-step p{color:var(--label-caption);margin:2px 0 0;font-size:10px}.flight-step code{color:var(--state-error-primary);font:10px var(--font-mono);margin-top:4px;display:block}.flight-step>span{color:var(--label-caption);font:10px var(--font-mono)}.context-lens{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.context-lens>div{background:var(--bg-sunken);border:1px solid var(--border-l1);border-radius:10px;padding:9px}.context-lens span{color:var(--label-caption);font-size:10px;display:block}.context-lens strong{color:var(--label-primary);margin-top:2px;font-size:13px;display:block}.context-source{border:1px solid var(--border-l1);border-radius:11px;margin-top:10px;padding:10px}.context-source h5{color:var(--label-secondary);margin:0 0 7px;font-size:10px}.context-source>div{grid-template-columns:55px minmax(0,1fr);gap:6px;padding:3px 0;display:grid}.context-source>div strong{color:var(--label-caption);font-size:10px}.context-source>div span{color:var(--label-tertiary);text-align:right;text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.provider-settings{width:min(100%,1440px);margin-inline:auto}.settings-page-heading{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:18px;display:flex}.settings-page-heading h3{margin:0 0 5px}.settings-page-heading .lead{margin:0}.provider-summary{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}.provider-summary>span{background:var(--bg-elevated);border:1px solid var(--border-l2);color:var(--label-tertiary);white-space:nowrap;border-radius:999px;align-items:baseline;gap:4px;padding:5px 9px;font-size:11px;display:inline-flex}.provider-summary strong{color:var(--label-primary);font-variant-numeric:tabular-nums;font-size:12px}.provider-add-grid,.provider-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,540px),1fr));gap:14px;display:grid}.provider-config-card{min-width:0;max-width:none;margin:0;padding:16px 17px 14px}.provider-card-head{align-items:center;gap:11px;min-width:0;display:flex}.provider-mark{background:linear-gradient(145deg,var(--accent-soft),#12afc412);color:var(--accent);border:1px solid #5b52df29;border-radius:11px;flex:none;place-items:center;width:34px;height:34px;font-size:13px;font-weight:760;display:grid}.provider-identity{flex:1;min-width:0}.provider-config-card .provider-identity h4{text-overflow:ellipsis;white-space:nowrap;align-items:baseline;gap:7px;min-width:0;margin:0 0 2px;display:flex;overflow:hidden}.provider-id{color:var(--label-caption);text-overflow:ellipsis;min-width:0;font-size:10.5px;font-weight:500;overflow:hidden}.provider-config-card .pmeta{color:var(--label-tertiary);margin:0}.provider-state{border-radius:999px;flex:none;padding:3px 8px;font-size:10.5px;font-weight:700}.provider-state.ready{background:var(--state-success-bg);color:var(--state-ongoing)}.provider-state.local{color:#16899a;background:#12afc41a}.provider-state.missing{background:var(--state-warning-bg);color:var(--state-warning)}.provider-card-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px;display:grid}.provider-card-fields .field{min-width:0;margin:0}.provider-card-fields .field input,.provider-card-fields .field textarea{min-height:40px;padding:8px 10px}.provider-card-fields .field textarea{resize:vertical;height:40px}.provider-card-footer{border-top:1px solid var(--border-l1);color:var(--label-caption);justify-content:space-between;align-items:flex-end;gap:12px;min-height:33px;margin-top:11px;padding-top:10px;font-size:10.5px;display:flex}.provider-card-footer .provider-row{flex:none;margin:0}.provider-card-footer .btn-ghost,.provider-card-footer .btn-primary{min-height:32px;padding:6px 12px;font-size:12px}.provider-private{color:var(--label-caption);cursor:pointer;align-items:center;gap:6px;font-size:10.5px;display:inline-flex}.provider-private input{accent-color:var(--accent);width:14px;height:14px}.danger-ghost:hover{background:var(--state-error-bg);color:var(--state-error-primary);border-color:#d64b6247}.provider-add-grid{margin-top:14px}.provider-add-grid .add-tile{text-align:left;justify-content:flex-start;align-items:center;gap:10px;min-height:60px;padding:11px 14px;display:flex}.provider-add-grid .add-tile .ico{background:var(--accent-soft);color:var(--accent);border-radius:10px;flex:none;place-items:center;width:30px;height:30px;margin:0;font-size:18px;display:grid}.provider-add-grid .add-tile>span:last-child{flex-direction:column;min-width:0;display:flex}.provider-add-grid .add-tile strong{color:var(--label-secondary);font-size:12.5px;font-weight:650}.provider-add-grid .add-tile small{color:var(--label-caption);margin-top:1px;font-size:10.5px}.provider-empty{background:var(--bg-elevated);border:1px dashed var(--border-l3);border-radius:var(--radius-lg);color:var(--label-caption);text-align:center;grid-column:1/-1;padding:28px}.usage-page{width:min(100%,1400px);margin-inline:auto}.usage-heading{align-items:center}.usage-kicker{color:var(--accent);font:10px/1.2 var(--font-mono);letter-spacing:.16em;margin-bottom:5px;font-weight:700}.usage-heading-actions{align-items:center;gap:9px;display:flex}.usage-ranges{background:var(--bg-elevated);border:1px solid var(--border-l2);border-radius:11px;padding:3px;display:flex}.usage-range{color:var(--label-tertiary);border-radius:8px;min-height:31px;padding:5px 10px;font-size:11.5px}.usage-range:hover{color:var(--label-primary)}.usage-range.active{background:var(--accent-soft);box-shadow:var(--shadow-xs);color:var(--accent);font-weight:650}.usage-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.usage-metric{background:var(--bg-elevated);border:1px solid var(--border-l2);box-shadow:var(--shadow-xs);border-radius:16px;min-width:0;padding:17px 18px}.usage-metric.primary{background:linear-gradient(145deg,color-mix(in srgb,var(--accent-soft) 72%,var(--bg-elevated)),var(--bg-elevated));border-color:#5b52df33}.usage-metric>span{color:var(--label-tertiary);font-size:11.5px;display:block}.usage-metric strong{color:var(--label-primary);font-variant-numeric:tabular-nums;letter-spacing:-.04em;text-overflow:ellipsis;margin:5px 0 3px;font-size:clamp(23px,2.3vw,31px);line-height:1.1;display:block;overflow:hidden}.usage-metric small{color:var(--label-caption);font-size:10.5px}.usage-insights{color:var(--label-tertiary);flex-wrap:wrap;align-items:center;gap:5px 16px;margin:11px 2px 16px;font-size:10.5px;display:flex}.usage-insights span{align-items:center;gap:4px;display:inline-flex}.usage-insights span+span:before{background:var(--border-l3);content:"";width:1px;height:11px;margin-right:12px}.usage-insights i{background:var(--state-ongoing);box-shadow:0 0 0 3px var(--state-success-bg);border-radius:50%;width:6px;height:6px}.usage-insights strong{color:var(--label-secondary);font-variant-numeric:tabular-nums;font-weight:650}.usage-insights .estimate-note{color:var(--state-warning)}.usage-layout{grid-template-columns:minmax(0,1.7fr) minmax(280px,.85fr);gap:13px;display:grid}.usage-panel{background:var(--bg-elevated);border:1px solid var(--border-l2);box-shadow:var(--shadow-xs);border-radius:17px;min-width:0;padding:17px 18px}.usage-panel-head{justify-content:space-between;align-items:flex-start;gap:14px;min-height:34px;margin-bottom:11px;display:flex}.usage-panel-head h4{color:var(--label-primary);margin:0 0 2px;font-size:13.5px}.usage-panel-head p,.usage-panel-head>span{color:var(--label-caption);margin:0;font-size:10.5px}.usage-legend{color:var(--label-caption);align-items:center;gap:5px;font-size:10px;display:flex}.usage-legend span{border-radius:2px;width:7px;height:7px;margin-left:5px}.usage-legend .input{background:#7168ee}.usage-legend .output{background:#20b4c4}.usage-trend{width:100%;height:auto;min-height:190px;overflow:visible}.usage-grid line{stroke:var(--border-l2);stroke-dasharray:3 4;stroke-width:1px}.usage-date,.usage-grid text{fill:var(--label-caption);font:10px var(--font-mono)}.usage-bar-input{fill:#7168ee;opacity:.68}.usage-bar-output{fill:#20b4c4;opacity:.82}.usage-line{fill:none;pointer-events:none;stroke:color-mix(in srgb,var(--accent) 82%,#fff);stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5px}.usage-model-wrap{grid-template-columns:116px minmax(0,1fr);align-items:center;gap:15px;display:grid}.usage-donut{border-radius:50%;place-items:center;width:112px;height:112px;display:grid}.usage-donut>div{background:var(--bg-elevated);box-shadow:0 0 0 1px var(--border-l1);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:67px;height:67px;display:flex}.usage-donut strong{letter-spacing:-.03em;font-size:20px}.usage-donut span{color:var(--label-caption);font-size:10px}.usage-model-list,.usage-provider-list{flex-direction:column;gap:8px;min-width:0;display:flex}.usage-model-list>div{grid-template-columns:7px minmax(0,1fr) auto;align-items:center;gap:6px;display:grid}.usage-model-list i{border-radius:50%;width:7px;height:7px}.usage-model-list span{color:var(--label-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:10.5px;overflow:hidden}.usage-model-list strong{color:var(--label-primary);font-variant-numeric:tabular-nums;font-size:10.5px}.usage-model-list small{color:var(--label-caption);grid-column:2/-1;margin-top:-5px;font-size:10px}.usage-provider-list>div{border-bottom:1px solid var(--border-l1);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px 8px;padding-bottom:8px;display:grid}.usage-provider-list>div:last-child{border-bottom:0;padding-bottom:0}.usage-provider-list span{color:var(--label-secondary);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:6px;font-size:11px;display:flex;overflow:hidden}.usage-provider-list span i{background:var(--state-ongoing);border-radius:50%;flex:none;width:6px;height:6px}.usage-provider-list strong{color:var(--label-primary);font-size:11px}.usage-provider-list small{color:var(--label-caption);grid-column:1/-1;font-size:10px}.usage-heatmap{grid-template-rows:repeat(7,11px);grid-auto-columns:11px;grid-auto-flow:column;gap:3px;padding:3px 1px 6px;display:grid;overflow-x:auto}.usage-heatmap>i{background:var(--bg-sunken);border-radius:3px;position:relative}.usage-heatmap>i[data-level="1"]{background:#5b52df33}.usage-heatmap>i[data-level="2"]{background:#5b52df66}.usage-heatmap>i[data-level="3"]{background:#5b52dfad}.usage-heatmap>i[data-level="4"]{background:#6158e8}.usage-heatmap>i span{box-shadow:var(--shadow-md);color:#fff;white-space:nowrap;z-index:100;background:#171a2b;border-radius:7px;padding:5px 7px;font-size:10px;display:none;position:fixed}.usage-heatmap>i:hover span{display:block}.usage-empty{color:var(--label-caption);font-size:11px}.usage-loading{background:linear-gradient(100deg,var(--bg-elevated) 20%,var(--bg-hover) 40%,var(--bg-elevated) 60%);background-size:220% 100%;border-radius:18px;width:min(700px,100%);height:220px;animation:1.4s infinite usage-shimmer}@keyframes usage-shimmer{to{background-position-x:-220%}}.passport-page{width:min(100%,1400px);margin-inline:auto}.passport-summary{flex-wrap:wrap;gap:8px;margin:-2px 0 17px;display:flex}.passport-summary span{background:var(--bg-elevated);border:1px solid var(--border-l2);color:var(--label-tertiary);border-radius:10px;padding:7px 10px;font-size:10.5px}.passport-summary strong{color:var(--label-primary);font-variant-numeric:tabular-nums;font-size:13px}.passport-summary .warn strong{color:var(--state-warning)}.passport-toolbar{margin-top:0}.passport-grid{grid-template-columns:repeat(auto-fill,minmax(275px,1fr));gap:12px;display:grid}.passport-card{background:var(--bg-elevated);border:1px solid var(--border-l2);box-shadow:var(--shadow-xs);border-radius:16px;flex-direction:column;min-width:0;padding:16px;display:flex}.passport-card[hidden]{display:none}.passport-head{justify-content:space-between;gap:8px;display:flex}.passport-risk,.passport-type{border-radius:999px;padding:3px 7px;font-size:10px;font-weight:700}.passport-type{background:var(--accent-soft);color:var(--accent)}.passport-type.mcp{color:#16899a;background:#12afc41a}.passport-type.plugin{color:#8052bd;background:#9763da1a}.passport-type.tool{color:#9a6a19;background:#daa03f1c}.passport-risk.low{background:var(--state-success-bg);color:var(--state-ongoing)}.passport-risk.medium{background:var(--state-warning-bg);color:var(--state-warning)}.passport-risk.high{background:var(--state-error-bg);color:var(--state-error-primary)}.passport-card h4{color:var(--label-primary);margin:13px 0 2px;font-size:14px}.passport-card h4,.passport-card>code{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.passport-card>code{color:var(--label-caption);font:10px var(--font-mono)}.passport-card>p{color:var(--label-tertiary);-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:34px;margin:9px 0 11px;font-size:10.5px;line-height:1.55;display:-webkit-box;overflow:hidden}.passport-card dl{border-block:1px solid var(--border-l1);flex-direction:column;gap:5px;margin:0;padding:9px 0;display:flex}.passport-card dl div{grid-template-columns:86px minmax(0,1fr);gap:7px;display:grid}.passport-card dt{color:var(--label-caption);font-size:10px}.passport-card dd{color:var(--label-secondary);text-align:right;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:10px;overflow:hidden}.passport-perms{flex-wrap:wrap;gap:5px;margin-top:10px;display:flex}.passport-perms span{background:var(--state-warning-bg);color:var(--state-warning);font:10px var(--font-mono);border-radius:7px;padding:3px 6px}.passport-perms .none{background:var(--bg-sunken);color:var(--label-caption)}.passport-clean,.passport-issues{border-radius:8px;margin-top:10px;padding:7px 8px;font-size:10px}.passport-issues{background:var(--state-warning-bg);color:var(--state-warning);flex-direction:column;gap:3px;display:flex}.passport-clean{background:var(--state-success-bg);color:var(--state-ongoing)}.control-card-head{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.control-card-head h4{margin-bottom:3px}.control-card-head .btn-ghost,.control-card-head .btn-primary{flex:none;width:auto;min-height:34px;padding:7px 12px}.workspace-file-actions{margin-top:12px}.settings-page-heading .btn-ghost,.settings-page-heading .btn-primary,.workspace-file-actions .btn-ghost{justify-content:center;align-items:center;gap:6px;display:inline-flex}.workspace-resource-list{margin-top:14px}.knowledge-search{border-top:1px solid var(--border-l1);gap:8px;margin-top:14px;padding-top:13px;display:flex}.knowledge-search input{background:var(--bg-base);border:1px solid var(--border-l2);color:var(--label-primary);border-radius:10px;flex:1;min-width:0;min-height:38px;padding:7px 10px}.knowledge-search .resource-search{border:1px solid var(--border-l2);min-width:0;padding:0 12px}.knowledge-search .resource-search input{background:0 0;border:0;border-radius:0;min-height:38px;padding:0}.knowledge-search .btn-ghost{flex:none}.knowledge-results{flex-direction:column;gap:7px;margin-top:9px;display:flex}.knowledge-hit{background:var(--bg-sunken);border:1px solid var(--border-l1);border-radius:10px;padding:10px 11px}.knowledge-hit strong{color:var(--label-secondary);font-size:10.5px}.knowledge-hit strong span{color:var(--accent);font:10px var(--font-mono)}.knowledge-hit p{color:var(--label-tertiary);font:10px/1.55 var(--font-mono);white-space:pre-wrap;max-height:72px;margin:4px 0 0;overflow:hidden}.memory-list,.snapshot-list{flex-direction:column;gap:8px;margin-top:13px;display:flex}.memory-item,.snapshot-item{background:var(--bg-base);border:1px solid var(--border-l1);border-radius:12px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;min-width:0;padding:11px 12px;display:grid}.memory-item.disabled{opacity:.62}.memory-toggle{color:var(--label-caption);flex-direction:column;align-items:center;gap:4px;min-width:58px;font-size:10px;display:flex}.memory-toggle i{background:var(--border-l3);border-radius:999px;width:27px;height:15px;position:relative}.memory-toggle i:after{box-shadow:var(--shadow-xs);content:"";background:#fff;border-radius:50%;width:11px;height:11px;transition:transform .12s;position:absolute;top:2px;left:2px}.memory-toggle[aria-pressed=true] i{background:var(--accent)}.memory-toggle[aria-pressed=true] i:after{transform:translate(12px)}.memory-item strong,.snapshot-item strong{color:var(--label-primary);font-size:11.5px}.memory-item p,.snapshot-item p{color:var(--label-caption);text-overflow:ellipsis;white-space:nowrap;margin:2px 0 0;font-size:10px;line-height:1.45;overflow:hidden}.memory-actions{align-items:center;gap:4px;display:flex}.memory-actions .mc-act{width:auto;min-width:31px;padding-inline:7px;font-size:10px}.snapshot-mark{background:var(--accent-soft);color:var(--accent);font:10px var(--font-mono);text-align:center;border-radius:8px;min-width:57px;padding:5px 7px}.control-empty{color:var(--label-caption);text-align:center;padding:14px 4px;font-size:10.5px}.model-picker-modal{width:500px;padding:22px;overflow:hidden}.model-picker-modal .modal-heading{margin-bottom:5px}.picker-dialog-intro{color:var(--label-tertiary);justify-content:space-between;align-items:center;gap:14px;margin-bottom:15px;font-size:11.5px;display:flex}.picker-dialog-intro>span:last-child{color:var(--label-caption);flex:none;font-size:10.5px}.model-picker-list{flex-direction:column;gap:6px;max-height:min(420px,60vh);padding:1px 3px 1px 1px;display:flex;overflow:hidden auto}.picker-option{color:var(--label-primary);text-align:left;min-width:0;min-height:56px;transition:color .12s var(--easing),background .12s var(--easing),border-color .12s var(--easing),transform .12s var(--easing);background:0 0;border:1px solid #0000;border-radius:13px;align-items:center;gap:11px;width:100%;padding:8px 10px;display:flex}.picker-option:hover{background:var(--bg-hover);border-color:var(--border-l2);color:var(--label-primary);transform:translate(1px)}.picker-option.active{border-color:#5b52df33}.picker-provider-mark{background:linear-gradient(145deg,var(--accent-soft),#12afc412);color:var(--accent);border:1px solid #5b52df24;border-radius:11px;flex:none;place-items:center;width:36px;height:36px;font-size:12px;font-weight:750;display:grid}.picker-provider-mark.agent{color:#16899a;background:#12afc41a}.picker-option-copy{flex-direction:column;flex:1;min-width:0;display:flex}.picker-option-copy strong{color:var(--label-primary);font-size:13.5px;font-weight:650}.picker-option-copy small,.picker-option-copy strong{text-overflow:ellipsis;white-space:nowrap;line-height:1.35;overflow:hidden}.picker-option-copy small{color:var(--label-caption);margin-top:2px;font-size:10.5px}.picker-option-state{color:var(--label-caption);border-radius:50%;flex:none;place-items:center;width:23px;height:23px;font-size:17px;display:grid}.picker-option.active .picker-option-state{color:#fff;font-size:11px;font-weight:700}.toast{background:#171a2b;border:1px solid #ffffff1f;box-shadow:0 14px 40px #0f122647}.mobile-scrim{display:none}:root[data-theme=dark] .main{background:radial-gradient(circle at 88% 4%,#675cef1c,transparent 28%),radial-gradient(circle at 8% 96%,#12afc412,transparent 27%),var(--bg-base)}:root[data-theme=dark] .hero-greeting span{background-image:linear-gradient(110deg,#9e97ff,#766cff 48%,#35c2d3)}:root[data-theme=dark] .hero-card,:root[data-theme=dark] .workspace-summary{box-shadow:0 22px 64px #0000003b}:root[data-theme=dark] .settings{border-color:#ffffff14}@media (width<=980px){.app{grid-template-columns:248px minmax(0,1fr)}.topbar{gap:8px;padding:0 14px}#workspacePicker{display:none}.hero{padding-left:20px;padding-right:20px}}@media (width<=760px){.app{grid-template-columns:1fr}.sidebar{transition:transform .22s var(--easing);z-index:75;width:min(86vw,318px);display:flex;position:fixed;inset:0 auto 0 0;transform:translate(-104%);box-shadow:28px 0 80px #05071261}.sidebar.open{transform:translate(0)}.sidebar-close{place-items:center;display:grid}.mobile-scrim{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:0;pointer-events:none;transition:opacity .18s var(--easing);z-index:70;background:#080a1685;display:block;position:fixed;inset:0}.mobile-scrim.open{opacity:1;pointer-events:auto}.mobile-menu{flex:none;place-items:center;display:grid}.topbar{height:58px;padding:0 10px}.resource-toolbar{flex-wrap:wrap;align-items:stretch;margin-top:-4px}.resource-search{flex-basis:100%}.resource-toolbar select{flex:130px;min-width:0}.resource-count{align-items:center;margin-left:0;display:flex}.icon-btn-label,.topbar-kicker{display:none}.topbar-title{text-overflow:ellipsis;white-space:nowrap;max-width:92px;margin-top:0;overflow:hidden}.model-picker{padding:7px 9px;max-width:132px!important}.model-picker .mp-name{max-width:100px}#forkBtn{display:none}.icon-btn{width:36px;padding:0}.hero{justify-content:flex-start;padding:44px 15px 26px}.hero-eyebrow{font-size:10px}.hero-greeting{font-size:clamp(32px,10vw,44px)}.hero-sub{margin-bottom:23px;font-size:13.5px}.hero-card{border-radius:20px;padding:15px 14px 10px 16px}.hero-mode-hint{display:none}.workspace-summary{border-radius:17px;margin-top:17px;padding:14px}.workspace-summary-sub{max-width:230px}.workspace-health{display:none}.workspace-stats{grid-template-columns:repeat(2,1fr)}.workspace-actions{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.workspace-actions .btn-ghost{min-width:0;padding:8px 9px;font-size:12px}.hero-hint{font-size:10.5px}.transcript{padding:18px 12px 190px}.msg{gap:9px}.msg-avatar{width:28px;height:28px}.msg.user{max-width:90%}.settings{border:0;border-radius:0;grid-template-rows:72px minmax(0,1fr);grid-template-columns:minmax(0,1fr) 54px;inset:0}.settings-side{scrollbar-width:none;border-bottom:1px solid #ffffff14;border-right:0;flex-direction:row;grid-area:1/1;align-items:center;gap:4px;min-width:0;padding:10px;display:flex;overflow-x:auto}.settings-side::-webkit-scrollbar{display:none}.settings-brand,.settings-close-side,.settings-side>div[style]{display:none!important}.settings-side .settings-tab{white-space:nowrap;border-radius:11px;flex:none;min-height:40px;margin:0;padding:8px 11px;font-size:12px}.settings-side .settings-tab.active{background:#685dff33;box-shadow:inset 0 -2px #8178ff}.tab-ico{width:14px;height:14px}.settings-body{grid-area:2/1/auto/-1;padding:24px 14px 34px}.settings-body h3{padding-right:40px;font-size:21px}.settings-top{background:#0d1020;border-bottom:1px solid #ffffff14;grid-area:1/2;place-items:center;display:grid;position:static}.settings-top .icon-btn{color:#fff;background:#ffffff12;border-color:#ffffff1c}.provider-card{border-radius:16px;padding:17px 16px}.settings-page-heading{flex-direction:column;align-items:flex-start;gap:10px}.provider-summary{justify-content:flex-start}.provider-card-fields{grid-template-columns:1fr;gap:10px}.provider-card-footer{flex-direction:column;align-items:flex-start;gap:8px}.provider-card-footer .provider-row{justify-content:flex-end;align-self:stretch}.provider-add-grid .add-tile{min-height:58px}.usage-heading-actions{flex-wrap:wrap;align-items:stretch;width:100%}.usage-range,.usage-ranges{flex:1}.usage-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.usage-layout{grid-template-columns:1fr}.usage-insights span+span:before{display:none}.knowledge-search{flex-direction:column;align-items:stretch}.memory-item,.snapshot-item{grid-template-columns:auto minmax(0,1fr)}.memory-actions{grid-column:2;justify-content:flex-end}.extension-heading{display:block}.extension-heading-actions{justify-content:flex-start;margin-top:12px}.card-grid{grid-template-columns:1fr}.mc-card .mc-actions{opacity:1;justify-content:flex-end;margin-top:auto;position:static}.add-provider{grid-template-columns:1fr}.modal-card{border-radius:18px;max-width:calc(100vw - 20px);max-height:calc(100vh - 30px);padding:20px 18px}.run-detail-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.run-detail-grid{grid-template-columns:1fr;max-height:68vh}}@media (width<=420px){.composer-tool-label{display:none}.composer-tool{justify-content:center;width:28px;padding-inline:0}.picker-dialog-intro>span:last-child{display:none}.usage-metrics{grid-template-columns:1fr}.usage-model-wrap{grid-template-columns:90px minmax(0,1fr)}.usage-donut{width:88px;height:88px}.usage-donut>div{width:52px;height:52px}}@media (hover:none),(pointer:coarse){.msg-actions{opacity:1}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.app{grid-template-columns:260px minmax(0,1fr)}.sidebar{box-shadow:none;color:#d9ded9;background:#222824;border-right-color:#171c19}.brand{color:#f4f5f2;min-height:64px;padding:15px 16px 11px}.brand-logo,.settings-brand .brand-logo{box-shadow:none;background:#397d69;border:1px solid #ffffff1f;border-radius:6px;width:30px;height:30px;font-size:13px}.brand-logo:after{display:none}.brand-copy strong{letter-spacing:-.01em;font-size:14px;font-weight:680}.brand-copy span{color:#e8ece773;font:600 10px/1.1 var(--font-sans);letter-spacing:.03em;margin-top:4px}.new-chat{box-shadow:none;color:#eff2ee;background:#ffffff13;border-color:#ffffff1f;border-radius:6px;min-height:40px;margin:7px 10px 12px;padding:7px 9px}.new-chat-icon{background:#ffffff14;border-radius:4px;width:23px;height:23px}.new-chat kbd{color:#ecefeb66;background:#0000001f;border:0;border-radius:3px;font-size:10px}.conv-search-wrap{background:#0000001f;border-color:#ffffff13;border-radius:5px;margin:0 10px 8px}.conv-section-title{color:#e8ece757;font:650 10px/1 var(--font-sans);letter-spacing:.08em;padding:10px 15px 7px}.conv-item{color:#e8ece794;border-radius:5px;min-height:36px}.conv-item:hover{background:#ffffff0e}.conv-item.active{color:#f5f6f4;background:#528b772e;border-color:#67a38e29}.topbar{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--bg-elevated);border-bottom-color:var(--border-l2);gap:8px;height:60px;padding:0 16px}.topbar-context{min-width:130px}.topbar-path{color:var(--label-caption);text-overflow:ellipsis;white-space:nowrap;max-width:270px;font-size:10px;line-height:1.2;overflow:hidden}.topbar-title{margin-top:3px;font-size:13.5px;font-weight:650}.command-btn,.icon-btn,.model-picker{background:var(--bg-elevated);border:1px solid var(--border-l2);box-shadow:none;color:var(--label-secondary);border-radius:6px;min-height:34px}.model-picker{padding:6px 9px}.command-btn:hover,.icon-btn:hover,.model-picker:hover{background:var(--bg-hover);border-color:var(--border-l3);color:var(--label-primary)}.icon-btn{padding:6px 9px}.command-btn{align-items:center;gap:7px;padding:5px 7px 5px 9px;font-size:12px;display:inline-flex}.command-btn kbd{background:var(--bg-sunken);border:1px solid var(--border-l1);color:var(--label-caption);font:10px var(--font-mono);border-radius:3px;padding:2px 5px}.content{transition:margin-right .18s var(--easing)}.home-workbench{width:min(100%,1040px);min-height:100%;margin:0 auto;padding:clamp(48px,8vh,90px) 28px 42px}.home-intro{max-width:650px}.home-location{color:var(--accent);letter-spacing:.04em;margin-bottom:10px;font-size:10px;font-weight:700}.home-intro p{color:var(--label-tertiary);margin:10px 0 24px;font-size:14px}.home-composer{background:var(--bg-elevated);border:1px solid var(--border-l3);box-shadow:var(--shadow-xs);transition:border-color .12s var(--easing),box-shadow .12s var(--easing);border-radius:9px;width:100%;padding:15px 16px 10px}.hero-input{min-height:34px;font-size:15px}.hero-actions{margin-top:10px}.hero-tag{background:var(--bg-base);border:1px solid var(--border-l2);color:var(--label-secondary);border-radius:5px;padding:4px 8px}.hero-tag:hover{background:var(--bg-hover);border-color:var(--border-l3)}.hero-mode-hint{color:var(--label-caption);font:10px var(--font-sans)}.send-btn{background:var(--accent);box-shadow:none;border-radius:6px;width:32px;height:32px}.send-btn:hover{background:var(--accent-strong);transform:none}.home-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px;display:grid}.home-panel{background:var(--bg-elevated);border:1px solid var(--border-l2);border-radius:8px;min-width:0;padding:16px}.home-panel-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:13px;display:flex}.home-panel-head>div{flex-direction:column;min-width:0;display:flex}.home-panel-head span{color:var(--label-caption);font-size:10px}.home-panel-head strong{color:var(--label-primary);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:13.5px;overflow:hidden}.home-panel-head button,.inspector-section-head button{color:var(--accent);font-size:10.5px}.home-facts{flex-direction:column;gap:0;margin:0;display:flex}.home-facts>div{border-top:1px solid var(--border-l1);grid-template-columns:76px minmax(0,1fr);gap:10px;padding:7px 0;display:grid}.home-facts dt{color:var(--label-caption);font-size:10.5px}.home-facts dd{color:var(--label-secondary);text-align:right;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:10.5px;overflow:hidden}.home-metrics{border-block:1px solid var(--border-l1);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.home-metrics>div{text-align:center;padding:10px 5px}.home-metrics>div+div{border-left:1px solid var(--border-l1)}.home-metrics strong{color:var(--label-primary);font-variant-numeric:tabular-nums;font-size:18px;line-height:1.15;display:block}.home-metrics span{margin-top:3px;display:block}.home-metrics span,.home-panel-note{color:var(--label-caption);font-size:10px}.home-panel-note{margin:11px 0 0;line-height:1.55}.home-links{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:10px;display:grid}.home-links .btn-ghost{background:0 0;border-radius:6px;justify-content:space-between;align-items:center;min-height:36px;display:flex}.home-links .btn-ghost:hover{background:var(--bg-hover)}.home-links span{color:var(--label-caption)}.hero-hint{margin-top:12px;font-size:10px}.hero-hint kbd{box-shadow:none;background:0 0;border-radius:3px;padding:1px 4px}.transcript{padding:30px 22px 200px}.msg-avatar,.msg.assistant .msg-avatar,.msg.user .msg-avatar{border:1px solid var(--border-l2);box-shadow:none;color:var(--label-secondary);border-radius:5px;width:27px;height:27px;font-size:10px;background:var(--bg-elevated)!important}.msg.assistant .msg-avatar{border-color:var(--accent);color:#fff;background:var(--accent)!important}.msg-role{margin-bottom:6px;font-size:11.5px}.msg-role .msg-model{border-radius:4px;padding:1px 6px;font-size:10px}.msg.user .msg-body{background:0 0;border:0;border-radius:0;width:auto;max-width:calc(100% - 38px);padding:0}.msg.user .msg-content{background:var(--bubble-user);border:1px solid var(--bubble-user-border);border-radius:6px;width:fit-content;max-width:100%;padding:9px 11px}.msg.user .msg-actions{justify-content:flex-start;margin-top:4px;position:static}.msg-content{font-size:14px;line-height:1.72}.msg-content pre{border-radius:6px}.composer{border-color:var(--border-l3);box-shadow:var(--shadow-md);border-radius:9px}.composer-hint{color:var(--label-caption);font-size:10px}.session-inspector{background:var(--bg-elevated);border-left:1px solid var(--border-l2);transition:transform .18s var(--easing),visibility 0s .18s;visibility:hidden;z-index:28;width:340px;position:absolute;inset:60px 0 0 auto;overflow:hidden auto;transform:translate(101%);box-shadow:-10px 0 28px #191f1c0f}.main.inspector-open .session-inspector{transition:transform .18s var(--easing);visibility:visible;transform:translate(0)}.main.inspector-open .content{margin-right:340px}.main.inspector-open .composer-wrap{right:340px}.inspector-head{border-bottom:1px solid var(--border-l2);justify-content:space-between;align-items:center;height:64px;padding:0 16px;display:flex}.inspector-head span{color:var(--label-caption);font-size:10px}.inspector-head strong{margin-top:2px;font-size:13px}.inspector-close{border:1px solid var(--border-l2);color:var(--label-caption);border-radius:5px;place-items:center;width:28px;height:28px;display:grid}.inspector-close:hover{background:var(--bg-hover);color:var(--label-primary)}.inspector-status-dot{background:var(--state-warning);border-radius:50%;flex:none;width:8px;height:8px}.inspector-status.ready .inspector-status-dot{background:var(--state-ongoing)}.inspector-status>div{flex-direction:column;display:flex}.inspector-status strong{font-size:11.5px}.inspector-status span:last-child{color:var(--label-caption);margin-top:2px;font-size:10px}.inspector-section:last-child{border-bottom:0}.inspector-section-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.inspector-section-head strong{font-size:10.5px}.inspector-facts{flex-direction:column;gap:6px;margin:0;display:flex}.inspector-facts>div{grid-template-columns:72px minmax(0,1fr);gap:10px;display:grid}.inspector-facts dt{color:var(--label-caption);font-size:10px}.inspector-facts dd{color:var(--label-secondary);text-align:right;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:10px;overflow:hidden}.inspector-metrics{border:1px solid var(--border-l1);border-radius:6px;grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.inspector-metrics>div{text-align:center;padding:9px 3px}.inspector-metrics>div+div{border-left:1px solid var(--border-l1)}.inspector-metrics strong{font-variant-numeric:tabular-nums;font-size:14px;display:block}.inspector-metrics span{margin-top:2px;display:block}.inspector-metrics span,.inspector-note{color:var(--label-caption);font-size:10px}.inspector-note{margin:8px 0 0}.inspector-checks{flex-direction:column;gap:5px;display:flex}.inspector-check{text-align:left;border-radius:5px;grid-template-columns:21px minmax(0,1fr);align-items:center;gap:8px;width:100%;padding:7px;display:grid}.inspector-check:hover{background:var(--bg-hover)}.inspector-check>span{background:var(--state-warning-bg);color:var(--state-warning);border-radius:4px;place-items:center;width:19px;height:19px;font-size:10px;font-weight:700;display:grid}.inspector-check.ok>span{background:var(--state-success-bg);color:var(--state-ongoing)}.inspector-check div{flex-direction:column;min-width:0;display:flex}.inspector-check strong{font-size:10px}.inspector-check small{color:var(--label-caption);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.inspector-run{background:var(--bg-base);border:1px solid var(--border-l1);border-radius:6px;padding:10px}.inspector-run>div{align-items:center;gap:7px;display:flex}.inspector-run>div strong{text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.inspector-run .run-state{border-radius:3px;margin:0;padding:2px 5px;font-size:10px}.inspector-run dl{border-top:1px solid var(--border-l1);grid-template-columns:repeat(3,1fr);margin:9px 0 0;padding-top:8px;display:grid}.inspector-run dl>div{text-align:center}.inspector-run dt{color:var(--label-caption);font-size:10px}.inspector-run dd{font-variant-numeric:tabular-nums;margin:1px 0 0;font-size:10px}.inspector-empty{border:1px dashed var(--border-l2);color:var(--label-caption);border-radius:6px;padding:12px;font-size:10px;line-height:1.5}.command-palette{z-index:110;background:#1217146b;justify-content:center;align-items:flex-start;padding:12vh 18px 18px;display:none;position:fixed;inset:0}.command-palette.open{display:flex}.command-panel{background:var(--bg-elevated);border:1px solid var(--border-l3);box-shadow:var(--shadow-pop);border-radius:9px;width:min(600px,100%);overflow:hidden}.command-search-wrap{border-bottom:1px solid var(--border-l2);color:var(--label-caption);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;min-height:52px;padding:0 13px;display:grid}.command-search-wrap input{background:0 0;border:0;outline:0;width:100%;font-size:14px}.command-item kbd,.command-search-wrap kbd{background:var(--bg-base);border:1px solid var(--border-l2);color:var(--label-caption);font:10px var(--font-mono);border-radius:3px;padding:2px 5px}.command-caption{color:var(--label-caption);letter-spacing:.07em;padding:10px 13px 5px;font-size:10px;font-weight:700}.command-list{max-height:min(55vh,480px);padding:4px 6px 8px;overflow-y:auto}.command-item{text-align:left;border-radius:5px;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;padding:9px 8px;display:grid}.command-item:focus-visible,.command-item:hover{background:var(--bg-hover)}.command-item-group{color:var(--label-caption);font-size:10px}.command-item-copy{flex-direction:column;min-width:0;display:flex}.command-item-copy strong{font-size:11.5px}.command-item-copy small{color:var(--label-caption);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:10px;overflow:hidden}.command-arrow{color:var(--label-caption);font-size:17px}.command-empty{color:var(--label-caption);text-align:center;padding:30px 12px;font-size:11px}.settings{border-color:var(--border-l3);box-shadow:var(--shadow-pop);border-radius:10px;grid-template-columns:230px minmax(0,1fr);inset:12px;transform:translateY(8px)}.settings-side{color:#ebefeaad;background:#222824;border-right-color:#ffffff12;padding:12px 9px}.settings-brand{margin:3px 6px 13px}.settings-brand span{color:#e8ece76b;font:10px var(--font-sans)}.settings-group-label{color:#e8ece747;letter-spacing:.08em;padding:10px 10px 5px;font-size:10px;font-weight:700}.settings-side .settings-tab{color:#ebefea91;border-radius:5px;min-height:34px;margin-bottom:1px;padding:7px 9px;font-size:11.5px}.settings-side .settings-tab:hover{background:#ffffff0e}.settings-side .settings-tab.active{color:#f4f6f3;background:#538b7730;box-shadow:inset 2px 0 #70ac97}.settings-body{background:var(--bg-base);padding:30px clamp(24px,3.5vw,46px) 40px}.settings-body h3{font-size:21px;font-weight:690}.close-round{border-radius:6px}.control-card,.mc-card,.passport-card,.provider-card,.run-row{box-shadow:none;border-radius:8px}.mc-card:hover,.provider-card:hover{border-color:var(--border-l3);box-shadow:none;transform:none}.field input,.field select,.field textarea{background:var(--bg-elevated);border-radius:6px;min-height:39px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--border-l4);box-shadow:0 0 0 3px var(--accent-soft)}.btn-primary{background:var(--accent);box-shadow:none;border-radius:6px}.btn-ghost{background:var(--bg-elevated);border-radius:6px}.resource-toolbar{box-shadow:none;border-radius:8px}.resource-search,.resource-toolbar select{border-radius:5px}.mc-card .mc-ico,.picker-provider-mark{background:var(--accent-soft);border-radius:6px}.mc-toggle.on .mc-switch{background:var(--accent)}.extension-dropzone{background:var(--bg-elevated);border-radius:8px}.modal{-webkit-backdrop-filter:none;backdrop-filter:none;background:#14191680}.modal-card,.model-picker-modal{border-radius:9px}.modal-close{border-radius:5px}.picker-option{border-radius:6px;min-height:52px}.picker-option:hover{transform:none}.picker-option.active{background:var(--accent-soft);border-color:var(--border-l4)}.picker-option.active .picker-option-state{background:var(--accent);border-radius:4px}:root[data-theme=dark] .topbar{background:var(--bg-elevated)}:root[data-theme=dark] .home-composer,:root[data-theme=dark] .home-panel{box-shadow:none}:root[data-theme=dark] .field input,:root[data-theme=dark] .field select,:root[data-theme=dark] .field textarea{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (width<=1180px){.command-btn span{display:none}.main.inspector-open .content{margin-right:0}.main.inspector-open .composer-wrap{right:var(--composer-side-clearance)}.session-inspector{box-shadow:-18px 0 44px #191f1c24}}@media (width<=980px){.app{grid-template-columns:238px minmax(0,1fr)}#agentPicker{display:none}.home-workbench{padding-inline:20px}}@media (width<=760px){.app{grid-template-columns:minmax(0,1fr)}.main{grid-column:1}.topbar{height:56px}.command-btn,.topbar-path{display:none}.topbar-title{max-width:108px}.home-workbench{padding:38px 14px 28px}.home-intro h1{font-size:29px}.home-grid{grid-template-columns:1fr}.home-links{grid-template-columns:repeat(2,minmax(0,1fr))}.home-metrics strong{font-size:16px}.transcript{padding-inline:12px}.msg{gap:8px}.msg-avatar,.msg.assistant .msg-avatar,.msg.user .msg-avatar{width:25px;height:25px}.session-inspector{width:min(92vw,340px);top:56px}.settings{border-radius:0}.settings-side{background:#222824}.settings-group-label{display:none}.settings-side .settings-tab{border-radius:5px}.settings-side .settings-tab.active{background:#538b7738;box-shadow:inset 0 -2px #70ac97}.settings-top{background:#222824}.modal-card{border-radius:9px}}@media (width<=460px){#inspectorBtn .icon-btn-label{display:none}.home-intro p{font-size:12.5px}.home-metrics{grid-template-columns:repeat(2,1fr)}.home-metrics>div:nth-child(3){border-left:0}.home-metrics>div:nth-child(3),.home-metrics>div:nth-child(4){border-top:1px solid var(--border-l1)}.home-links{grid-template-columns:1fr 1fr}.command-palette{padding-inline:8px}}:root{--bg-base:var(--mc-canvas);--bg-elevated:var(--mc-surface);--bg-hover:var(--mc-surface-hover);--bg-active:var(--mc-accent-soft);--bg-sunken:var(--mc-surface-subtle);--border-l1:var(--mc-line-faint);--border-l2:var(--mc-line);--border-l3:var(--mc-line-strong);--border-l4:var(--mc-accent-line);--label-primary:var(--mc-text);--label-secondary:var(--mc-text-muted);--label-tertiary:var(--mc-text-subtle);--label-caption:var(--mc-text-faint);--label-dimmed:var(--mc-text-disabled);--label-primary-bluish:var(--mc-accent);--state-business-primary:var(--mc-accent);--state-business-on-primary:var(--mc-on-accent);--state-business-tertiary:var(--mc-accent-soft);--accent:var(--mc-accent);--accent-strong:var(--mc-accent-strong);--accent-cyan:var(--mc-accent-cyan);--accent-soft:var(--mc-accent-soft);--accent-soft2:#315fce40;--bubble-user:var(--mc-user-surface);--bubble-user-border:var(--mc-user-line);--state-error-primary:var(--mc-danger);--state-error-bg:var(--mc-danger-soft);--state-warning:var(--mc-warning);--state-warning-bg:var(--mc-warning-soft);--state-ongoing:var(--mc-success);--state-success-bg:var(--mc-success-soft);--content-width:920px;--composer-card-max-width:940px;--radius-sm:var(--mc-radius-sm);--radius-md:var(--mc-radius-md);--radius-lg:var(--mc-radius-lg);--radius-xl:18px;--radius-pill:var(--mc-radius-pill);--shadow-xs:var(--mc-shadow-xs);--shadow-sm:var(--mc-shadow-sm);--shadow-md:var(--mc-shadow);--shadow-pop:var(--mc-shadow-pop);--font-sans:var(--mc-font-sans);--font-mono:var(--mc-font-mono);--easing:var(--mc-easing);--scrollbar-thumb:var(--mc-scrollbar-thumb);--scrollbar-thumb-hover:var(--mc-scrollbar-thumb-hover);--composer-side-clearance:16px}#root{height:100%}body{background:var(--bg-base);color:var(--label-primary);font-size:14px}[role=button],button{-webkit-tap-highlight-color:transparent}[href]:focus-visible,[role=button]:focus-visible,[tabindex]:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.form-control:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none}.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible,.form-control:focus-visible{border-color:var(--accent)}kbd{font:500 10px/1.2 var(--font-mono);letter-spacing:0}.boot-error{background:var(--bg-elevated);border:1px solid var(--border-l2);border-radius:var(--radius-lg);width:min(520px,100% - 32px);margin:15vh auto;padding:28px}.app{background:var(--bg-base);grid-template-columns:264px minmax(0,1fr)}.sidebar{background:var(--mc-sidebar);box-shadow:none;color:#e8edf5;border-right:1px solid #1d2939;padding:0 12px 12px}.brand{color:#fff;gap:11px;min-height:72px;padding:16px 8px 12px}.brand-logo{box-shadow:none;color:#101828;background:#fff;border-radius:9px;width:31px;height:31px;font-size:14px}.brand-copy{flex-direction:column;min-width:0;line-height:1.2;display:flex}.brand-copy strong{letter-spacing:-.01em;font-size:15px}.brand-copy span{color:#98a2b3;margin-top:4px;font-size:10px;font-weight:500}.sidebar-close{color:#98a2b3;border-radius:8px;justify-content:center;align-items:center;width:38px;height:38px;margin-left:auto;display:none}.new-chat{color:#fff;background:#1d2939;border:1px solid #344054;border-radius:9px;gap:9px;min-height:44px;margin:2px 0 12px;padding:0 12px;font-size:13px}.new-chat:hover{background:#26364c;border-color:#475467}.new-chat kbd{color:#98a2b3;background:#101828;border:1px solid #344054;border-radius:4px;margin-left:auto;padding:3px 5px}.conv-search-wrap{color:#98a2b3;background:#ffffff0d;border:1px solid #ffffff14;border-radius:9px;align-items:center;gap:8px;height:40px;margin-bottom:14px;padding:0 11px;display:flex}.conv-search{color:#f2f4f7;background:0 0;border:0;outline:0;width:100%;height:100%;font-size:13px}.conv-search::placeholder{color:#667085}.conv-section-title{color:#98a2b3;letter-spacing:0;text-transform:none;justify-content:space-between;padding:3px 8px 7px;font-size:11px;font-weight:600;display:flex}.conv-section-title small{color:#667085;font-size:10px;font-weight:500}.conv-list{padding:0}.conv-item{color:#aeb8c7;border-radius:8px;min-height:40px;padding:9px 10px;font-size:13px}.conv-item:hover{color:#fff;background:#ffffff0f}.conv-item.active{color:#fff;background:#243b6b;font-weight:560}.conv-item .conv-dot{background:#667085;width:5px;height:5px}.conv-item.active .conv-dot{box-shadow:none;background:#a9c3ff}.sidebar-empty{color:#667085;padding:20px 10px;font-size:12px}.sidebar-tools{border-top:1px solid #ffffff14;grid-template-columns:1fr 1fr;gap:6px;padding-top:10px;display:grid}.sidebar-tools button{color:#98a2b3;text-align:left;border-radius:8px;justify-content:flex-start;align-items:center;gap:8px;min-width:0;min-height:40px;padding:0 9px;font-size:11px;display:flex}.sidebar-tools button:hover{color:#fff;background:#ffffff0f}.main,:root[data-theme=dark] .main{background:var(--bg-base)}.topbar{border-bottom:1px solid var(--border-l2);background:#fffffff5;gap:7px;height:64px;padding:0 16px 0 20px}.topbar-context{flex-direction:column;min-width:150px;line-height:1.15;display:flex}.topbar-title{font-size:14px;font-weight:650}.topbar-path,.topbar-title{text-overflow:ellipsis;white-space:nowrap;max-width:280px;overflow:hidden}.topbar-path{color:var(--label-caption);font:500 10px/1.2 var(--font-sans);letter-spacing:0;text-transform:none;margin-top:5px}.model-picker{border:1px solid var(--border-l2);color:var(--label-secondary);background:#f7f8fa;border-radius:9px;gap:7px;min-height:36px;padding:0 10px;font-size:12px;max-width:205px!important}.model-picker:hover{background:var(--bg-hover);border-color:var(--border-l3);color:var(--label-primary)}.workspace-picker{max-width:176px!important}.picker-prefix{color:var(--label-caption);text-transform:none;font-size:10px;font-weight:600}.picker-status{background:var(--state-ongoing);border-radius:50%;flex:none;width:7px;height:7px}.command-btn,.icon-btn{color:var(--label-secondary);border:1px solid #0000;border-radius:9px;justify-content:center;align-items:center;gap:6px;min-height:36px;padding:0 9px;font-size:12px;display:inline-flex}.command-btn:hover,.icon-btn:hover{background:var(--bg-hover);color:var(--label-primary)}.command-btn{border-color:var(--border-l2);background:#fff}.command-btn kbd{color:var(--label-caption);margin-left:2px}.mobile-menu{width:38px;padding:0;display:none}.content{background:var(--bg-base)}.home-workbench{width:min(100%,1030px);margin:0 auto;padding:clamp(42px,7vh,76px) 30px 42px}.home-intro{text-align:left;margin-bottom:25px}.home-location{color:var(--accent);font-size:12px;font-weight:600}.home-location span{color:var(--border-l3);margin:0 5px}.home-intro h1{color:var(--label-primary);letter-spacing:-.035em;margin:9px 0 7px;font-size:clamp(30px,3.5vw,43px);font-weight:690;line-height:1.12}.home-intro p{color:var(--label-secondary);max-width:660px;margin:0;font-size:15px;line-height:1.55}.home-composer{background:var(--bg-elevated);border:1px solid var(--border-l3);border-radius:16px;flex-direction:column;min-height:190px;padding:18px 18px 14px;display:flex;box-shadow:0 12px 32px #17203312}.home-composer:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px #315fce1a,0 16px 38px #17203314}.home-composer-label{justify-content:space-between;align-items:center;gap:12px;display:flex}.home-composer-label label{color:var(--label-secondary);font-size:12px;font-weight:650}.home-composer-label>span{color:var(--label-caption);align-items:center;gap:6px;font-size:11px;display:flex}.status-pulse{background:var(--state-ongoing);border-radius:50%;width:7px;height:7px;display:inline-block;box-shadow:0 0 0 3px #25815e1a}.status-pulse.warn{background:var(--state-warning);box-shadow:0 0 0 3px #a15c121a}.home-composer .hero-input{color:var(--label-primary);flex:1;min-height:86px;margin-top:10px;font-size:17px;line-height:1.55}.home-composer .hero-input::placeholder{color:#9da6b5}.hero-actions{gap:7px;margin-top:10px}.composer-tool,.hero-context-tag,.hero-tag{color:var(--label-secondary);background:#f3f5f8;border:1px solid #0000;border-radius:8px;align-items:center;gap:6px;min-height:32px;padding:0 10px;font-size:11px;display:inline-flex}.composer-tool:hover,.hero-context-tag:hover,.hero-tag:hover{background:var(--bg-hover);border-color:var(--border-l2);color:var(--label-primary)}.btn-secondary{color:var(--accent);background:#fff;border:1px solid #cbd9fb;border-radius:9px;min-height:34px;padding:0 12px;font-size:12px;font-weight:650}.btn-secondary:hover{background:var(--accent-soft);color:var(--accent-strong);border-color:#aac0f6}.send-btn{background:var(--accent);color:#fff;border-radius:10px;width:36px;height:36px;font-size:17px}.send-btn:hover{background:var(--accent-strong)}.home-quick{border-bottom:1px solid var(--border-l2);flex-wrap:wrap;align-items:center;gap:7px;min-height:54px;padding:12px 2px;display:flex}.home-quick>span{color:var(--label-caption);margin-right:3px;font-size:11px}.home-quick button{border:1px solid var(--border-l2);color:var(--label-secondary);background:0 0;border-radius:7px;padding:6px 9px;font-size:11px}.home-quick button:hover{background:var(--accent-soft);color:var(--accent);border-color:#cbd9fb}.home-overview{grid-template-columns:minmax(0,1.08fr) minmax(300px,.92fr);gap:42px;margin-top:25px;display:grid}.home-section{min-width:0}.home-section-head{justify-content:space-between;align-items:flex-start;gap:16px;min-height:46px;display:flex}.home-section-head h2{letter-spacing:-.01em;margin:0;font-size:15px;font-weight:680}.home-section-head p{color:var(--label-caption);margin:4px 0 0;font-size:11px}.home-section-head button{color:var(--accent);padding:4px 0;font-size:11px;font-weight:600}.recent-work-list{border-top:1px solid var(--border-l2)}.recent-work-item{border-bottom:1px solid var(--border-l2);color:var(--label-secondary);text-align:left;justify-content:space-between;align-items:center;gap:16px;width:100%;min-height:48px;padding:0 4px;display:flex}.recent-work-item:hover{color:var(--accent)}.recent-work-item span{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:550;overflow:hidden}.recent-work-item small{color:var(--label-caption);flex:none;font-size:10px}.home-empty{border-bottom:1px solid var(--border-l2);border-top:1px solid var(--border-l2);flex-direction:column;justify-content:center;min-height:116px;display:flex}.home-empty strong{font-size:13px}.home-empty span{color:var(--label-caption);margin-top:5px;font-size:11px}.context-overview-list{border-top:1px solid var(--border-l2);margin:0}.context-overview-list>div{border-bottom:1px solid var(--border-l2);grid-template-columns:86px minmax(0,1fr);align-items:center;gap:12px;min-height:40px;padding:7px 0;display:grid}.context-overview-list dt{color:var(--label-caption);font-size:11px}.context-overview-list dd{color:var(--label-secondary);text-align:right;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:12px;overflow:hidden}.home-links{flex-wrap:wrap;gap:6px;margin-top:11px;display:flex}.home-links button{border:1px solid var(--border-l2);color:var(--label-secondary);background:#fff;border-radius:7px;min-height:29px;padding:0 8px;font-size:10px}.home-links button:hover{color:var(--accent);border-color:#b9caf2}.transcript{max-width:var(--content-width);padding:38px 20px 220px}.msg{gap:13px;margin-bottom:34px}.msg-avatar{border-radius:9px;width:32px;height:32px;font-size:12px}.msg.assistant .msg-avatar{background:#172033}.msg.user .msg-avatar{display:none}.msg.user{width:fit-content;max-width:min(76%,720px);margin:0 0 32px auto;display:block}.msg.user .msg-body{background:var(--bubble-user);border-color:var(--bubble-user-border);border-radius:14px 14px 4px;padding:11px 14px}.msg.user .msg-role{display:none}.msg-role{color:var(--label-secondary);margin-bottom:7px;font-size:12px}.msg-role .msg-model{background:var(--bg-sunken);color:var(--label-caption);font:500 10px/1.3 var(--font-sans);border-radius:5px;padding:2px 6px}.msg-content{color:var(--label-primary);font-size:15px;line-height:1.74}.msg-content pre{background:#111827;border-radius:10px}.msg-stats{color:var(--label-caption);text-align:left;border-top:0;padding-top:9px;font-size:10px}.busy-label{color:var(--accent);-webkit-text-fill-color:currentColor;background:0 0;animation:none}.busy-label:before{background:var(--accent);content:"";border-radius:50%;width:6px;height:6px;margin-right:5px;animation:1.2s ease-in-out infinite mc-pulse;display:inline-block}@keyframes mc-pulse{50%{opacity:.35}}.composer-wrap{bottom:var(--mc-keyboard-offset,0);padding-bottom:max(13px,env(safe-area-inset-bottom))}.composer{border-color:var(--border-l3);border-radius:15px;box-shadow:0 14px 40px #1720331c}.composer:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px #315fce1a,0 14px 40px #1720331c}.composer-input{font-size:15px}.composer-hint,.ctx-hint{color:var(--label-caption);font-size:10px}.content:has(.transcript-virtual){overflow:hidden}.transcript.transcript-virtual{height:100%;max-width:var(--content-width);width:100%;margin:0 auto;padding:0}.transcript-virtual .msg{padding-inline:20px}.transcript-virtual [data-item-index="0"] .msg{margin-top:38px}.transcript-footer{height:190px}.user-plain-text{white-space:pre-wrap}.run-paused{background:var(--bg-sunken);border:1px solid var(--border-l2);color:var(--label-secondary);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin-top:10px;padding:9px 10px;font-size:12px;display:flex}.run-paused .msg-action{color:var(--accent);opacity:1;flex:none}.file-ctx-head{text-align:left;background:0 0;border:0;width:100%}.file-ctx-head svg{transition:transform .15s var(--easing)}.file-ctx-head svg.is-collapsed{transform:rotate(-90deg)}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.session-inspector{background:var(--bg-elevated);border-left-color:var(--border-l2);width:360px;top:64px;box-shadow:-14px 0 36px #17203312}.inspector-head{min-height:68px;padding:13px 16px}.inspector-head>div{flex-direction:column;display:flex}.inspector-head strong{font-size:14px}.inspector-head span{color:var(--label-caption);font:500 10px/1.3 var(--font-sans);letter-spacing:0;margin-top:4px}.inspector-close{color:var(--label-secondary);border-radius:8px;place-items:center;width:36px;height:36px;display:grid}.inspector-body{padding:13px}.inspector-status{background:var(--bg-base);border:1px solid var(--border-l2);border-radius:10px;align-items:center;gap:12px;padding:14px;display:flex}.inspector-score{color:var(--accent);align-items:end;display:flex}.inspector-score strong{font-size:27px}.inspector-section{border-bottom:1px solid var(--border-l2);padding:15px 2px}.scrim{-webkit-backdrop-filter:none;backdrop-filter:none;background:#0f172a8f}.settings{background:var(--bg-elevated);border:1px solid #ffffff6b;border-radius:16px;grid-template-columns:238px minmax(0,1fr);min-width:0;inset:14px;overflow:hidden;box-shadow:0 28px 90px #0f172a42}.settings-side{border-right:1px solid var(--border-l2);color:var(--label-secondary);background:#f7f8fa;min-width:0;padding:14px 11px 11px}.settings-brand{padding:2px 8px 16px}.settings-brand .brand-logo{background:var(--accent);color:#fff}.settings-brand>div:last-child{flex-direction:column;display:flex}.settings-brand strong{color:var(--label-primary);font-size:14px}.settings-brand span{color:var(--label-caption);margin-top:3px;font-size:10px}.settings-nav-group{flex-direction:column;align-items:stretch;display:flex}.settings-nav-group+.settings-nav-group{margin-top:8px}.settings-group-label{color:var(--label-caption);font:600 10px/1.2 var(--font-sans);letter-spacing:0;padding:8px 10px 5px}.settings-side .settings-tab{color:var(--label-secondary);border-radius:8px;gap:10px;width:100%;min-height:38px;margin:1px 0;padding:0 10px;font-size:12px}.settings-side .settings-tab:hover{color:var(--label-primary);background:#eef1f5}.settings-side .settings-tab.active{background:var(--accent-soft);box-shadow:none;color:var(--accent);font-weight:620}.settings-tab .tab-ico{color:currentColor;fill:none;width:16px;height:16px}.settings-side-spacer{flex:1}.settings-close-side{color:var(--label-caption)}.settings-body{background:#fff;min-width:0;padding:38px clamp(24px,4vw,56px) 60px;overflow-x:hidden}.settings-top{top:20px;right:20px}.settings-body h2,.settings-body h3{color:var(--label-primary);letter-spacing:-.025em}.settings-body>h3{margin-top:0;font-size:24px}.lead,.settings-body>p,.settings-subtitle{color:var(--label-secondary)!important}.settings-page-heading{gap:22px}.agent-card,.capability-card,.plugin-card,.provider-card,.settings-section,.skill-card,.usage-card,.workspace-card{max-width:100%;border-color:var(--border-l2)!important;box-shadow:none!important;border-radius:11px!important}.provider-settings{width:min(100%,1100px)}.provider-card{padding:16px!important}.agent-grid,.plugin-grid,.providers-grid,.skills-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:12px}.field input,.field select,.field textarea,.form-control{color:var(--label-primary);max-width:100%;border-color:var(--border-l2)!important;background:#f8fafc!important;border-radius:8px!important}.btn-primary{background:var(--accent);color:#fff;border-radius:9px;min-height:38px;padding:0 14px;font-size:12px;font-weight:650}.btn-primary:hover{background:var(--accent-strong)}.btn-danger{background:var(--state-error-primary);color:#fff;border-radius:9px;min-height:38px;padding:0 14px;font-size:12px;font-weight:650}.btn-danger:hover{filter:brightness(.93)}.confirm-message{white-space:pre-line;margin-bottom:4px;font-size:13px;line-height:1.65}.btn-ghost,.confirm-message{color:var(--label-secondary)}.btn-ghost{border-color:var(--border-l2);border-radius:8px}.provider-probe-result,.tool-test-result{color:var(--label-secondary);margin-top:8px;font-size:12px;line-height:1.5}.tool-test-result{overflow-wrap:anywhere}.usage-kicker{color:var(--accent)!important;font:600 11px/1.2 var(--font-sans)!important;letter-spacing:0!important}.command-palette,.modal{-webkit-backdrop-filter:none;backdrop-filter:none;background:#0f172a94}.modal-card{background:var(--bg-elevated);border:1px solid var(--border-l2);box-shadow:var(--shadow-pop);color:var(--label-primary);border-radius:14px;width:540px;padding:22px}.mc-title-wrap{flex:1;min-width:0}.extension-card-actions{justify-content:space-between;opacity:1!important;position:static!important}.extension-card-actions.left{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:8px}.extension-pick-status{color:var(--label-secondary);min-height:18px;margin-top:10px;font-size:12.5px;line-height:1.5}.extension-pick-status.error{background:var(--state-error-bg);color:var(--state-error-primary);border:1px solid #c44a4052;border-radius:8px;align-items:flex-start;gap:9px;margin-bottom:10px;padding:10px 12px;display:flex}.extension-pick-status.error:before{background:var(--state-error-primary);color:#fff;content:"!";font:700 10px/1 var(--font-sans);border-radius:50%;flex:none;place-items:center;width:15px;height:15px;margin-top:1px;display:grid}.extension-drop-icon svg{width:30px;height:30px}#extensionPickRetry[hidden]{display:none}.compact-action{width:auto;padding:8px 16px}.mcp-security-note{margin-bottom:12px}.skill-card-actions{justify-content:space-between;align-items:center;margin-top:auto;padding-top:6px;display:flex}.modal-heading{border-bottom:1px solid var(--border-l2);padding-bottom:14px}.modal-heading h3{letter-spacing:-.02em;font-size:19px}.modal-close{color:var(--label-caption);border-radius:8px;width:36px;height:36px}.command-panel{border-color:var(--border-l2);box-shadow:var(--shadow-pop);border-radius:14px}.command-search-wrap{min-height:60px}.command-item{border-radius:8px}.command-item:focus,.command-item:hover{background:var(--bg-hover)}.compare-modal-card{flex-direction:column;width:min(1160px,100vw - 40px);min-height:460px;max-height:calc(100vh - 40px);display:flex;overflow:hidden}.compare-modal-card .modal-heading{flex:none}.compare-lab{flex:1;min-height:0;padding-top:14px;overflow-y:auto}.compare-intro{justify-content:space-between;align-items:center;gap:18px;margin-bottom:13px;display:flex}.compare-intro p{color:var(--label-secondary);margin:0;font-size:13px}.compare-context{background:var(--bg-sunken);color:var(--label-secondary);white-space:nowrap;border-radius:7px;padding:6px 9px;font-size:10px}.compare-config{border:1px solid var(--border-l2);background:#f8fafc;border-radius:11px;padding:14px}.compare-targets{border:0;flex-wrap:wrap;gap:7px;max-height:104px;margin:0 0 13px;padding:0;display:flex;overflow-y:auto}.compare-targets legend{color:var(--label-secondary);font:650 11px/1.2 var(--font-sans);letter-spacing:0;text-transform:none;width:100%;margin-bottom:6px}.compare-targets label{border:1px solid var(--border-l2);cursor:pointer;background:#fff;border-radius:8px;align-items:center;gap:9px;min-width:164px;padding:8px 10px;display:flex}.compare-targets label:has(input:checked){background:var(--accent-soft);border-color:#a9bef0}.compare-targets input{accent-color:var(--accent)}.compare-targets label span{flex-direction:column;min-width:0;display:flex}.compare-targets strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.compare-targets small{color:var(--label-caption);margin-top:2px;font-size:10px}.compare-prompt-label{color:var(--label-secondary);font:650 11px/1.2 var(--font-sans);letter-spacing:0;text-transform:none;margin-bottom:6px;display:block}.compare-prompt{border:1px solid var(--border-l2);color:var(--label-primary);resize:vertical;background:#fff;border-radius:8px;outline:0;width:100%;min-height:78px;max-height:140px;padding:10px 11px;font-size:13px}.compare-prompt:focus{border-color:var(--accent);box-shadow:0 0 0 3px #315fce1a}.compare-actions{justify-content:flex-end;align-items:flex-end;gap:12px;min-height:49px;display:flex}.compare-actions>span{color:var(--label-caption);font-size:10px}.compare-results{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px;min-height:0;margin-top:12px;display:grid}.compare-results:empty{display:none}.compare-result{border:1px solid var(--border-l2);background:#fff;border-radius:10px;flex-direction:column;min-width:0;min-height:310px;display:flex;overflow:hidden}.compare-result>header{border-bottom:1px solid var(--border-l2);background:#fff;justify-content:space-between;align-items:center;gap:9px;min-height:54px;padding:10px 12px;display:flex}.compare-result>header>div{flex-direction:column;min-width:0;display:flex}.compare-result>header strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.compare-result>header span{color:var(--label-caption);margin-top:2px;font-size:10px}.compare-state{background:var(--bg-sunken);border-radius:5px;flex:none;padding:4px 6px}.compare-result[data-state=success] .compare-state{background:var(--state-success-bg);color:var(--state-ongoing)}.compare-result[data-state=error] .compare-state{background:var(--state-error-bg);color:var(--state-error-primary)}.compare-result-body{flex:1;min-height:205px;padding:14px;overflow:auto}.compare-answer{overflow-wrap:anywhere;font-size:13px;line-height:1.7}.compare-answer p{margin:0 0 9px}.compare-answer pre{color:#f8fafc;background:#111827;border-radius:7px;max-width:100%;padding:10px;overflow:auto}.compare-error{background:var(--state-error-bg);color:var(--state-error-primary);border-radius:7px;padding:11px;font-size:11px}.compare-empty{color:var(--label-caption);font-size:11px}.compare-loading{justify-content:center;align-items:center;gap:5px;height:120px;display:flex}.compare-loading span{background:var(--accent);border-radius:50%;width:6px;height:6px;animation:1s ease-in-out infinite compare-load}.compare-loading span:nth-child(2){animation-delay:.12s}.compare-loading span:nth-child(3){animation-delay:.24s}@keyframes compare-load{50%{opacity:.45;transform:translateY(-5px)}}.compare-result footer{border-top:1px solid var(--border-l2);color:var(--label-caption);align-items:center;gap:9px;min-height:44px;padding:7px 10px;font-size:10px;display:flex}.compare-result footer>div{align-items:center;gap:5px;margin-left:auto;display:flex}.compare-result footer button{color:var(--label-secondary);border-radius:6px;padding:5px 7px;font-size:10px;font-weight:600}.compare-result footer button:hover{background:var(--bg-hover)}.compare-result footer .compare-adopt{background:var(--accent);color:#fff}.compare-result footer .compare-adopt:hover{background:var(--accent-strong)}.compare-history{border-top:1px solid var(--border-l2);margin-top:12px}.compare-history summary{color:var(--label-secondary);cursor:pointer;align-items:center;gap:8px;min-height:47px;list-style:none;display:flex}.compare-history summary::-webkit-details-marker{display:none}.compare-history summary span{font-size:12px;font-weight:650}.compare-history summary small{color:var(--label-caption);font-size:10px}#compareHistoryList{padding-bottom:4px}.compare-history-item{border-top:1px solid var(--border-l2);text-align:left;justify-content:space-between;align-items:center;gap:18px;width:100%;min-height:48px;padding:7px 4px;display:flex}.compare-history-item>span{flex-direction:column;min-width:0;display:flex}.compare-history-item strong{color:var(--label-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.compare-history-item small{color:var(--label-caption);margin-top:3px;font-size:10px}.compare-history-item time{color:var(--label-caption);flex:none;font-size:10px}.compare-history-item:hover strong{color:var(--accent)}.compare-history-empty{border-top:1px solid var(--border-l2);color:var(--label-caption);padding:16px 0;font-size:11px}:root[data-theme=dark] .compare-result,:root[data-theme=dark] .compare-result>header,:root[data-theme=dark] .settings-body,:root[data-theme=dark] .topbar{background:var(--bg-elevated)}:root[data-theme=dark] .compare-config,:root[data-theme=dark] .settings-side{background:#121a29}:root[data-theme=dark] .home-composer,:root[data-theme=dark] .modal-card{box-shadow:none}:root[data-theme=dark] .compare-prompt,:root[data-theme=dark] .field input,:root[data-theme=dark] .field select,:root[data-theme=dark] .field textarea{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#111827!important}@media (width<=1180px){.app{grid-template-columns:238px minmax(0,1fr)}.topbar-path{max-width:170px}.command-btn>span,.icon-btn-label{display:none}}@media (width<=960px){.workspace-picker{display:none}.home-overview{grid-template-columns:1fr;gap:28px}.compare-results{grid-template-columns:1fr 1fr}}@media (width<=760px){.app{display:block}.main{height:100%}.sidebar{width:min(88vw,310px);padding:0 12px 12px}.mobile-menu,.sidebar-close{display:inline-flex}.topbar{height:58px;padding:0 9px}.topbar-context{flex:1;min-width:0}.topbar-path,.topbar-title{max-width:44vw}#commandBtn,#compareBtn,#forkBtn,.topbar .topbar-spacer{display:none}.model-picker{max-width:132px!important}.home-workbench{padding:32px 16px 28px}.home-intro{margin-bottom:20px}.home-intro h1{font-size:31px}.home-intro p{font-size:13px}.home-composer{min-height:210px;padding:15px}.home-composer .hero-input{font-size:16px}.home-quick{align-items:flex-start}.home-quick>span{width:100%}.hero-context-tag,.home-compare{display:none}.transcript{padding:25px 13px 195px}.msg.user{max-width:88%}.composer-wrap{padding-inline:8px;left:0;right:0}.session-inspector{width:min(94vw,360px);top:58px}.settings{border:0;border-radius:0;grid-template-rows:58px minmax(0,1fr);grid-template-columns:1fr;inset:0}.settings-side{border-bottom:1px solid var(--border-l2);border-right:0;flex-direction:row;grid-row:1;align-items:center;gap:3px;padding:9px 58px 8px 10px;overflow:auto hidden}.settings-brand,.settings-close-side,.settings-group-label,.settings-side-spacer{display:none}.settings-nav-group{display:contents}.settings-side .settings-tab{flex:none;justify-content:center;width:auto;height:38px;min-height:38px;padding:0 10px}.settings-tab span{display:inline}.settings-tab .tab-ico{display:none}.settings-body{grid-area:2/1;padding:26px 16px 44px}.settings-top{z-index:3;background:0 0;border:0;grid-area:1/1;place-self:start end;position:absolute;top:10px;right:8px}.settings-top .icon-btn{background:var(--bg-elevated);border-color:var(--border-l2);color:var(--label-secondary)}.compare-modal-card{width:calc(100vw - 14px);height:calc(100vh - 14px);max-height:calc(100vh - 14px);padding:15px}.compare-intro{align-items:flex-start}.compare-results{grid-template-columns:1fr}}@media (width<=460px){.topbar #agentPicker{display:none}.home-location{font-size:11px}.home-intro h1{font-size:28px}.hero-actions{flex-wrap:wrap}.hero-actions .spacer{min-width:12px}.context-overview-list>div{grid-template-columns:74px minmax(0,1fr)}.ctx-hint{display:none}.compare-intro{display:block}.compare-context{margin-top:8px;display:inline-block}.compare-targets label{flex:140px}.compare-result footer>span:nth-child(2){display:none}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
@@ -1 +0,0 @@
1
- import{a as e,d as t,f as n,p as r,s as i}from"./index-CASVCOUO.js";async function a(){await s(),await o(),window.addEventListener(`popstate`,()=>{o()})}async function o(){let e=location.hash.replace(/^#\/?/,``).split(`/`).filter(Boolean).map(decodeURIComponent),n=r(`#modal`)?.classList.contains(`open`)&&r(`#modalCard`)?.classList.contains(`compare-modal-card`);if(e[0]!==`compare`&&n&&closeModal(),e[0]===`settings`){openSettings(e[1]||`general`);return}if(r(`#settings`)?.classList.contains(`open`)&&closeSettings(),e[0]===`compare`){openCompare();return}e[0]===`chat`&&e[1]&&e[1]!==t.currentConvId?await openConversation(e[1]):e[0]===`new`&&(t.currentConvId||t.messages.length)&&await newConversation()}async function s(){await Promise.all([loadProviders(),loadConversations(),loadSkills(),loadTools(),loadMcpServers(),loadAgents(),loadPlugins(),loadRuntime(),loadRuns()]),i();let e=localStorage.getItem(`multichat_lastModel`);if(e){let[n,...r]=e.split(`:`),i=r.join(`:`),a=t.providers.find(e=>e.id===n);a&&(t.selectedProvider=a,t.selectedModel=i)}if(!t.selectedProvider&&t.providers.length>0){let e=t.providers[0];t.selectedProvider=e,t.selectedModel=e.models&&e.models[0]||e.defaultModel||e.model||``}await loadWorkspaces(),renderTopbar(),renderContent(),renderSettings();let n=r(`#fcMin`);n&&(n.onclick=()=>{let e=r(`#fileCtxBody`);e&&(e.classList.toggle(`collapsed`),n.textContent=e.classList.contains(`collapsed`)?`▸`:`▾`)}),renderFileContext(),c();let a=r(`#convSearch`);a&&(a.oninput=e=>{t.convSearch=e.target.value,renderConvList()});let o=r(`#forkBtn`);o&&(o.onclick=l);let s=r(`#composerFileBtn`);s&&(s.onclick=()=>openSettings(`workspace`))}function c(){let i=r(`#content`);i&&(i.addEventListener(`dragover`,e=>{e.preventDefault(),i.classList.add(`drag-over`)}),i.addEventListener(`dragleave`,e=>{e.target===i&&i.classList.remove(`drag-over`)}),i.addEventListener(`drop`,async r=>{r.preventDefault(),i.classList.remove(`drag-over`);let a=r.dataTransfer&&r.dataTransfer.files;if(!(!a||!a.length)){if(!t.selectedProject){n(`请先在右上角选择工作区/项目`,`error`);return}for(let r of Array.from(a)){if(r.size>2e6){n(`文件超过 2MB 限制,已跳过:`+r.name,`error`);continue}try{let i=await r.text(),a=await e(`/api/assets`,{method:`POST`,body:JSON.stringify({projectId:t.selectedProject.id,name:r.name,mimeType:r.type||`text/plain`,content:i})});t.assets=[a,...t.assets],t.selectedAssetIds=new Set([...t.selectedAssetIds,a.id]),n(`已添加文件:`+r.name)}catch(e){n(`文件添加失败:`+e.message,`error`)}}renderFileContext()}}))}async function l(){let i=t.messages.filter(e=>e.content&&!e.streaming).map(e=>({role:e.role,content:e.content,model:e.model}));if(!i.length){n(`当前没有可分支的内容`,`error`);return}let a=`分支 · `+(i.find(e=>e.role===`user`)?.content?.slice(0,20)||`新对话`);t.currentConvId=null,t.messages=[],r(`#topbarTitle`).textContent=`新对话(分支)`,renderContent(),renderConvList();try{let o=await e(`/api/conversations`,{method:`POST`,body:JSON.stringify({title:a,workspaceId:t.selectedWorkspace?.id||null,projectId:t.selectedProject?.id||null})});t.currentConvId=o.id,await e(`/api/conversations/`+o.id+`/messages`,{method:`POST`,body:JSON.stringify(i)}),t.messages=i,r(`#topbarTitle`).textContent=o.title||`对话`,await loadConversations(),renderContent(),renderConvList(),n(`已创建分支对话`)}catch(e){n(`分支失败:`+e.message,`error`)}}export{o as applyLocationRoute,a as bootstrap,l as forkConversation,s as initApp,c as setupDrop};