pi-web-ui 0.97.0 → 0.98.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 (80) hide show
  1. package/CHANGELOG.md +97 -1
  2. package/README.md +3 -3
  3. package/README.zh-CN.md +3 -3
  4. package/bin/pi-web-ui.mjs +64 -23
  5. package/dist/server/agent-service.js +637 -145
  6. package/dist/server/approval-rules.js +5 -10
  7. package/dist/server/atomic-file.js +40 -0
  8. package/dist/server/attachments.js +22 -0
  9. package/dist/server/claim-store.js +5 -11
  10. package/dist/server/client-state.js +220 -23
  11. package/dist/server/compact-context-tool.js +3 -1
  12. package/dist/server/compacted-history.js +7 -5
  13. package/dist/server/composer-drafts.js +4 -6
  14. package/dist/server/control-socket.js +0 -40
  15. package/dist/server/delegate-mode.js +6 -12
  16. package/dist/server/dsh/dsh-agent-service.js +32 -30
  17. package/dist/server/dsh/dsh-client.js +45 -9
  18. package/dist/server/dsh/dsh-serialize.js +12 -10
  19. package/dist/server/dsh/dsh-sessions.js +20 -6
  20. package/dist/server/dsh/runtime/goal-rpc.mjs +14 -1
  21. package/dist/server/dsh/runtime/runtime-root.mjs +1 -1
  22. package/dist/server/ensure-bash.js +3 -5
  23. package/dist/server/eval-tool.js +8 -4
  24. package/dist/server/goal-review-gate.js +7 -20
  25. package/dist/server/goal-service.js +49 -5
  26. package/dist/server/index.js +83 -15
  27. package/dist/server/launch-origin.js +0 -4
  28. package/dist/server/locales.js +3 -5
  29. package/dist/server/lsp-tool.js +110 -14
  30. package/dist/server/markers/builtins/notify.js +4 -2
  31. package/dist/server/markers/builtins/rename.js +0 -1
  32. package/dist/server/markers/builtins/todo.js +6 -26
  33. package/dist/server/markers/marker.js +0 -15
  34. package/dist/server/markers/registry.js +0 -3
  35. package/dist/server/markers/store.js +0 -3
  36. package/dist/server/mcp-hot-reload.js +12 -5
  37. package/dist/server/model-admin.js +19 -18
  38. package/dist/server/model-enrich.js +0 -3
  39. package/dist/server/patch-tool.js +21 -6
  40. package/dist/server/permission-preset.js +25 -0
  41. package/dist/server/plan-manager.js +150 -5
  42. package/dist/server/plan-mode.js +58 -20
  43. package/dist/server/plugin-api-catalog.js +2 -0
  44. package/dist/server/plugin-catalog.js +6 -6
  45. package/dist/server/plugin-dom.js +3 -4
  46. package/dist/server/plugin-facilities.js +3 -5
  47. package/dist/server/plugin-grants.js +5 -8
  48. package/dist/server/plugin-permissions.js +4 -6
  49. package/dist/server/plugin-schedule.js +4 -7
  50. package/dist/server/plugin-updater.js +151 -38
  51. package/dist/server/plugins.js +16 -2
  52. package/dist/server/prompt-composer.js +12 -3
  53. package/dist/server/protocol-version.js +1 -1
  54. package/dist/server/resolve-global-sdk.js +8 -0
  55. package/dist/server/schedule-agent-tool.js +5 -1
  56. package/dist/server/scheduler-tasks.js +46 -27
  57. package/dist/server/sdk-origin.js +27 -0
  58. package/dist/server/serialize.js +22 -9
  59. package/dist/server/slash-commands.js +16 -0
  60. package/dist/server/subagent-templates.js +4 -10
  61. package/dist/server/subagents.js +22 -11
  62. package/dist/server/terminals.js +11 -6
  63. package/dist/server/text-quote.js +59 -0
  64. package/dist/server/tool-manager.js +12 -3
  65. package/dist/server/tool-overrides.js +24 -0
  66. package/dist/server/update-check.js +69 -25
  67. package/extensions/webui.ts +15 -1
  68. package/package.json +31 -19
  69. package/plugin-sdk/client-utils.mjs +92 -0
  70. package/plugin-sdk/index.d.ts +21 -0
  71. package/plugin-sdk/index.mjs +2 -0
  72. package/plugins/catalog.json +7 -0
  73. package/web/dist/assets/{TerminalPanel-CITBqQrb.js → TerminalPanel-C88r3r3Q.js} +1 -1
  74. package/web/dist/assets/index-2jDtjHvW.css +1 -0
  75. package/web/dist/assets/index-BjdK7s1M.js +368 -0
  76. package/web/dist/index.html +2 -2
  77. package/web/dist/sw.js +2 -1
  78. package/web/public/sw.js +2 -1
  79. package/web/dist/assets/index-DwToli0J.css +0 -1
  80. package/web/dist/assets/index-oI7UKOqJ.js +0 -368
@@ -1 +0,0 @@
1
- .quick-chips-wrapper{flex-direction:column;gap:8px;margin-bottom:14px;display:flex}.quick-chips-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-faint);font-size:11.5px;font-weight:600}.quick-chips-grid{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.quick-chip{background:var(--bg-elev2);border:1px solid var(--border);color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:8px;align-items:center;gap:6px;padding:5px 10px;font-size:12px;font-weight:500;transition:all .15s;display:inline-flex}.quick-chip:hover{background:var(--border-soft);border-color:var(--accent);color:var(--text);transform:translateY(-1px)}.quick-chip:active{transform:translateY(0)}.quick-chip.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.quick-chip-icon{border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;width:15px;height:15px;font-size:11px;display:inline-flex}.quick-chip-tag{color:var(--text-faint);background:var(--bg);border-radius:4px;margin-left:2px;padding:1px 4px;font-size:10px}.candidate-picker-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:400;background:#000000a6;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.candidate-picker-modal{background:var(--bg-elev);border:1px solid var(--border);border-radius:16px;flex-direction:column;width:min(720px,94vw);max-height:min(84vh,780px);animation:.18s cubic-bezier(.16,1,.3,1) candidateModalIn;display:flex;overflow:hidden;box-shadow:0 20px 48px #00000073}@keyframes candidateModalIn{0%{opacity:0;transform:scale(.97)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.candidate-header{border-bottom:1px solid var(--border-soft);justify-content:space-between;align-items:center;gap:12px;padding:18px 20px 14px;display:flex}.candidate-header .iconbtn{flex-shrink:0;min-width:32px;min-height:32px}.candidate-title-group{flex-direction:column;gap:2px;display:flex}.candidate-title{color:var(--text);font-size:15px;font-weight:600}.candidate-subtitle{color:var(--text-dim);font-size:12px}.candidate-filter-bar{background:var(--bg);border-bottom:1px solid var(--border-soft);align-items:center;gap:8px;padding:10px 20px;display:flex}.candidate-search-input{background:var(--bg-elev2);border:1px solid var(--border);color:var(--text);border-radius:7px;outline:none;flex:1;min-width:0;padding:6px 10px;font-size:12.5px}.candidate-search-input:focus{border-color:var(--accent)}.candidate-select-summary{color:var(--text-dim);white-space:nowrap;font-size:12px}.candidate-list-scroll{flex-direction:column;flex:auto;gap:4px;min-height:0;padding:8px 12px;display:flex;overflow-y:auto}.candidate-item-card{background:var(--bg-elev2);cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid #0000;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:8px 12px;transition:all .12s;display:flex}.candidate-item-card:hover{border-color:var(--border);background:var(--border-soft)}.candidate-item-card.selected{background:var(--accent-soft);border-color:color-mix(in srgb, var(--accent) 45%, var(--border))}.candidate-item-left{align-items:center;gap:10px;min-width:0;display:flex}.candidate-checkbox{width:16px;height:16px;accent-color:var(--accent);cursor:pointer;flex-shrink:0}.candidate-id-info{flex-direction:column;min-width:0;display:flex}.candidate-id-name{font-family:var(--mono);color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:500;overflow:hidden}.candidate-item-meta{flex-shrink:0;align-items:center;gap:6px;display:flex}.candidate-actions-footer{border-top:1px solid var(--border-soft);background:var(--bg-elev);justify-content:space-between;align-items:center;padding:12px 20px;display:flex}.conn-test-box{align-items:center;gap:8px;display:inline-flex}.conn-test-btn{border:1px solid var(--border);background:var(--bg-elev2);color:var(--text);cursor:pointer;border-radius:6px;align-items:center;gap:5px;padding:5px 9px;font-size:12px;transition:background .12s;display:inline-flex}.conn-test-btn:hover:not(:disabled){background:var(--border-soft)}.conn-test-btn:disabled{opacity:.6;cursor:not-allowed}.ping-indicator{background:var(--bg);border:1px solid var(--border-soft);border-radius:12px;align-items:center;gap:5px;padding:2px 7px;font-size:12px;display:inline-flex}.ping-indicator.ok{color:var(--green);background:var(--green-soft);border-color:#34d3994d}.ping-indicator.err{color:var(--red);background:var(--red-soft);border-color:#f871714d}.ping-dot{background:currentColor;border-radius:50%;width:6px;height:6px}.ping-indicator.testing .ping-dot{animation:1s infinite alternate pingPulse}@keyframes pingPulse{0%{opacity:.3;transform:scale(.8)}to{opacity:1;transform:scale(1.2)}}.spec-badge{background:var(--bg);color:var(--text-dim);border:1px solid var(--border-soft);white-space:nowrap;border-radius:5px;align-items:center;gap:3px;padding:1px 6px;font-size:10.5px;font-weight:500;display:inline-flex}.spec-badge.ctx{color:var(--blue);background:var(--blue-soft);border-color:#3b82f640}.spec-badge.pricing{color:var(--amber);font-family:var(--mono);background:#fbbf2414;border-color:#fbbf2440}.spec-badge.vision{color:var(--green);background:var(--green-soft);border-color:#34d39940}.spec-badge.reasoning{color:var(--accent);background:var(--accent-soft);border-color:#8b5cf640}.pricing-inputs-row{background:var(--bg);border:1px dashed var(--border-soft);border-radius:6px;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:4px;padding:6px 8px;display:grid}.pricing-input-field{flex-direction:column;gap:2px;display:flex}.pricing-input-field label{color:var(--text-faint);font-size:10px}.pricing-input-field input{background:var(--bg-elev2);border:1px solid var(--border);color:var(--text);font-size:11px;font-family:var(--mono);border-radius:4px;padding:3px 6px}.model-thinking-capsule{background:var(--bg-elev);border:1px solid var(--border);-webkit-user-select:none;user-select:none;border-radius:20px;align-items:center;padding:2px;transition:all .15s;display:inline-flex;box-shadow:0 1px 3px #0000001f}.model-thinking-capsule:hover{border-color:var(--border-soft);background:var(--bg-elev2)}.capsule-segment{color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:16px;align-items:center;gap:6px;padding:4px 10px;font-size:13px;transition:background .12s;display:inline-flex}.capsule-segment:hover{background:var(--border-soft)}.capsule-segment.active{color:var(--accent)}.capsule-divider{background:var(--border);width:1px;height:14px;margin:0 1px}.capsule-model-name{text-overflow:ellipsis;white-space:nowrap;max-width:140px;font-weight:500;overflow:hidden}.capsule-ctx-pill{background:var(--bg);color:var(--text-dim);font-size:9.5px;font-family:var(--mono);border-radius:3px;padding:0 4px;line-height:14px}.thinking-pulse-dot{background:var(--text-faint);border-radius:50%;width:6px;height:6px}.thinking-pulse-dot.on{background:var(--accent);box-shadow:0 0 6px var(--accent)}.usage-dashboard{flex-direction:column;gap:16px;padding:16px;display:flex}.metric-card-grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;display:grid}.metric-card{background:var(--bg-elev);border:1px solid var(--border-soft);border-radius:12px;flex-direction:column;gap:4px;padding:12px 14px;display:flex}.metric-card-label{color:var(--text-dim);font-size:11px}.metric-card-value{color:var(--text);font-size:19px;font-weight:700;font-family:var(--mono)}.metric-card-sub{color:var(--text-faint);font-size:10px}.metric-card.highlight{background:var(--accent-soft);border-color:#8b5cf659}.metric-card.highlight .metric-card-value{color:var(--accent)}.trend-chart-container{background:var(--bg-elev);border:1px solid var(--border-soft);border-radius:12px;flex-direction:column;gap:10px;padding:14px;display:flex}.chart-header{justify-content:space-between;align-items:center;display:flex}.chart-title{color:var(--text);font-size:13px;font-weight:600}.chart-bars-wrap{align-items:flex-end;gap:8px;height:120px;padding-top:10px;display:flex}.chart-bar-col{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:4px;height:100%;display:flex}.chart-bar-fill{background:var(--accent);border-radius:4px 4px 0 0;width:100%;max-width:24px;min-height:4px;transition:height .3s}.chart-bar-fill.secondary{background:var(--blue);opacity:.7}.chart-bar-date{color:var(--text-faint);font-size:10px}.heatmap-container{background:var(--bg-elev);border:1px solid var(--border-soft);border-radius:12px;flex-direction:column;gap:8px;padding:14px;display:flex;overflow-x:auto}.heatmap-grid{grid-template-rows:repeat(7,10px);grid-auto-flow:column;gap:3px;width:max-content;display:grid}.heatmap-cell{background:var(--bg-elev2);border:1px solid var(--border-soft);border-radius:2px;width:10px;height:10px}.heatmap-cell[data-level="1"]{background:color-mix(in srgb, var(--accent) 30%, var(--bg-elev2))}.heatmap-cell[data-level="2"]{background:color-mix(in srgb, var(--accent) 55%, var(--bg-elev2))}.heatmap-cell[data-level="3"]{background:color-mix(in srgb, var(--accent) 80%, var(--bg-elev2))}.heatmap-cell[data-level="4"]{background:var(--accent)}.variant-group-card{background:var(--bg-elev2);border:1px solid var(--border);border-radius:10px;margin-bottom:6px;overflow:hidden}.variant-main-row{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.variant-main-row:hover{background:var(--border-soft)}.variant-title-zone{align-items:center;gap:8px;display:flex}.variant-count-tag{background:var(--border-soft);color:var(--text-dim);border-radius:10px;padding:1px 6px;font-size:10.5px}.variant-sub-panel{border-top:1px solid var(--border-soft);background:var(--bg);flex-direction:column;gap:6px;padding:8px 12px;display:flex}.variant-sub-row{border-radius:6px;justify-content:space-between;align-items:center;padding:4px 6px;font-size:12px;display:flex}.variant-sub-row:hover{background:var(--bg-elev2)}.smart-param-field{flex-direction:column;gap:6px;display:flex}.param-preset-pills{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.param-pill{font-size:11px;font-family:var(--mono);background:var(--bg-elev2);border:1px solid var(--border);color:var(--text-dim);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:5px;justify-content:center;align-items:center;padding:2px 7px;transition:all .12s;display:inline-flex}.param-pill:hover{color:var(--text);border-color:var(--border-soft);background:var(--border-soft)}.param-pill.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent);font-weight:600}.param-pill.custom-toggle{color:var(--text-faint);font-family:inherit}.param-pill.custom-toggle.active{color:var(--amber);border-color:var(--amber);background:#fbbf241a}.hybrid-select-input{background:var(--bg-elev2);border:1px solid var(--border);border-radius:6px;align-items:center;transition:border-color .15s;display:flex;overflow:hidden}.hybrid-select-input:focus-within{border-color:var(--accent)}.hybrid-select-input input{color:var(--text);min-width:0;font-size:12.5px;font-family:var(--mono);background:0 0;border:none;outline:none;flex:1;padding:6px 8px}.hybrid-select-input select{background:var(--bg);border:none;border-left:1px solid var(--border);color:var(--text-dim);cursor:pointer;outline:none;max-width:90px;padding:6px;font-size:11.5px}.modal.model-studio-modal{flex-direction:column;gap:0;width:min(980px,94vw);max-width:980px;height:min(86vh,820px);max-height:90vh;padding:0;display:flex;overflow:hidden}.studio-header{background:var(--bg-elev);border-bottom:1px solid var(--border-soft);box-sizing:border-box;flex-shrink:0;justify-content:space-between;align-items:center;min-height:52px;padding:12px 18px;display:flex}.studio-header-left{align-items:center;gap:10px;display:flex}.studio-header-icon-box{background:var(--accent-soft);width:28px;height:28px;color:var(--accent);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-size:15px;display:inline-flex}.studio-header-title-wrap{align-items:center;gap:8px;display:flex}.studio-header-title{color:var(--text);margin:0;font-size:15px;font-weight:600;line-height:1.2}.studio-header-badge{font-size:10px;font-weight:600;font-family:var(--mono);background:var(--bg-elev2);border:1px solid var(--border);color:var(--text-dim);letter-spacing:.04em;text-transform:uppercase;border-radius:4px;padding:1px 6px}.studio-header-actions{align-items:center;gap:6px;display:flex}.studio-header-btn{border:1px solid var(--border);background:var(--bg-elev2);height:28px;color:var(--text-dim);cursor:pointer;box-sizing:border-box;border-radius:7px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;transition:all .12s;display:inline-flex}.studio-header-btn:hover:not(:disabled){color:var(--text);background:var(--border-soft);border-color:var(--border-soft)}.studio-header-btn:disabled{opacity:.5;cursor:not-allowed}.studio-header-iconbtn{width:28px;height:28px;color:var(--text-dim);cursor:pointer;box-sizing:border-box;background:0 0;border:1px solid #0000;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;transition:all .12s;display:inline-flex}.studio-header-iconbtn:hover{color:var(--text);background:var(--bg-elev2);border-color:var(--border)}.studio-header-iconbtn.close-btn{flex-shrink:0}.studio-header-iconbtn.close-btn:hover{color:var(--red);background:var(--red-soft);border-color:#f8717140}.model-studio-body{background:var(--bg);flex:auto;min-height:0;display:flex;overflow:hidden}.model-studio-sidebar{border-right:1px solid var(--border-soft);background:var(--bg-elev);flex-direction:column;flex-shrink:0;width:250px;display:flex;overflow-y:auto}.studio-sidebar-section{flex-direction:column;gap:3px;padding:12px 10px 6px;display:flex}.studio-sidebar-title{text-transform:uppercase;letter-spacing:.05em;color:var(--text-faint);margin-bottom:2px;padding:4px 8px;font-size:11px;font-weight:600}.studio-nav-item{color:var(--text-dim);cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid #0000;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;font-size:12.5px;transition:all .12s;display:flex}.studio-nav-item:hover{color:var(--text);background:var(--bg-elev2)}.studio-nav-item.active{color:var(--text);background:var(--bg-elev2);border-color:var(--border);font-weight:600;box-shadow:0 1px 3px #0003}.studio-nav-label{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:7px;min-width:0;display:flex;overflow:hidden}.studio-nav-dot{background:var(--border);border-radius:50%;flex-shrink:0;width:6px;height:6px}.studio-nav-dot.configured{background:var(--green);box-shadow:0 0 5px #34d39966}.studio-nav-dot.active-item{background:var(--accent)}.studio-sidebar-footer{border-top:1px solid var(--border-soft);background:var(--bg-elev);margin-top:auto;padding:10px}.model-studio-main{background:var(--bg);flex-direction:column;flex:auto;gap:16px;min-width:0;padding:18px 22px;display:flex;overflow-y:auto}.studio-card{background:var(--bg-elev);border:1px solid var(--border-soft);border-radius:12px;flex-direction:column;gap:12px;padding:14px 16px;display:flex}.studio-card-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.studio-card-title{color:var(--text);align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex}@media (max-width:768px){.studio-header{gap:8px;padding:10px 12px}.studio-header-title-wrap .studio-header-badge,.studio-header-btn span{display:none}.studio-header-btn{flex-shrink:0;justify-content:center;width:34px;height:34px;padding:0}.studio-header-iconbtn{flex-shrink:0;width:34px;height:34px;font-size:16px}.studio-header-iconbtn.close-btn{background:var(--bg-elev2);border:1px solid var(--border-soft);width:36px;height:36px;color:var(--text)}.model-studio-body{flex-direction:column}.model-studio-sidebar{border-right:none;border-bottom:1px solid var(--border-soft);width:100%;max-height:180px}}.model-matrix-list{flex-direction:column;gap:10px;margin-top:10px;display:flex}.model-matrix-card{background:var(--bg-elev);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:8px;padding:10px 14px;transition:all .15s;display:flex;position:relative}.model-matrix-card:hover{border-color:var(--border-soft);box-shadow:0 4px 14px #00000040}.model-matrix-card:focus-within{border-color:color-mix(in srgb, var(--accent) 45%, var(--border));box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 30%, transparent)}.matrix-main-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.matrix-input-group{background:var(--bg);border:1px solid var(--border);border-radius:8px;align-items:center;padding:0 8px;transition:all .15s;display:flex}.matrix-input-group:focus-within{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.matrix-input-group.id-group{flex:1.3;min-width:180px}.matrix-input-group.name-group{flex:1;min-width:140px}.matrix-input-prefix{color:var(--text-faint);-webkit-user-select:none;user-select:none;align-items:center;gap:4px;margin-right:6px;font-size:11px;font-weight:600;display:inline-flex}.matrix-input-field{color:var(--text);outline:none;flex:1;min-width:0;font-size:12.5px;box-shadow:none!important;background:0 0!important;border:none!important;padding:7px 0!important}.matrix-input-field.mono{font-family:var(--mono)}.matrix-input-field::placeholder{color:var(--text-faint);opacity:.6}.matrix-toggles{flex-shrink:0;align-items:center;gap:6px;display:flex}.matrix-toggle-tag{cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid var(--border);background:var(--bg-elev2);color:var(--text-dim);border-radius:7px;align-items:center;gap:5px;padding:4px 9px;font-size:11.5px;font-weight:500;transition:all .15s;display:inline-flex}.matrix-toggle-tag:hover{border-color:var(--border-soft);color:var(--text)}.matrix-toggle-tag.active.vision{background:var(--green-soft);color:var(--green);border-color:#34d39959}.matrix-toggle-tag.active.reasoning{background:var(--accent-soft);color:var(--accent);border-color:#8b5cf659}.matrix-delete-btn{width:28px;height:28px;color:var(--text-faint);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;justify-content:center;align-items:center;transition:all .12s;display:inline-flex}.matrix-delete-btn:hover{color:var(--red);background:var(--red-soft);border-color:#f8717140}.matrix-star-btn{border:1px solid var(--border);background:var(--bg-elev2);height:26px;color:var(--text-faint);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:6px;align-items:center;gap:4px;padding:0 7px;font-size:11.5px;transition:all .12s;display:inline-flex}.matrix-star-btn:hover{color:var(--amber);background:#fbbf2414;border-color:#fbbf2466}.matrix-star-btn.active{color:var(--amber);background:#fbbf241f;border-color:#fbbf2480;font-weight:600}.matrix-star-icon{font-size:13px}.dd-star-btn{width:22px;height:22px;color:var(--text-faint);cursor:pointer;opacity:.3;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;margin-left:auto;font-size:13px;transition:all .12s;display:inline-flex}.dd-item:hover .dd-star-btn{opacity:.8}.dd-star-btn:hover{transform:scale(1.15);opacity:1!important;color:var(--amber)!important}.dd-star-btn.active{opacity:1;color:var(--amber)}.dd-default-banner{box-sizing:border-box;background:#fbbf2414;border:1px solid #fbbf2440;border-radius:7px;justify-content:space-between;align-items:center;gap:8px;margin:6px 8px 4px;padding:5px 10px;font-size:11.5px;display:flex}.dd-default-banner-left{align-items:center;gap:6px;min-width:0;display:flex;overflow:hidden}.dd-default-banner-star{color:var(--amber);flex-shrink:0;font-size:12px}.dd-default-banner-label{color:var(--text-dim);flex-shrink:0;font-size:11px}.dd-default-banner-name{color:var(--text);font-family:var(--mono);text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.dd-default-banner-clear{color:var(--amber);cursor:pointer;background:0 0;border:1px solid #fbbf244d;border-radius:4px;flex-shrink:0;align-items:center;gap:3px;padding:2px 7px;font-size:10.5px;transition:all .12s;display:inline-flex}.dd-default-banner-clear:hover{color:#fff;background:#fbbf242e;border-color:#fbbf2480}.matrix-spec-bar{background:var(--bg);border:1px solid var(--border-soft);border-radius:8px;flex-wrap:wrap;align-items:center;gap:12px;padding:6px 10px;display:flex}.spec-combobox{background:var(--bg-elev2);border:1px solid var(--border);border-radius:6px;align-items:center;gap:6px;padding:2px 6px;font-size:11.5px;transition:all .12s;display:inline-flex}.spec-combobox:focus-within{border-color:var(--accent)}.spec-combobox-label{color:var(--text-faint);-webkit-user-select:none;user-select:none;font-size:10.5px;font-weight:500}.spec-combobox-select{color:var(--text);font-size:11.5px;font-family:var(--mono);cursor:pointer;background:0 0;border:none;outline:none;padding:2px 4px}.spec-combobox-select option{background:var(--bg-elev);color:var(--text)}.spec-combobox-custom-input{background:var(--bg);border:1px solid var(--border-soft);width:65px;color:var(--text);font-family:var(--mono);text-align:right;border-radius:4px;outline:none;padding:2px 5px;font-size:11px}.spec-combobox-custom-input:focus{border-color:var(--accent)}.matrix-spec-quick-pills{align-items:center;gap:4px;display:flex}.file-transfer-dialog{background:var(--bg-elev);color:var(--text);border:1px solid var(--border);border-radius:12px;width:min(520px,100vw - 32px);max-height:85vh;padding:24px;overflow:auto}.file-transfer-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.file-transfer-head h3{margin:0;font-size:16px;font-weight:600}.file-transfer-close{border:1px solid var(--border-soft);background:var(--bg-elev2);width:28px;height:28px;color:var(--text-dim);cursor:pointer;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:14px;transition:all .12s;display:inline-flex}.file-transfer-close:hover:not(:disabled){color:var(--text);border-color:var(--border);background:var(--bg-elev3)}.file-transfer-dialog::backdrop{background:#0008}.file-transfer-dialog label{flex-direction:column;gap:6px;margin:12px 0;display:flex}.file-transfer-dialog input,.file-transfer-dialog select{width:100%;min-width:0}.file-transfer-dialog p{color:var(--text-dim);font-size:13px}.file-transfer-path{overflow-wrap:anywhere}.file-transfer-actions{justify-content:flex-end;gap:8px;margin-top:20px;display:flex}:root{--bg:#0d0e12;--bg-elev:#14161c;--bg-elev2:#1a1d26;--border:#262a35;--border-soft:#1e2230;--text:#e6e8ef;--text-dim:#9aa1b4;--text-faint:#6b7284;--accent:#8b5cf6;--accent-soft:#8b5cf624;--green:#34d399;--green-soft:#34d3991f;--red:#f87171;--red-soft:#f871711f;--amber:#fbbf24;--blue:#3b82f6;--blue-soft:#3b82f61f;--term-bg:#0b0d12;--term-fg:#e6e8ef;--term-cursor:#8b5cf6;--term-cursor-accent:#0b0d12;--term-selection:#8b5cf659;--term-black:#1a1d26;--term-red:#f87171;--term-green:#34d399;--term-yellow:#fbbf24;--term-blue:#60a5fa;--term-magenta:#c084fc;--term-cyan:#22d3ee;--term-white:#e6e8ef;--term-bright-black:#6b7284;--term-bright-red:#f87171;--term-bright-green:#34d399;--term-bright-yellow:#fbbf24;--term-bright-blue:#60a5fa;--term-bright-magenta:#c084fc;--term-bright-cyan:#22d3ee;--term-bright-white:#fff;--mono:"SF Mono", "JetBrains Mono", ui-monospace, Menlo, Consolas, monospace;--mermaid-font-size:12px;--sans:-apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", Roboto, Helvetica, Arial, sans-serif;--tooltip-bg:#232733;--code-bg:#0b0d12;--code-text:#c9d1d9;--code-border:var(--border-soft);--code-pad:8px 10px;--card-body-pad:4px 14px 12px;--err-text:#f0a5a5;--red-text:#fca5a5;--amber-text:#fcd34d;--info-blue:#60a5fa;--link:#a78bfa;--link-hover:#c4b5fd;--link-soft:#ddd6fe;--md-strong:#f3f4f6;--skill-blue:#5eb3ff;--plugin-purple:#b58cff;--auth-green:#6ee7a0;--scroll-thumb:#2a2f3d;--scroll-thumb-hover:#3a4152;--notice-err-bg:#401d23;--notice-warn-bg:#38251f;--notice-info-bg:#1b2544;--notice-err-border:#ef4444;--notice-warn-border:#f59e0b;--notice-info-border:#3b82f6;--send-blue:#3b82f6;--send-blue-hover:#2563eb;--stop-red:#ef4444;--stop-red-hover:#dc2626;--brand-grad-a:#8b5cf6;--brand-grad-b:#6366f1;--on-amber:#1a1a1a;--search-active-fg:#1a1d26;--switch-knob:#fff;--bg-elev3:#ffffff0f;--sunken-bg:#00000026;--glow-015:#ffffff04;--glow-025:#ffffff06;--glow-03:#ffffff08;--glow-04:#ffffff0a;--glow-05:#ffffff0d;--glow-12:#ffffff1f;--glow-18:#ffffff2e;--glow-22:#ffffff38;--glow-38:#ffffff61;--control-fg:#9aa1b4;--control-bg:#1a1d26;--control-border:#262a35;--bg-image:none;--bg-image-dim:.78;--bg-image-blur:0px;--wallpaper-panel-alpha:62%;--topbar-bg:color-mix(in srgb, var(--bg-elev) var(--wallpaper-panel-alpha,62%), transparent);--statusbar-bg:color-mix(in srgb, var(--bg-elev) var(--wallpaper-panel-alpha,62%), transparent);--panel-bg:color-mix(in srgb, var(--bg-elev) var(--wallpaper-panel-alpha,62%), transparent);--card-bg:color-mix(in srgb, var(--bg-elev) var(--wallpaper-panel-alpha,62%), transparent);--chip-bg:color-mix(in srgb, var(--bg-elev2) var(--wallpaper-panel-alpha,62%), transparent);--msgs-bg:color-mix(in srgb, var(--bg-elev) var(--wallpaper-panel-alpha,62%), transparent);--inputbox-bg:color-mix(in srgb, var(--bg-elev2) var(--wallpaper-panel-alpha,62%), transparent);--menu-bg:var(--bg-elev2)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--sans);font-size:14px;line-height:1.6}button>svg{flex-shrink:0;min-width:1em;min-height:1em}.app{z-index:1;flex-direction:column;height:100%;display:flex;position:relative}.layout{flex:1;min-height:0;display:flex}.main{background:var(--msgs-bg,transparent);--chat-pad:20px;--chat-max:860px;--chat-rail:0px;--chat-inset:max(var(--chat-pad), (100% - var(--chat-max)) / 2, var(--chat-rail));flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}@media (min-width:641px){.main{--chat-rail:48px}}@media (min-width:1860px){.main.wide-chat{--chat-pad:260px;--chat-max:100%}.main.wide-chat .fp-markdown-zoom>.md{width:auto;max-width:none;margin-left:260px;margin-right:260px}.main.wide-chat .slash-help{width:calc(100% - 520px);max-width:none;margin-left:260px;margin-right:260px}}.panel{background:var(--panel-bg,var(--bg-elev));border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;width:240px;min-height:0;display:flex;position:relative}.panel-right{border-right:none;border-left:1px solid var(--border)}.drawer-left .panel{width:var(--left-w,240px)}.drawer-right .panel{width:var(--right-w,240px)}.resize-handle{z-index:10;cursor:col-resize;touch-action:none;flex-shrink:0;width:6px;margin:0 -3px;position:relative}.resize-handle:after{content:"";background:0 0;width:2px;transition:background .15s;position:absolute;top:0;bottom:0;left:2px}.resize-handle:hover:after,body.panel-resizing .resize-handle:after{background:var(--accent);opacity:.55}body.panel-resizing{cursor:col-resize;-webkit-user-select:none;user-select:none}.panel-collapse-btn{z-index:5;border:1px solid var(--control-border,var(--border));background:var(--chip-bg,var(--control-bg,var(--bg-elev2)));width:24px;height:24px;color:var(--control-fg,var(--text-dim));cursor:pointer;opacity:1;border-radius:6px;justify-content:center;align-items:center;font-size:13px;transition:background .15s,color .15s,border-color .15s;display:inline-flex;position:absolute;top:4px;right:4px}.panel-collapse-btn:hover{color:var(--text);border-color:var(--accent)}.panel-collapse-btn:active{transform:scale(.92)}.panel-collapse-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.panel-rail{background:var(--card-bg,var(--bg-elev));width:26px;color:var(--control-fg,var(--text-dim));cursor:pointer;z-index:10;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:14px;transition:background .15s,color .15s;display:flex;position:relative}.panel-rail svg{box-sizing:border-box;border:1px solid var(--control-border,var(--border));background:var(--chip-bg,var(--control-bg,var(--bg-elev2)));border-radius:8px;flex-shrink:0;width:24px;height:24px;padding:5px;transition:border-color .15s,color .15s}.panel-rail-left{border-right:1px solid var(--border)}.panel-rail-right{border-left:1px solid var(--border)}.panel-rail:hover{background:var(--chip-bg,var(--bg-elev2));color:var(--accent)}.panel-rail:hover svg{border-color:var(--accent)}.panel-rail:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.panel-header{border-bottom:1px solid var(--border-soft);flex-shrink:0;justify-content:space-between;align-items:center;padding:10px 12px 8px;display:flex}.panel-title{letter-spacing:.6px;text-transform:uppercase;color:var(--text-faint);font-size:12px;font-weight:700}.panel-new,.panel-refresh{border:1px solid var(--border);background:var(--bg-elev2);color:var(--text-dim);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;padding:3px 8px;font-size:12px;display:inline-flex}.panel-new:hover,.panel-refresh:hover{color:var(--text);border-color:var(--accent)}.panel-fab{border:1px solid var(--border);background:var(--bg-elev2);width:34px;height:34px;color:var(--text-dim);cursor:pointer;z-index:2;border-radius:50%;justify-content:center;align-items:center;font-size:14px;display:inline-flex;position:absolute;bottom:14px;right:14px;box-shadow:0 6px 20px #00000073}.panel-fab:hover{color:var(--accent);border-color:var(--accent);box-shadow:0 8px 24px #00000080}.panel-fab:active{transform:scale(.94)}.panel-right .panel-body,.sessions-scroll{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;padding-bottom:56px}.lp-panel{flex-direction:column;gap:0;height:100%;min-height:0;display:flex;overflow:hidden}.lp-section{border-bottom:1px solid var(--border-soft);background:0 0;flex-direction:column;min-height:0;display:flex;overflow:hidden}.lp-section:last-child{border-bottom:none}.lp-section.collapsed:not(:last-child){border-bottom:1px solid var(--border-soft)}.lp-section:not(.collapsed){flex:1 1 0;min-height:72px}.lp-section.collapsed{min-height:32px;max-height:32px;overflow:hidden;flex:0 0 32px!important}.lp-section.panel-projects{border-bottom-width:2px}.lp-sash,.rp-sash{z-index:5;cursor:row-resize;touch-action:none;flex-shrink:0;height:6px;margin:-3px 0;position:relative}.lp-sash:after,.rp-sash:after{content:"";background:var(--border-soft);height:1px;margin-top:-.5px;transition:background .15s,height .15s;position:absolute;top:50%;left:0;right:0}.lp-sash:hover:after,.lp-sash.dragging:after,.rp-sash:hover:after,.rp-sash.dragging:after{background:var(--accent);height:2px;margin-top:-1px}body.lp-resizing,body.rp-resizing{cursor:row-resize;-webkit-user-select:none;user-select:none}body.lp-resizing .lp-sash.dragging:after,body.rp-resizing .rp-sash.dragging:after{opacity:.9}.lp-section-header{flex-shrink:0;justify-content:space-between;align-items:center;width:100%;height:32px;min-height:32px;display:flex}.lp-section-header .lp-section-title{flex:auto;width:auto;min-width:0;height:32px}.lp-section-actions{flex-shrink:0;align-items:center;gap:4px;padding-right:6px;display:flex}.lp-panel .panel-collapse-btn+.lp-section .lp-section-actions{margin-right:28px}.lp-section-action{width:24px;height:24px;color:var(--text-faint);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;justify-content:center;align-items:center;padding:0;font-size:13px;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.lp-section-action:hover{color:var(--text);background:var(--bg-elev2);border-color:var(--border-soft)}.lp-section-action:active{transform:scale(.95)}.lp-section-action:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.lp-section-title{letter-spacing:.6px;text-transform:uppercase;width:100%;height:32px;min-height:32px;color:var(--text-faint);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:flex-start;align-items:center;gap:6px;padding:0 8px;font-size:11px;font-weight:700;display:flex}.lp-section-title:hover{color:var(--text);background:var(--glow-05)}.lp-section .panel-section-title{padding:0 10px}.lp-section-title-text{text-align:left;text-overflow:ellipsis;white-space:nowrap;flex:0 auto;min-width:0;overflow:hidden}.lp-section-chevron{color:var(--text-faint);flex-shrink:0;margin-left:2px;font-size:12px;display:inline-flex}.lp-section-body{scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) transparent;overscroll-behavior:contain;flex:auto;min-height:0;padding:2px 12px 6px;overflow:hidden auto}.lp-section-body.projects-scroll,.lp-section-body.convs-scroll,.lp-section-body.sessions-scroll{padding-bottom:6px}.panel-convs,.panel-sessions{max-height:none;overflow:visible}.panel-sessions{flex-direction:column;min-height:0;display:flex}.panel-conv-group-title{color:var(--text-dim);letter-spacing:.02em;white-space:nowrap;text-overflow:ellipsis;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;padding:6px 8px 2px;font-size:10px;font-weight:600;overflow:hidden}.panel-body{flex:1;padding:6px;overflow-y:auto}.panel-widgets{background:var(--sunken-bg);flex:1 1 0;padding:8px;overflow-y:auto}.widget{border:1px solid var(--border-soft);background:var(--bg-elev2);border-radius:8px;margin-bottom:6px;overflow:hidden}.widget:last-child{margin-bottom:0}.widget-title{letter-spacing:.5px;text-transform:uppercase;width:100%;color:var(--text-faint);border-bottom:1px solid var(--border-soft);text-align:left;background:0 0;border-top:none;border-left:none;border-right:none;justify-content:space-between;align-items:center;gap:6px;padding:4px 10px;font-family:inherit;font-size:10.5px;font-weight:700;display:flex}.widget-title-btn{cursor:pointer}.widget-title-btn:hover{color:var(--text);background:var(--glow-05)}.widget-title-btn svg{opacity:.6;flex-shrink:0}.widget-lines{font-family:var(--mono);color:var(--text-dim);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;padding:6px 10px;font-size:11px;line-height:1.5}.widget-expand{background:var(--bg-elev2);border:1px solid var(--border);z-index:400;border-radius:14px;flex-direction:column;width:min(90vw,1100px);max-height:min(80vh,100vh - 80px);display:flex;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 20px 60px #0000008c}.widget-expand-head{border-bottom:1px solid var(--border-soft);justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.widget-expand-title{letter-spacing:.5px;text-transform:uppercase;color:var(--text-dim);font-size:11px;font-weight:700}.widget-expand-lines{font-family:var(--mono);color:var(--text-dim);white-space:pre;margin:0;padding:12px 16px;font-size:12px;line-height:1.55;overflow:auto}.panel-empty{text-align:center;color:var(--text-faint);padding:16px 8px;font-size:12px}.files-truncated{color:var(--amber);border-top:1px dashed var(--border);margin-top:8px;padding-top:12px}.session-item{width:100%;color:var(--text-dim);text-align:left;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:0 0;border:none;border-radius:8px;align-items:center;gap:8px;margin-bottom:2px;padding:8px 10px;font-size:12.5px;display:flex}.session-item:hover{background:var(--bg-elev2);color:var(--text)}.session-item.active{background:var(--accent-soft);color:var(--text);border:1px solid #8b5cf64d;padding:7px 9px}.session-item.elsewhere-item{cursor:default}.session-item.elsewhere-item:hover{color:var(--text-dim);background:0 0}button.session-item.elsewhere-item{cursor:pointer}button.session-item.elsewhere-item.elsewhere-static{cursor:default}button.session-item.elsewhere-item:hover{background:var(--bg-elev2);color:var(--text)}button.session-item.elsewhere-item.confirm{background:var(--accent-soft);color:var(--text);box-shadow:inset 0 0 0 1px var(--accent)}.elsewhere-badge{vertical-align:1px;border:1px dashed var(--border);color:var(--text-dim);white-space:nowrap;border-radius:999px;flex-shrink:0;margin-right:6px;padding:0 5px;font-size:9.5px;line-height:1.4;display:inline-block}.question-badge{border:1px solid var(--accent);width:16px;height:16px;color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, transparent);vertical-align:1px;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-right:6px;padding:0;font-size:11px;line-height:1;display:inline-flex}.question-badge.clickable{cursor:pointer}.question-badge.clickable:hover{background:color-mix(in srgb, var(--accent) 18%, transparent)}.session-icon{color:var(--text-faint);flex-shrink:0}.session-item.active .session-icon{color:var(--accent)}.session-info{flex-direction:column;flex:1;min-width:0;display:flex}.session-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.subagent-badge{vertical-align:1px;border:1px solid var(--border);color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, transparent);white-space:nowrap;border-radius:999px;flex-shrink:0;margin-right:6px;padding:0 5px;font-size:9.5px;line-height:1.4;display:inline-block}.ephemeral-badge{vertical-align:1px;color:#a78bfa;white-space:nowrap;background:#8b5cf61a;border:1px solid #8b5cf666;border-radius:999px;flex-shrink:0;margin-right:6px;padding:0 5px;font-size:9.5px;line-height:1.4;display:inline-block}.pin-badge{vertical-align:1px;opacity:.85;flex-shrink:0;margin-right:6px;font-size:11px;line-height:1;display:inline-block}.conv-error-badge{background:var(--red);width:8px;height:8px;box-shadow:0 0 0 2px color-mix(in srgb, var(--red) 25%, transparent);vertical-align:1px;border-radius:50%;flex-shrink:0;margin-left:6px;display:inline-block}.session-sub{color:var(--text-faint);font-size:11px}.session-src{border:1px solid var(--border);color:var(--text-faint);text-transform:uppercase;letter-spacing:.4px;vertical-align:1px;border-radius:999px;margin-left:6px;padding:0 5px;font-size:9.5px}.session-time{color:var(--text-faint);flex-shrink:0;font-size:10.5px}.panel-projects{border-bottom:2px solid var(--border);flex-direction:column;display:flex}.panel-projects .panel-section-title{flex-shrink:0}.projects-scroll{flex:1;min-height:0;overflow-y:auto}.panel-section-title{letter-spacing:.6px;text-transform:uppercase;color:var(--text-faint);padding:4px 10px 6px;font-size:11px;font-weight:700}.panel-section-divider{background:var(--border);height:1px;margin:6px 10px}.conv-streaming{background:var(--green);width:7px;height:7px;box-shadow:0 0 4px var(--green);border-radius:50%;flex-shrink:0;animation:1.2s ease-in-out infinite conv-pulse}@keyframes conv-pulse{0%,to{opacity:1}50%{opacity:.25}}.project-item{width:100%;color:var(--text-dim);text-align:left;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:0 0;border:none;border-radius:8px;align-items:center;gap:8px;margin-bottom:2px;padding:7px 10px;font-size:12.5px;display:flex}.project-item:hover{background:var(--bg-elev2);color:var(--text)}.project-item.active{background:var(--accent-soft);color:var(--text);border:1px solid #8b5cf64d;padding:6px 9px}.project-icon{color:var(--text-faint);flex-shrink:0}.project-item.active .project-icon{color:var(--accent)}.project-info{flex-direction:column;flex:1;min-width:0;display:flex}.project-name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.project-path{color:var(--text-faint);font-size:11px;font-family:var(--mono);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.project-time{color:var(--text-faint);flex-shrink:0;font-size:10.5px}.lp-row{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;align-items:center;display:flex;position:relative}.lp-row .session-item,.lp-row .project-item{flex:auto;width:auto;min-width:0}.lp-row .lp-slot-sessions{flex-shrink:0;margin-right:56px}.lp-row:has(.lp-del-group) .lp-slot-sessions{display:none}.lp-row.lp-sub:before{content:"";border-left:1px solid var(--border);border-bottom:1px solid var(--border);border-radius:0 0 0 5px;width:8px;height:calc(50% + 5px);position:absolute;top:-5px;left:-10px}.lp-row .lp-del{width:20px;height:20px;color:var(--text-faint);cursor:pointer;background:0 0;border:none;border-radius:5px;justify-content:center;align-items:center;padding:0;display:none;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.lp-row .lp-del svg{width:13px;height:13px}.lp-row:hover .lp-del{display:inline-flex}@media (hover:none){.lp-row .lp-elsewhere-act{display:inline-flex}}.lp-row:hover .project-time,.lp-row:hover .session-time{visibility:hidden}.lp-row .lp-del:hover{color:var(--red);background:color-mix(in srgb, var(--red) 12%, transparent)}.lp-row .lp-del.lp-rename{right:32px}.lp-row .lp-del.lp-rename:hover{color:var(--amber);background:color-mix(in srgb, var(--amber) 12%, transparent)}.session-rename-input{background:var(--bg-input,transparent);border:1px solid var(--accent);min-width:0;color:inherit;font:inherit;-webkit-user-select:text;user-select:text;border-radius:4px;flex:1;padding:1px 5px}.lp-row .lp-del.confirm,.lp-row .lp-del.confirm:hover{color:#fff;background:var(--red)}.lp-row .lp-del-group{align-items:center;gap:4px;display:none;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.lp-row:hover .lp-del-group{display:inline-flex}.lp-del-opt{border:1px solid var(--border);background:var(--bg-elev2);color:var(--text-dim);cursor:pointer;white-space:nowrap;border-radius:5px;padding:2px 7px;font-size:11px;line-height:1.4}.lp-del-opt:hover{border-color:var(--red);color:var(--red)}.lp-del-opt.danger:hover{background:var(--red);border-color:var(--red);color:#fff}.panel-crumbs{border-bottom:1px solid var(--border-soft);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:2px;padding:6px 8px;font-size:12px;display:flex}.crumb{color:var(--text-faint);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:none;border-radius:4px;max-width:90px;padding:2px 4px;font-size:12px;overflow:hidden}.crumb:hover{color:var(--text);background:var(--bg-elev2)}.crumb.active{color:var(--accent)}.crumb-seg{color:var(--text-faint);align-items:center;display:inline-flex}.root-picker{align-items:center;display:inline-flex;position:relative}.root-picker-trigger{align-items:center;gap:4px;max-width:160px;display:inline-flex}.root-picker-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.root-picker-menu{z-index:60;border:1px solid var(--border-soft);background:var(--bg-elev);border-radius:10px;min-width:220px;max-width:min(420px,70vw);padding:6px;position:absolute;top:calc(100% + 4px);left:0;box-shadow:0 10px 30px #00000073}.root-picker-row{align-items:center;gap:2px;display:flex}.root-picker-item{min-width:0;color:var(--text-dim);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;flex-direction:column;flex:1;align-items:flex-start;gap:1px;padding:4px 6px;font-size:12px;display:flex}.root-picker-item:hover{background:var(--bg-elev2);color:var(--text)}.root-picker-item.active{color:var(--accent)}.root-picker-path{text-overflow:ellipsis;white-space:nowrap;max-width:100%;color:var(--text-faint);font-size:11px;overflow:hidden}.root-picker-remove{color:var(--text-faint);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:2px 5px;line-height:1}.root-picker-remove:hover{color:var(--red);background:var(--bg-elev2)}.root-picker-hint{color:var(--text-faint);margin-top:4px;padding:0 6px;font-size:11px;line-height:1.4}.file-item{width:100%;color:var(--text-dim);text-align:left;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:0 0;border:none;border-radius:6px;align-items:center;gap:7px;padding:5px 8px;font-size:12.5px;display:flex}.file-item.drop-target{outline:1px dashed var(--accent);outline-offset:-2px}.file-item.cut{opacity:.45}.panel-body.drop-root{outline:2px dashed var(--accent);outline-offset:-2px}.file-item.dir{cursor:default}.file-dir-main{min-width:0;color:inherit;font-size:inherit;text-align:left;cursor:pointer;background:0 0;border:none;flex:1;align-items:center;gap:7px;padding:0;display:flex}.file-item:hover{background:var(--bg-elev2);color:var(--text)}.file-icon{color:var(--text-faint);flex-shrink:0}.file-item.dir .file-icon{color:var(--amber)}.file-name{min-width:0;color:inherit;font-size:inherit;text-align:left;cursor:pointer;background:0 0;border:none;flex:1;align-items:center;gap:7px;padding:0;font-family:inherit;display:flex;overflow:hidden}.file-name:hover{color:var(--accent)}.file-name.no-preview{cursor:default}.file-name.no-preview:hover{color:inherit}.file-name-text{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.file-attach{cursor:pointer;border:none;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;display:none;position:relative}.file-item:hover .file-attach{display:inline-flex}.file-attach:after{content:attr(data-tip);background:var(--tooltip-bg);color:var(--text);border:1px solid var(--border);white-space:nowrap;pointer-events:none;opacity:0;z-index:40;border-radius:6px;padding:4px 9px;font-size:11px;line-height:1.4;transition:opacity 90ms;position:absolute;bottom:calc(100% + 8px);right:0;box-shadow:0 4px 14px #00000073}.file-attach:before{content:"";border:5px solid #0000;border-top-color:var(--tooltip-bg);pointer-events:none;opacity:0;z-index:40;transition:opacity 90ms;position:absolute;bottom:calc(100% + 3px);right:6px}.file-attach:hover:after,.file-attach:hover:before{opacity:1}.chip[data-tip],.topbar .tb-tab[data-tip],.topbar .panel-toggle[data-tip],.topbar .plugin-topbar-item[data-tip]{position:relative}.chip[data-tip]:after,.topbar .tb-tab[data-tip]:after,.topbar .panel-toggle[data-tip]:after,.topbar .plugin-topbar-item[data-tip]:after{content:attr(data-tip);background:var(--tooltip-bg);color:var(--text);border:1px solid var(--border);white-space:nowrap;pointer-events:none;opacity:0;z-index:40;border-radius:6px;padding:4px 9px;font-size:11px;line-height:1.4;transition:opacity 90ms;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 4px 14px #00000073}.chip[data-tip]:hover:after,.topbar .tb-tab[data-tip]:hover:after,.topbar .panel-toggle[data-tip]:hover:after,.topbar .plugin-topbar-item[data-tip]:hover:after{opacity:1}.topbar .topbar-flow>[data-tip]:after,.topbar .topbar-flow>.dropdown>[data-tip]:after,.topbar .topbar-flow>.bc-anchor [data-tip]:after{left:0;right:auto}.topbar .topbar-flow>.tb-spacer~[data-tip]:after,.topbar .topbar-flow>.tb-spacer~.dropdown>[data-tip]:after,.topbar .topbar-flow>.tb-spacer~.bc-anchor [data-tip]:after{left:50%;right:auto;transform:translate(-50%)}.topbar .topbar-flow>.tb-spacer~.tb-spacer~[data-tip]:after,.topbar .topbar-flow>.tb-spacer~.tb-spacer~.dropdown>[data-tip]:after,.topbar .topbar-flow>.tb-spacer~.tb-spacer~.bc-anchor [data-tip]:after{left:auto;right:0;transform:none}.topbar>:not(.topbar-flow)[data-tip]:after,.topbar>:not(.topbar-flow) [data-tip]:after{left:auto;right:0}.plugin-topbar-menu.portal [data-tip]:hover:after{display:none}.file-attach.download{color:var(--green);background:#34d39924;text-decoration:none}.file-attach.download:hover{background:var(--green);color:#fff}.file-attach.ref{color:var(--amber);background:#fbbf241f}.file-attach.ref:hover{background:var(--amber);color:var(--on-amber)}.file-attach.copy{color:var(--text-dim);background:#94a3b824}.file-attach.copy:hover{background:var(--text-dim);color:var(--bg)}.file-attach.copy.copied{background:var(--green);color:#fff}.attach-row{flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 6px;display:flex}.attach-chip{background:var(--accent-soft);color:var(--text);border:1px solid #8b5cf666;border-radius:999px;align-items:center;gap:5px;max-width:320px;padding:3px 10px;font-size:12px;display:inline-flex}.attach-chip.reference{background:#fbbf241a;border-color:#fbbf2466}.attach-chip.lines{background:#34d3991a;border-color:#34d39966}.attach-chip.image{background:#ec48991f;border-color:#ec489973}.attach-chip.file{background:#60a5fa1f;border-color:#60a5fa73}.attach-chip.page{background:#38bdf81f;border-color:#38bdf880}.app-drop-overlay{z-index:300;background:color-mix(in srgb, var(--bg-elev) 72%, transparent);border:2px dashed var(--accent);pointer-events:none;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.app-drop-overlay span{border:1px dashed var(--accent);background:var(--bg-elev2);color:var(--text);border-radius:12px;padding:14px 26px;font-size:16px;box-shadow:0 8px 32px #00000059}.attach-range{font-family:var(--mono);color:var(--green);background:#34d3992e;border-radius:999px;padding:0 6px;font-size:10.5px}.attach-remove{color:var(--text-dim);cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:14px;line-height:1}.attach-remove:hover{color:var(--red)}.attach-hint{color:var(--text-faint);font-size:11.5px}.quick-row{flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 6px;display:flex}.quick-chip{text-overflow:ellipsis;white-space:nowrap;border:1px solid var(--border);background:var(--card-bg,var(--bg-elev));max-width:280px;color:var(--text-dim);cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;border-radius:9px;align-items:center;padding:3px 12px;font-size:12px;transition:border-color .15s,color .15s,background .15s;display:inline-flex;overflow:hidden}.quick-chip:hover:not(:disabled){border-color:color-mix(in srgb, var(--accent) 55%, var(--border));background:var(--accent-soft);color:var(--text)}.quick-chip:disabled{opacity:.5;cursor:default}.attachcard{background:var(--card-bg,var(--accent-soft));border:1px dashed #8b5cf673;border-radius:8px;margin:6px 0;overflow:hidden}.attachcard-name{font-weight:600;font-family:var(--mono);font-size:12px}.attachcard-path{color:var(--text-faint);font-size:11px;font-family:var(--mono);text-overflow:ellipsis;white-space:nowrap;max-width:200px;overflow:hidden}.attachcard.page{border-color:#38bdf84d}.attachcard.conversation{border-color:#8b5cf659}.attachcard-mode.conversation{color:var(--accent);border-color:#8b5cf666}.attachcard-link{color:#38bdf8;max-width:60%;text-decoration:none}.attachcard-link:hover{text-decoration:underline}.attachcard-meta{color:var(--text-faint);flex-shrink:0;margin-left:auto;font-size:11px}.attachcard-mode{border:1px solid var(--border);color:var(--text-faint);border-radius:999px;flex-shrink:0;margin-left:auto;padding:1px 8px;font-size:11px}.attachcard-mode.inline{color:var(--green);border-color:#34d39959}.attachcard-mode.ref{color:var(--amber);border-color:#fbbf2466}.attachcard-mode.page{color:#38bdf8;border-color:#38bdf866}.attachcard-mode.lines,.attachcard-mode.bridged{color:var(--accent);border-color:#8b5cf666}.attachcard-bridgenote{color:var(--text-faint);border-bottom:1px solid var(--border);overflow-wrap:anywhere;background:#8b5cf60f;padding:6px 10px;font-size:11px}.attachcard-refnote{color:var(--text-faint);overflow-wrap:anywhere;border-top:1px dashed #fbbf244d;padding:8px 12px;font-size:11.5px}.attachcard-content{font-family:var(--mono);color:var(--text-dim);white-space:pre-wrap;word-break:break-word;background:#0003;border-top:1px dashed #8b5cf64d;max-height:320px;margin:0;padding:10px 12px;font-size:12px;line-height:1.55;overflow-y:auto}.attachcard-image img{border-radius:0 0 8px 8px;max-width:100%;max-height:320px;display:block}.skillcard{border:1px solid var(--border);background:var(--card-bg,var(--bg-elev2));border-radius:8px;margin:8px 0;overflow:hidden}.skillcard-name{font-family:var(--mono);color:var(--text);font-size:12.5px;font-weight:600}.skillcard-path{min-width:0;color:var(--text-faint);font-size:11px;font-family:var(--mono);white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.skillcard-body{border-top:1px solid var(--border-soft);background:#00000026;max-height:420px;padding:10px 14px 12px;overflow-y:auto}.skillcard-body .markdown>:first-child{margin-top:0}.view-pane{flex:1;min-width:0;min-height:0;display:flex}.view-pane.hidden{display:none}.plugin-view{flex:1;min-width:0;overflow:auto}.plugin-tab.broken{opacity:.45}.plugin-view-fallback{text-align:center;min-width:0;color:var(--text-faint);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:10px;padding:32px 24px;display:flex;overflow:auto}.plugin-view-fallback-title{color:var(--text);font-size:14px}.plugin-view-fallback-hint{max-width:460px;font-size:12px;line-height:1.7}.plugin-view-fallback-retry{border:1px solid var(--border-soft);color:var(--text);cursor:pointer;background:0 0;border-radius:8px;margin-top:4px;padding:5px 18px;font-size:12.5px}.plugin-view-fallback-retry:hover:not(:disabled){background:var(--bg-elev2)}.plugin-view-fallback-retry:disabled{opacity:.55;cursor:default}.ctx-menu{z-index:60;border:1px solid var(--border-soft);background:var(--bg-elev);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;border-radius:10px;min-width:180px;max-width:320px;padding:6px;font-size:13px;position:fixed;box-shadow:0 10px 30px #00000073}.ctx-menu-itemwrap{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;position:relative}.ctx-menu-item{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:0 0;border:0;border-radius:6px;align-items:center;gap:8px;padding:6px 10px;display:flex}.ctx-menu-item.active{background:var(--bg-elev2)}.ctx-menu-item.disabled{opacity:.45;cursor:default}.ctx-menu-label{text-overflow:ellipsis;flex:1;overflow:hidden}.ctx-menu-badge{color:var(--text-dim);border:1px solid var(--border-soft);border-radius:6px;padding:0 5px;font-size:11px}.ctx-menu-caret{color:var(--text-dim)}.ctx-menu-sep{background:var(--border-soft);height:1px;margin:5px 6px}.ctx-menu-sub{z-index:61;border:1px solid var(--border-soft);background:var(--bg-elev);border-radius:10px;min-width:160px;max-width:300px;padding:6px;position:absolute;top:-6px;left:100%;box-shadow:0 10px 30px #00000073}.ctx-menu-sub.left{left:auto;right:100%}.slot-tabs{flex-direction:column;flex:1;min-height:0;display:flex}.slot-tabs-bar{border-bottom:1px solid var(--border-soft);align-items:center;gap:4px;padding:4px 6px;display:flex;overflow-x:auto}.slot-tabs-bar [role=tab]{color:var(--text-dim);font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:8px;align-items:center;gap:6px;padding:4px 10px;display:inline-flex}.slot-tabs-bar [role=tab][aria-selected=true]{background:var(--bg-elev2);color:var(--text)}.slot-tabs-extra{gap:6px;margin-left:auto;display:flex}.plugin-icon-svg{vertical-align:-.125em;width:1em;height:1em;display:inline-flex}.plugin-icon-svg svg{width:100%;height:100%;display:block}.tb-tab .plugin-icon-svg,.plugin-topbar-item .plugin-icon-svg{font-size:1em}.set-row-name .plugin-icon-svg,.set-catalog-title .plugin-icon-svg{font-size:16px}.slot-tabs-body{flex-direction:column;flex:1;min-height:0;display:flex}.status-action{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;padding:0;display:inline-flex}.status-action:hover{color:var(--accent)}.status-badge{color:var(--text-dim);border:1px solid var(--border-soft);border-radius:6px;margin-left:4px;padding:0 5px;font-size:11px}select.status-select{max-width:160px;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.inputbox .btn.composer-plugin-action{width:auto;min-width:30px;height:30px;color:var(--text-faint);white-space:nowrap;border:none;border-radius:19px;padding:0 10px;font-size:17px}.inputbox .btn.composer-plugin-action:has(svg){border-radius:50%;width:30px;min-width:30px;padding:0}.inputbox .btn.composer-plugin-action:hover{background:var(--accent-soft);color:var(--accent)}.inputbox select.composer-plugin-select{border:1px solid var(--border-soft);background:var(--bg-elev);max-width:160px;height:30px;color:var(--text);border-radius:15px;padding:0 8px;font-size:12px}.plugin-page{flex-direction:column;flex:1;min-height:0;display:flex}.plugin-page-host{flex:1;min-height:0;overflow:auto}.plugin-page-error{border:1px solid var(--border-soft);color:var(--red);background:#e06c751f;border-radius:8px;margin:8px;padding:8px 10px;font-size:12px}.settings-modal .set-plugin-page{background:var(--bg-elev);border:1px solid var(--border-soft);border-radius:10px;padding:12px}.plugin-topbar-item{border:1px solid var(--border-soft);color:inherit;font:inherit;cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:0 0;border-radius:8px;align-items:center;gap:6px;padding:6px 10px;display:inline-flex}.plugin-topbar-item:hover{background:var(--bg-elev2)}select.plugin-topbar-item.plugin-topbar-select{max-width:180px}.plugin-topbar-overflow-select{justify-content:space-between;align-items:center;gap:8px;padding:6px 10px;display:flex}.plugin-topbar-overflow-select select{max-width:160px}.plugin-topbar-more{position:relative}.plugin-topbar-menu{z-index:40;border:1px solid var(--border-soft);background:var(--bg-elev,#1c1e24);border-radius:10px;flex-direction:column;gap:4px;width:max-content;max-width:min(320px,100vw - 16px);padding:6px;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 8px 24px #00000059}.plugin-topbar-menu.portal>a.chip.github{width:100%;height:auto;color:var(--text);border-radius:9px;justify-content:flex-start;padding:5px 10px}.plugin-topbar-menu>button,.plugin-topbar-menu>a.plugin-topbar-menu-link{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:0;border-radius:6px;padding:6px 10px;text-decoration:none;display:block;overflow:hidden}.plugin-topbar-menu>button:hover,.plugin-topbar-menu>a.plugin-topbar-menu-link:hover{background:var(--bg-elev2)}.plugin-topbar-menu.portal>.dropdown,.plugin-topbar-menu.portal>.plugin-topbar-menu-keep{width:100%;display:flex}.plugin-topbar-menu.portal>.dropdown>button.chip,.plugin-topbar-menu.portal>a.chip,.plugin-topbar-menu.portal>span.chip,.plugin-topbar-menu.portal>.plugin-topbar-menu-keep>.chip,.plugin-topbar-menu.portal>.plugin-topbar-menu-keep>.tb-tab,.plugin-topbar-menu.portal>.plugin-topbar-menu-keep>.plugin-topbar-item{justify-content:flex-start;width:100%}.plugin-topbar-menu.portal>.plugin-topbar-menu-keep>.panel-toggle{border:1px solid var(--border);background:var(--chip-bg,var(--bg-elev2));border-radius:9px;justify-content:flex-start;align-items:center;width:100%;padding:5px 10px;display:inline-flex}.plugin-topbar-menu.portal>.plugin-topbar-menu-keep>.panel-toggle.has-label:hover{border-color:var(--accent);background:var(--accent-soft)}.plugin-topbar-menu.portal :is(.chip,.tb-tab,.plugin-topbar-item,.panel-toggle.has-label){color:var(--text)}.plugin-topbar-menu.portal :is(.tb-row,.chip,.tb-tab,.plugin-topbar-item,.panel-toggle){align-items:center;gap:6px;padding:5px 10px}.plugin-topbar-menu.portal :is(.tb-row,.chip,.tb-tab,.plugin-topbar-item,.panel-toggle)>:is(svg,.plugin-icon-svg,.plugin-icon-glyph):not(.dd-caret){flex:none;justify-content:center;align-items:center;width:15px;height:15px;font-size:14px;line-height:1;display:inline-flex}.plugin-topbar-menu.portal :is(.tb-row,.chip,.tb-tab,.plugin-topbar-item,.panel-toggle):not(:has(>svg,>.plugin-icon-svg,>.plugin-icon-glyph)):before{content:"";flex:none;width:15px;height:15px}.plugin-topbar-menu.portal :is(.tb-row,.chip,.tb-tab,.plugin-topbar-item,.panel-toggle)>:is(.tb-row-text,.chip-sub){text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text);font-size:1em;overflow:hidden}.plugin-topbar-menu.portal>.tb-row{align-items:center;display:flex}.plugin-topbar-menu.portal>.bc-anchor,.plugin-topbar-menu.portal>.bc-anchor>.browser-control-split{width:100%;display:flex}.plugin-topbar-menu.portal>.bc-anchor>.chip,.plugin-topbar-menu.portal>.bc-anchor>.browser-control-split>.chip{justify-content:flex-start;width:100%}.plugin-topbar-menu.portal>.bc-anchor>.browser-control-split>.chip{flex:auto;min-width:0}.plugin-topbar-menu.portal>.bc-anchor>.chip>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text);font-size:1em;overflow:hidden}@media (min-width:769px){.plugin-topbar-menu.portal>.plugin-topbar-menu-keep:has(>.panel-toggle.has-label){display:none}}.plugin-topbar-menu.portal>.dropdown>button.chip .dd-caret{margin-left:auto}.plugin-topbar-menu.portal{z-index:70;max-height:min(60vh,480px);position:fixed;overflow-y:auto}.plugin-topbar-menu.portal:has(.dd-menu){overflow:visible}.pm-panel{z-index:70;border:1px solid var(--border-soft);background:var(--bg-elev,#1c1e24);border-radius:10px;flex-direction:column;gap:4px;width:max-content;min-width:240px;max-width:min(360px,100vw - 16px);max-height:min(70vh,560px);padding:6px;display:flex;position:fixed;overflow:hidden;box-shadow:0 8px 24px #00000059}.pm-list{flex:auto;min-height:0;overflow-y:auto}.pm-head{color:var(--text-dim);letter-spacing:.2px;align-items:center;gap:6px;padding:2px 10px 6px;font-size:11px;display:flex}.pm-head-icon{font-size:12px}.pm-empty{color:var(--text-faint);padding:6px 10px 8px;font-size:12px}.pm-row{border-radius:9px;align-items:center;gap:6px;min-height:36px;padding:0 6px 0 10px;display:flex}.pm-row.drop-target{background:var(--accent-soft);box-shadow:inset 0 0 0 2px var(--accent)}.pm-row:hover{background:var(--bg-elev2)}.pm-row-main{min-width:0;height:36px;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex:1;align-items:center;gap:8px;padding:0;display:flex}.pm-row-main:disabled{cursor:default;opacity:.55}.pm-drag{width:18px;height:28px;color:var(--text-faint);cursor:grab;background:0 0;border:0;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.pm-drag:active{cursor:grabbing}.pm-drag:focus-visible,.pm-pin:focus-visible,.pm-manage:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.pm-row .pm-icon,.pm-row .plugin-icon-glyph{flex:none;justify-content:center;align-items:center;width:18px;height:18px;font-size:15px;line-height:1;display:inline-flex}.pm-name{text-overflow:ellipsis;white-space:nowrap;flex:none;overflow:hidden}.pm-sub{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-faint);flex:1;font-size:11px;overflow:hidden}.pm-pin{width:30px;height:30px;color:var(--text-faint);cursor:pointer;background:0 0;border:none;border-radius:7px;flex:none;justify-content:center;align-items:center;padding:0;transition:color .15s,background .15s;display:inline-flex}.pm-pin:hover{background:var(--bg-elev3,var(--border));color:var(--text)}.pm-pin.on{color:var(--accent)}.pm-pin svg{width:17px;height:17px}.pm-manage{border:0;border-top:1px solid var(--border-soft);width:100%;min-height:38px;color:var(--text-dim);font:inherit;text-align:left;cursor:pointer;background:0 0;align-items:center;gap:9px;margin-top:2px;padding:0 10px;display:flex}.pm-manage:hover{color:var(--text);background:var(--bg-elev2)}.panel-drawer{display:contents}.panel-drawer.hidden,.panel-toggle{display:none}.panel-toggle.has-label{width:auto;color:var(--text);gap:6px;padding:0 10px;font-size:12.5px;transition:border-color .15s,background .15s}.panel-toggle.has-label:hover{border-color:var(--accent);background:var(--accent-soft)}.drawer-backdrop{z-index:55;background:#00000080;animation:.2s drawer-fade;position:fixed;inset:0}@keyframes drawer-fade{0%{opacity:0}to{opacity:1}}.terminal-view{flex:1;min-width:0;min-height:0;display:flex}.term-side{background:var(--bg-elev);flex-direction:column;flex-shrink:0;width:250px;min-height:0;display:flex}.term-commands{border-right:1px solid var(--border)}.term-tabs-block{border-top:1px solid var(--border);flex-direction:column;flex:1 1 0;min-height:0;display:flex}.term-tabs-block .panel-body{flex:1;min-height:0}.term-side-toggle{display:none}.term-main{background:var(--term-bg);flex-direction:column;flex:1;min-width:0;min-height:0;padding:10px 8px 8px;display:flex}.term-xterm{flex:1;min-height:0}.term-xterm.hidden{display:none}.term-xterm .xterm{touch-action:none;height:100%}.term-xterm .xterm .xterm-viewport{background-color:var(--term-bg)}.term-empty{color:var(--text-faint);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:8px;display:flex}.term-empty-icon{opacity:.5;font-size:34px}.term-empty-title{color:var(--text-dim);font-size:15px}.term-empty-sub{font-size:12px}.panel-header-actions{align-items:center;gap:6px;display:flex}.cmd-item{border-radius:8px;align-items:center;gap:4px;margin-bottom:2px;padding:6px;display:flex}.cmd-item:hover{background:var(--bg-elev2)}.cmd-run{background:var(--accent-soft);width:24px;height:24px;color:var(--accent);cursor:pointer;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.cmd-run:hover{background:var(--accent);color:#fff}.cmd-main{text-align:left;min-width:0;color:var(--text-dim);cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;gap:1px;padding:1px 4px;display:flex}.cmd-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;font-weight:600;overflow:hidden}.cmd-command{font-family:var(--mono);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.cmd-cwd{color:var(--text-faint);font-size:10px;font-family:var(--mono);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cmd-act{width:22px;height:22px;color:var(--text-faint);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;transition:opacity .1s;display:inline-flex}.cmd-item:hover .cmd-act{opacity:1}.cmd-act:hover{color:var(--text);background:var(--bg-elev)}.cmd-act.del:hover{color:var(--red)}.cmd-act.del.confirm{opacity:1;color:var(--red);background:var(--red-soft);border:1px solid #f8717166;width:auto;padding:0 7px}.cmd-form{flex-direction:column;gap:4px;padding:6px 4px;display:flex}.cmd-form label{color:var(--text-faint);margin-top:4px;font-size:11px}.cmd-input{border:1px solid var(--border);background:var(--bg-elev2);width:100%;color:var(--text);font-family:var(--mono);border-radius:6px;outline:none;padding:5px 8px;font-size:12px}.cmd-input:focus{border-color:var(--accent)}.cmd-hint{color:var(--text-faint);font-size:10.5px}.cmd-form-actions{justify-content:flex-end;gap:6px;margin-top:8px;display:flex}.term-tab{border-radius:8px;align-items:center;gap:2px;margin-bottom:2px;padding:4px 6px;display:flex}.term-tab:hover{background:var(--bg-elev2)}.term-tab.active{background:var(--accent-soft);border:1px solid #8b5cf64d;padding:3px 5px}.term-tab-main{min-width:0;color:var(--text-dim);cursor:pointer;text-align:left;background:0 0;border:none;flex:1;align-items:center;gap:6px;padding:2px;display:flex}.term-tab-main:hover,.term-tab.active .term-tab-main{color:var(--text)}.term-tab-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.term-tab-dot.run{background:var(--green);box-shadow:0 0 5px var(--green)}.term-tab-dot.exit{background:var(--text-faint)}.term-tab-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:12.5px;overflow:hidden}.term-tab-exit{color:var(--text-faint);font-size:11px}.term-tab-close{width:20px;height:20px;color:var(--text-faint);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;transition:opacity .1s;display:inline-flex}.term-tab:hover .term-tab-close,.term-tab.active .term-tab-close{opacity:1}.term-tab-close:hover{color:var(--red);background:var(--red-soft)}.term-tab-rename:hover{color:var(--amber);background:color-mix(in srgb, var(--amber) 12%, transparent)}.term-tab-rename-input{background:var(--bg-input,transparent);border:1px solid var(--accent);min-width:0;color:inherit;font:inherit;border-radius:4px;flex:1;padding:0 4px;font-size:12.5px}.term-folder{border-top:1px dashed var(--border,#ffffff14);margin-top:6px;padding-top:4px}.term-folder-header{width:100%;color:var(--text-dim);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:6px;padding:4px 6px;font-size:12px;font-weight:600;display:flex}.term-folder-header:hover{background:var(--bg-elev2);color:var(--text)}.term-folder-caret{width:12px;color:var(--text-faint);flex-shrink:0}.term-folder-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.term-folder-count{color:var(--text-faint);flex-shrink:0;font-size:11px}.term-folder-body{border-left:1px solid var(--border,#ffffff14);margin-left:8px;padding-left:4px}.scm-view{background:var(--bg-elev);flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.scm-header{border-bottom:1px solid var(--border-soft);flex-direction:column;flex-shrink:0;gap:8px;padding:10px 14px;display:flex}.scm-title-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.scm-title{letter-spacing:.6px;text-transform:uppercase;color:var(--text-faint);align-items:center;gap:6px;font-size:12px;font-weight:700;display:inline-flex}.scm-title svg{color:var(--accent)}.scm-view-tabs{border:1px solid var(--border);background:var(--bg-elev2);border-radius:7px;align-items:stretch;gap:2px;margin-left:auto;padding:2px;display:inline-flex}.scm-view-tabs button{color:var(--text-faint);cursor:pointer;background:0 0;border:none;border-radius:5px;padding:4px 9px;font-size:12px}.scm-view-tabs button:hover{color:var(--text)}.scm-view-tabs button.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.scm-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.scm-row .btn,.scm-row .scm-select,.scm-row .scm-commit-input,.scm-row .scm-branch-current{height:34px}.scm-branch-current{font-family:var(--mono);color:var(--text);background:var(--bg-elev2);border:1px solid var(--border);border-radius:6px;align-items:center;gap:6px;max-width:260px;padding:4px 10px;font-size:13px;display:inline-flex;overflow:hidden}.scm-branch-current svg{color:var(--accent);flex-shrink:0}.scm-upstream{color:var(--text-faint);white-space:nowrap;font-size:12px}.scm-select{border:1px solid var(--border);background:var(--bg-elev2);min-width:120px;max-width:200px;color:var(--text);border-radius:6px;flex:0 auto;padding:0 8px;font-size:13px}.scm-select:focus{border-color:var(--accent);outline:none}.scm-commit-input{border:1px solid var(--border);background:var(--bg-elev2);min-width:140px;color:var(--text);border-radius:6px;flex:1;padding:0 10px;font-size:13px}.scm-commit-input:focus{border-color:var(--accent);outline:none}.scm-commit-input::placeholder{color:var(--text-faint)}.scm-body{flex:1;min-width:0;min-height:0;display:flex}.scm-files,.scm-history{width:var(--scm-sidebar-w,300px);border-right:1px solid var(--border-soft);flex-direction:column;flex-shrink:0;max-width:calc(100% - 220px);min-height:0;display:flex}.scm-divider{z-index:3;cursor:col-resize;touch-action:none;flex:0 0 6px;margin:0 -3px;position:relative}.scm-divider:after{content:"";background:0 0;width:2px;transition:background .15s;position:absolute;top:0;bottom:0;left:2px}.scm-divider:hover:after,body.panel-resizing .scm-divider:after{background:var(--accent);opacity:.55}.scm-files-header{letter-spacing:.4px;color:var(--text-faint);border-bottom:1px solid var(--border-soft);justify-content:space-between;align-items:center;padding:8px 12px;font-size:12px;font-weight:600;display:flex}.scm-history-filter{width:calc(100% - 20px);height:26px;color:var(--text);background:var(--bg-elev2);border:1px solid var(--border);border-radius:6px;margin:8px 10px 4px;padding:0 8px;font-size:12px}.scm-history-filter:focus{border-color:var(--accent);outline:none}.scm-history-filter::placeholder{color:var(--text-faint)}.scm-files-count{font-family:var(--mono);color:var(--text-dim);background:var(--bg-elev2);border:1px solid var(--border);border-radius:999px;padding:0 7px;font-size:11px}.scm-files-list,.scm-history-list{flex:1;min-height:0;overflow-y:auto}.scm-commit{width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:none;border-left:2px solid #0000;align-items:flex-start;gap:6px;padding:7px 10px 7px 8px;display:flex}.scm-commit:hover,.scm-commit.active{background:var(--accent-soft);border-left-color:var(--accent)}.scm-commit-graph{white-space:pre;min-width:34px;max-width:48px;font-family:var(--mono);color:var(--accent);font-size:12px;line-height:1.35;overflow:hidden}.scm-commit-info{flex-direction:column;gap:2px;min-width:0;display:flex}.scm-commit-subject{text-overflow:ellipsis;white-space:nowrap;color:var(--text);font-size:12.5px;overflow:hidden}.scm-commit-meta,.scm-commit-refs{text-overflow:ellipsis;white-space:nowrap;font-family:var(--mono);color:var(--text-faint);font-size:10.5px;overflow:hidden}.scm-commit-refs{color:var(--green)}.scm-file{cursor:pointer;border-left:2px solid #0000;align-items:center;gap:6px;padding:5px 10px;font-size:13px;display:flex}.scm-file:hover{background:var(--accent-soft)}.scm-file.active{background:var(--accent-soft);border-left-color:var(--accent)}.scm-file-actions{gap:2px;margin-left:auto;display:none}.scm-file:hover .scm-file-actions{display:inline-flex}.scm-act{border:1px solid var(--border);background:var(--bg-elev2);width:18px;height:18px;color:var(--text-dim);cursor:pointer;border-radius:4px;justify-content:center;align-items:center;padding:0;font-size:13px;line-height:1;display:inline-flex}.scm-act:hover{background:var(--accent-soft);color:var(--text);border-color:var(--accent)}.scm-file-xy{width:13px;height:18px;font-family:var(--mono);flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:inline-flex}.scm-file-xy.x{color:var(--green)}.scm-file-xy.y{color:var(--red)}.scm-file-xy.q{color:var(--amber)}.scm-file-path{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-family:var(--mono);color:var(--text);flex:1;font-size:12.5px;overflow:hidden}.scm-file-stat{font-family:var(--mono);flex-shrink:0;font-size:11px}.scm-file-stat .add{color:var(--green)}.scm-file-stat .del{color:var(--red)}.scm-empty{text-align:center;color:var(--text-faint);padding:26px 16px;font-size:13px}.scm-diff{background:var(--bg);flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.scm-diff-header{border-bottom:1px solid var(--border-soft);font-family:var(--mono);color:var(--text-dim);background:var(--bg-elev);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:8px;padding:8px 14px;font-size:12.5px;display:flex;overflow:hidden}.scm-diff-loading{color:var(--text-faint);flex-shrink:0;font-size:11px}.scm-diff-body{flex:1;min-height:0;padding:6px 0 12px;overflow:auto}.scm-diff-section{letter-spacing:.4px;text-transform:uppercase;color:var(--text-faint);padding:8px 14px 4px;font-size:11px;font-weight:600}.scm-diff-pre{font-family:var(--mono);margin:0;font-size:12.5px;line-height:1.55}.scm-diff-line{white-space:pre-wrap;word-break:break-word;color:var(--text-dim);padding:0 14px}.scm-diff-line.hdr{color:var(--text-faint)}.scm-diff-line.hunk{color:var(--accent);background:var(--accent-soft)}.scm-diff-line.add{color:var(--green);background:var(--green-soft)}.scm-diff-line.del{color:var(--red);background:var(--red-soft)}.scm-error{border:1px solid var(--red-soft);background:var(--red-soft);color:var(--red);border-radius:8px;margin:10px 14px;padding:8px 12px;font-size:12.5px}.scm-gen-error{border:1px solid var(--red-soft);background:var(--red-soft);color:var(--red);cursor:pointer;overflow-wrap:anywhere;border-radius:6px;margin:6px 0 0;padding:4px 10px;font-size:12px}.scm-hint{color:var(--text-faint);border-top:1px solid var(--border-soft);flex-shrink:0;align-items:center;gap:8px;padding:6px 14px;font-size:12px;display:flex}.scm-hint svg{flex-shrink:0}.scm-goto-term{border:1px solid var(--border);background:var(--bg-elev2);color:var(--text-dim);cursor:pointer;border-radius:6px;align-items:center;gap:5px;margin-left:auto;padding:3px 10px;font-size:12px;display:inline-flex}.scm-goto-term:hover{color:var(--accent);border-color:var(--accent)}.scm-spin{animation:.8s linear infinite spin}@media (max-width:768px){.scm-files,.scm-history{width:200px}.scm-branch-current{max-width:150px}.scm-select{min-width:90px}}.statusbar{border-top:1px solid var(--border);background:var(--statusbar-bg,var(--bg-elev));color:var(--text-faint);white-space:nowrap;flex-shrink:0;align-items:center;gap:8px;padding:5px 16px;font-size:11px;display:flex;overflow:hidden}.status-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.status-dot.ok{background:var(--green);box-shadow:0 0 5px var(--green)}.status-dot.busy{background:var(--amber)}.status-dot.error{background:var(--red);box-shadow:0 0 5px var(--red)}.status-item{color:var(--text-dim);align-items:center;gap:6px;display:inline-flex}.status-sep{color:var(--border)}.ctx-bar{background:var(--bg-elev2);border:1px solid var(--border-soft);vertical-align:middle;border-radius:3px;width:46px;height:5px;display:inline-block;position:relative;overflow:hidden}.ctx-cap-marker{background:var(--amber);width:2px;margin-left:-1px;position:absolute;top:0;bottom:0}.ctx-bar-fill{border-radius:2px;height:100%;transition:width .3s;display:block}.ctx-bar.ok .ctx-bar-fill{background:var(--green)}.ctx-bar.mid .ctx-bar-fill{background:var(--amber)}.ctx-bar.warn .ctx-bar-fill{background:var(--red)}.cache-pct{font-variant-numeric:tabular-nums;font-weight:700}.cache-pct.ok{color:var(--green)}.cache-pct.mid{color:var(--amber)}.cache-pct.warn{color:var(--red)}.status-cost{font-variant-numeric:tabular-nums}.status-rate{color:var(--accent);font-variant-numeric:tabular-nums}.rate-spin{display:none}.status-item.working{color:var(--accent)}.engine-badge{letter-spacing:.4px;border-radius:4px;padding:1px 6px;font-size:10px;font-weight:700;line-height:1.4}.engine-badge.engine-dsh{color:#0b0f14;background:linear-gradient(135deg,#4fc3f7,#7c4dff)}.working-spin{border:2px solid #8b5cf640;border-top-color:var(--accent);border-radius:50%;flex-shrink:0;width:9px;height:9px;animation:.8s linear infinite spin}.statusbar-left,.statusbar-right{align-items:center;gap:8px;min-width:0;display:flex}.statusbar-left{flex:auto;overflow:hidden}.statusbar-right{flex:0 auto;max-width:50%;margin-left:auto}.status-host-metrics{font-variant-numeric:tabular-nums;flex-shrink:0}.status-cwd{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:100%;color:var(--text-dim);border:1px solid var(--border);background:var(--bg-elev);font:inherit;cursor:pointer;border-radius:5px;padding:2px 8px;font-size:11px;overflow:hidden}.status-cwd:hover{color:var(--text);background:var(--bg-elev2);border-color:var(--accent)}.status-cwd-input{border:1px solid var(--accent);background:var(--bg-elev2);width:100%;color:var(--text);font-family:var(--mono);border-radius:6px;outline:none;padding:3px 7px;font-size:11px}.status-cwd-backdrop{z-index:195;background:0 0;position:fixed;inset:0}.cwd-picker{z-index:200;background:var(--bg-elev2);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:6px;width:min(480px,100vw - 32px);height:min(340px,100vh - 120px);padding:8px;display:flex;position:fixed;bottom:40px;right:16px;box-shadow:0 -6px 24px #00000073}.project-picker{width:min(440px,100vw - 32px);height:min(380px,100vh - 120px);animation:.15s ease-out picker-enter;position:fixed;inset:48px auto auto 16px;box-shadow:0 8px 32px #00000080}.project-picker-backdrop{background:#00000059;animation:.15s ease-out backdrop-fade}@keyframes picker-enter{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes backdrop-fade{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.project-picker{animation:.1s ease-out backdrop-fade}}.project-picker-error{color:var(--red);margin-top:4px;padding:0 2px;font-size:11px}.cwd-picker-head{align-items:center;gap:8px;min-width:0;display:flex}.cwd-picker-title{white-space:nowrap;min-width:0;font-family:var(--mono);color:var(--text-dim);flex:1;align-items:center;gap:6px;font-size:11px;display:flex;overflow:hidden}.cwd-picker-title svg{color:var(--amber);flex-shrink:0}.cwd-picker-title span{text-overflow:ellipsis;overflow:hidden}.cwd-up{border:1px solid var(--border);background:var(--bg-elev);color:var(--text-dim);cursor:pointer;border-radius:5px;flex-shrink:0;padding:2px 8px;font-size:11px}.cwd-up:hover:not(:disabled){color:var(--text);border-color:var(--accent)}.cwd-up:disabled{opacity:.45;cursor:default}.cwd-close{border:1px solid var(--border);background:var(--bg-elev);width:24px;height:24px;color:var(--text-dim);cursor:pointer;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;margin-left:auto;padding:0;font-size:13px;transition:all .12s;display:inline-flex}.cwd-close:hover{color:var(--red);background:var(--red-soft);border-color:#f8717166}.cwd-picker-row{align-items:center;gap:6px;display:flex}.cwd-picker-input{flex:1;min-width:0}.cwd-choose-btn{border:1px solid var(--border);background:var(--bg-elev);color:var(--text-dim);cursor:pointer;white-space:nowrap;border-radius:5px;flex-shrink:0;padding:3px 9px;font-size:11px}.cwd-choose-btn:hover{color:var(--text);border-color:var(--accent)}.cwd-choose-btn.primary{border-color:var(--accent);color:var(--accent)}.cwd-choose-btn.primary:hover{background:var(--accent-soft)}.cwd-list{flex-direction:column;flex:1;gap:1px;min-height:0;display:flex;overflow-y:auto}.cwd-empty{text-align:center;color:var(--text-faint);padding:14px 8px;font-size:11px}.cwd-item{border-radius:5px;align-items:center;gap:6px;display:flex}.cwd-item:hover{background:var(--bg-elev)}.cwd-enter{min-width:0;color:var(--text);font-size:12px;font-family:var(--mono);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:4px;flex:1;align-items:center;gap:6px;padding:4px 6px;display:flex;overflow:hidden}.cwd-enter:hover{color:var(--accent)}.cwd-enter svg{color:var(--amber);flex-shrink:0}.cwd-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cwd-picker-foot{border-top:1px solid var(--border);padding-top:6px}.cwd-newbtn{border:1px dashed var(--border);width:100%;color:var(--text-dim);cursor:pointer;background:0 0;border-radius:5px;padding:3px 8px;font-size:11px}.cwd-newbtn:hover{color:var(--accent);border-color:var(--accent)}.cwd-newrow{align-items:center;gap:6px;display:flex}.cwd-newrow input{border:1px solid var(--accent);background:var(--bg-elev);min-width:0;color:var(--text);font-family:var(--mono);border-radius:6px;outline:none;flex:1;padding:3px 7px;font-size:11px}.status-queue{color:var(--amber)}@keyframes spin{to{transform:rotate(360deg)}}.topbar{border-bottom:1px solid var(--border);background:var(--topbar-bg,var(--bg-elev));flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;display:flex}.brand{align-items:center;gap:6px;min-width:0;display:inline-flex}.brand-logo{background:linear-gradient(135deg, var(--brand-grad-a), var(--brand-grad-b));color:#fff;border-radius:7px;justify-content:center;align-items:center;width:26px;height:26px;font-size:16px;font-weight:700;display:inline-flex}.brand-name{letter-spacing:.2px;font-weight:600}.topbar.no-labels .chip>span:not(.bg-task-badge):not(.update-badge):not(.update-dot):not(.plugin-icon-svg):not(.plugin-icon-glyph):not(.chip-emoji):not(.goalbar-opt),.topbar.no-labels .tb-tab>span:not(.plugin-icon-svg):not(.plugin-icon-glyph):not(.chip-emoji),.topbar.no-labels .plugin-topbar-item>span:not(.plugin-icon-svg):not(.plugin-icon-glyph):not(.chip-emoji),.topbar.no-labels .panel-toggle>span:not(.plugin-icon-svg):not(.plugin-icon-glyph):not(.chip-emoji),.topbar.no-labels .brand-name{display:none}:is(.topbar.no-labels .tb-tab,.topbar.no-labels .plugin-topbar-item,.topbar.no-labels .panel-toggle,.topbar.no-labels .chip:not(:has(svg~svg)):not(:has(.bg-task-badge)):not(:has(.update-badge)):not(:has(.update-dot))){width:var(--topbar-ctl-h);justify-content:center;padding:0}.topbar{--topbar-ctl-h:28px;position:relative}.topbar-flow{flex-wrap:wrap;flex:auto;align-items:center;gap:6px 8px;min-width:0;display:flex}.topbar-flow>:not(.tb-spacer){flex-shrink:0}.tb-spacer{flex:1 1 0;align-self:stretch;min-width:0}.topbar .chip,.topbar .tb-tab,.topbar .plugin-topbar-item{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;height:28px}.tb-tab{border:1px solid var(--border);background:var(--chip-bg,var(--bg-elev2));color:var(--text-dim);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;border-radius:9px;align-items:center;gap:5px;padding:4px 12px;font-size:12.5px;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.tb-tab:hover{color:var(--text);background:var(--bg-elev2)}.tb-tab.active{background:var(--accent-soft);color:var(--accent)}.bg-task-chip{position:relative}.bg-task-badge{background:var(--red);color:#fff;border-radius:9px;justify-content:center;align-items:center;min-width:17px;height:17px;padding:0 5px;font-size:10.5px;font-weight:700;line-height:1;display:inline-flex}.dd-item .bg-task-badge{margin-left:6px;font-style:normal}.bg-task-modal{background:var(--bg-elev2);border:1px solid var(--border);z-index:400;border-radius:14px;flex-direction:column;width:min(460px,100vw - 32px);max-height:min(560px,100vh - 80px);display:flex;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 20px 60px #0000008c}.modal.bg-task-modal{border-radius:14px;gap:0;width:min(460px,100vw - 32px);max-width:none;max-height:min(560px,100vh - 80px);padding:0;position:fixed;top:50%;left:50%;overflow-y:visible;transform:translate(-50%,-50%)}.bg-task-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.bg-task-title{color:var(--text);align-items:center;gap:8px;font-size:14px;font-weight:600;display:inline-flex}.bg-task-count{color:var(--amber);background:#ffc1071f;border-radius:9px;padding:1px 7px;font-size:11px;font-style:normal;font-weight:700}.bg-task-empty{color:var(--text-dim);flex-direction:column;align-items:center;gap:8px;padding:40px 16px;font-size:13px;display:flex}.bg-task-empty svg{opacity:.5;font-size:26px}.bg-task-empty small{opacity:.7;text-align:center;font-size:11.5px}.bg-task-list{flex:1;min-height:0;margin:0;padding:6px 0;list-style:none;overflow-y:auto}.bg-task-item{border-bottom:1px solid var(--border-subtle,var(--border));align-items:center;gap:10px;padding:9px 16px;display:flex}.bg-task-item:last-child{border-bottom:none}.bg-task-icon{background:var(--green);border-radius:50%;flex:none;width:9px;height:9px;font-size:0;box-shadow:0 0 8px #4caf508c}.bg-task-info{flex:1;min-width:0}.bg-task-line1{color:var(--text);align-items:center;gap:8px;font-size:13px;display:flex}.bg-task-port{font-family:var(--mono,ui-monospace, monospace);color:var(--accent);font-weight:700}.bg-task-name{color:var(--text-dim);background:var(--bg-elev3);white-space:nowrap;text-overflow:ellipsis;border-radius:4px;padding:1px 6px;font-size:11.5px;overflow:hidden}.bg-task-line2{color:var(--text-dim);gap:12px;margin-top:2px;font-size:11px;display:flex}.bg-task-status{color:var(--amber,#fbbf24)}.plugin-settings-form{border:1px solid var(--border);background:var(--bg-elev2);border-radius:8px;flex-direction:column;margin:4px 0 10px;padding:6px 12px 10px;display:flex}.plugin-settings-fields{flex-direction:column;display:flex}.plugin-settings-field{border-bottom:1px solid var(--border-soft);color:var(--text-dim);align-items:center;gap:14px;padding:7px 0;font-size:12.5px;display:flex}.plugin-settings-field:last-child{border-bottom:none}.plugin-settings-label{flex-direction:column;flex:0 0 168px;gap:2px;min-width:0;line-height:1.35;display:flex;overflow:hidden}.plugin-settings-label-text{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.plugin-settings-hint{opacity:.75;font-size:11px;line-height:1.4;overflow:hidden}@supports (-webkit-line-clamp:2){.plugin-settings-hint{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box}}.plugin-settings-control{flex:auto;align-items:center;gap:8px;min-width:0;display:flex}.plugin-settings-control input[type=text],.plugin-settings-control input[type=password],.plugin-settings-control input[type=number],.plugin-settings-control select{background:var(--bg-elev);border:1px solid var(--border);width:100%;min-width:0;max-width:420px;color:var(--text);font:inherit;border-radius:8px;outline:none;padding:5px 9px;font-size:12.5px}.plugin-settings-control select{max-width:260px}.plugin-settings-control input[type=number]{max-width:120px}.plugin-settings-control input:focus,.plugin-settings-control select:focus{border-color:var(--accent)}@media (max-width:720px){.plugin-settings-field{flex-direction:column;align-items:stretch;gap:6px}.plugin-settings-label{flex:none;width:100%}.plugin-settings-label-text{white-space:normal}}.plugin-settings-actions{justify-content:flex-end;gap:8px;padding-top:9px;display:flex}.plugin-settings-save{color:var(--green)}.plugin-settings-reset{color:var(--text-dim)}.bg-task-cmd{border:1px solid var(--border);background:var(--bg-elev3);width:100%;color:var(--text-dim);text-align:left;cursor:pointer;border-radius:5px;align-items:flex-start;gap:6px;margin-top:4px;padding:3px 7px;font-size:11px;display:flex}.bg-task-cmd svg{flex:none;margin-top:1px}.bg-task-cmd code{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-family:var(--mono,ui-monospace, monospace);color:var(--text);overflow:hidden}.bg-task-cmd.open code{white-space:pre-wrap;overflow-wrap:anywhere}.bg-task-stop{border:1px solid var(--border);height:26px;color:var(--text);cursor:pointer;border-radius:6px;flex:none;align-items:center;gap:5px;padding:0 10px;font-size:12px;transition:all .15s;display:inline-flex}.bg-task-stop:hover:not(:disabled){border-color:var(--red);color:#fff;background:var(--red)}.bg-task-foot{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:10px;padding:12px 16px;display:flex}.bg-task-stopall{border:1px solid var(--red);height:30px;color:var(--red);cursor:pointer;background:0 0;border-radius:7px;align-items:center;gap:6px;padding:0 14px;font-size:12.5px;font-weight:600;transition:all .15s;display:inline-flex}.bg-task-stopall:hover:not(:disabled){background:var(--red);color:#fff}.bg-task-stopall:disabled{opacity:.4;cursor:not-allowed}.scheduler-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.scheduler-item{border:1px solid var(--border);background:var(--bg-elev);border-radius:8px;flex-direction:column;gap:6px;padding:10px 12px;display:flex}.scheduler-item.off{opacity:.65}.scheduler-line1{align-items:center;gap:8px;display:flex}.scheduler-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:13.5px;font-weight:600;overflow:hidden}.scheduler-badge{border:1px solid var(--border);color:var(--text-dim);white-space:nowrap;border-radius:10px;padding:1px 8px;font-size:11px}.scheduler-badge.on{color:var(--green);border-color:var(--green)}.scheduler-line2{color:var(--text-dim);flex-wrap:wrap;align-items:center;gap:6px;font-size:12px;display:flex}.scheduler-ok{color:var(--green)}.scheduler-fail{color:var(--red)}.scheduler-link{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;font-size:12px}.scheduler-link:hover{text-decoration:underline}.scheduler-history{color:var(--text-dim);border-top:1px dashed var(--border);flex-direction:column;gap:3px;margin:0;padding:6px 0 0 12px;font-size:12px;list-style:none;display:flex}.scheduler-actions{flex-wrap:wrap;gap:8px;display:flex}.scheduler-actions .btn{align-items:center;gap:5px;display:inline-flex}.scheduler-cwd-row{flex:1;gap:8px;display:flex}.scheduler-cwd-row .set-input{flex:1;min-width:0}.scheduler-check{cursor:pointer;align-items:center;gap:8px;font-size:13px;display:flex}.scheduler-foot{justify-content:flex-end;gap:10px;margin-top:12px;display:flex}.gs-backdrop{align-items:flex-start;padding-top:10vh}.gs-modal{border:1px solid var(--border);background:var(--bg-elev2,var(--bg-elev));border-radius:12px;flex-direction:column;width:min(640px,92vw);max-height:70vh;display:flex;overflow:hidden;box-shadow:0 18px 60px #00000073}.gs-input-row{border-bottom:1px solid var(--border);color:var(--text-faint);align-items:center;gap:10px;padding:12px 14px;display:flex}.gs-input-row svg{flex:none}.gs-input-row input{min-width:0;color:var(--text);background:0 0;border:none;outline:none;flex:1;font-size:15px}.gs-close{color:var(--text-faint);cursor:pointer;background:0 0;border:none;border-radius:6px;flex:none;padding:4px;display:inline-flex}.gs-close:hover{color:var(--text);background:var(--bg-elev3)}.gs-results{flex:1;min-height:0;padding:6px 8px 10px;overflow-y:auto}.gs-empty{color:var(--text-faint);text-align:center;padding:26px 12px;font-size:13px}.gs-section+.gs-section{margin-top:10px}.gs-section-head{letter-spacing:.6px;text-transform:uppercase;color:var(--text-faint);align-items:center;gap:6px;padding:6px 8px 4px;font-size:11px;font-weight:700;display:flex}.gs-section-head em{color:var(--accent);font-style:normal;font-weight:600}.gs-item{width:100%;color:var(--text-dim);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:7px;flex-direction:column;gap:2px;padding:7px 10px;font-size:13px;display:flex}.gs-item:hover:not(:disabled),.gs-item.active:not(:disabled){background:var(--bg-elev3)}.gs-item:disabled{cursor:default;opacity:.55}.gs-item-wrap{position:relative}.gs-item-wrap>.gs-item{padding-right:76px}.gs-quote{border:1px solid var(--border);background:var(--bg-elev3);color:var(--text-dim);cursor:pointer;white-space:nowrap;border-radius:6px;padding:3px 8px;font-size:11px;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.gs-quote:hover{color:var(--text);border-color:var(--accent)}.gs-item-title{color:var(--text);white-space:nowrap;text-overflow:ellipsis;align-items:baseline;gap:8px;font-size:13px;font-weight:600;display:flex;overflow:hidden}.gs-item-meta{color:var(--text-dim);background:var(--bg-elev3);border-radius:4px;padding:1px 6px;font-size:11px;font-style:normal;font-weight:500}.gs-item-sub{color:var(--text-dim);white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;overflow:hidden}.gs-truncated{color:var(--amber,#e6b450);padding:5px 10px;font-size:11.5px}.gs-foot{border-top:1px solid var(--border);color:var(--text-faint);gap:14px;padding:8px 14px;font-size:11px;display:flex}.chip{border:1px solid var(--border);background:var(--chip-bg,var(--bg-elev2));color:var(--text);cursor:pointer;white-space:nowrap;border-radius:9px;align-items:center;gap:6px;padding:5px 10px;font-size:12.5px;transition:border-color .15s,background .15s;display:inline-flex}.chip:hover{border-color:var(--accent);background:var(--accent-soft)}.topbar .chip{background:0 0;border-color:#0000}.topbar .chip:hover{border-color:var(--border);background:0 0}.chip-model{text-overflow:ellipsis;max-width:220px;overflow:hidden}.chip-vision{color:var(--accent);font-size:11px;line-height:1}.chip-sub{color:var(--text-faint);font-size:11px}.chip-emoji{line-height:1}.chip.newchat{color:var(--accent);border-color:#8b5cf666}.chip.newchat:hover{background:var(--accent-soft)}.chip.ephemeral-chat-btn{color:#a78bfa;background:#8b5cf612;border-color:#8b5cf680}.chip.ephemeral-chat-btn:hover{background:#8b5cf629}.chip.github{width:28px;height:28px;color:var(--text-dim);border-radius:50%;justify-content:center;padding:0;text-decoration:none}.chip.github:hover{color:var(--text);border-color:var(--accent)}.chip.github svg{width:15px;height:15px}.dropdown{display:inline-flex;position:relative}.dd-caret{color:var(--text-faint);transition:transform .15s}.dd-caret.up{transform:rotate(180deg)}.dd-menu{background:var(--menu-bg,var(--bg-elev2));border:1px solid var(--border);z-index:60;border-radius:10px;min-width:340px;max-width:480px;max-height:520px;padding:6px;position:absolute;top:calc(100% + 6px);right:0;overflow-y:auto;box-shadow:0 12px 40px #00000080}.dropdown.left .dd-menu{left:0;right:auto}@media (min-width:769px){.dropdown.dd-up .dd-menu{max-height:min(360px,100vh - 240px);top:auto;bottom:calc(100% + 6px)}}.dropdown.fit .dd-menu{max-height:none;overflow:visible}.dd-header{letter-spacing:.6px;text-transform:uppercase;color:var(--text-faint);padding:6px 10px 4px;font-size:11px;font-weight:700}.dd-loading{color:var(--text-faint);text-align:center;padding:10px;font-size:12px}.dd-model-scroll{max-height:min(300px,42vh);overflow-y:auto}.dd-model-body{flex:auto;gap:2px;min-height:0;display:flex}.dd-provider-col .dd-provider-head{letter-spacing:.6px;text-transform:uppercase;color:var(--text-faint);padding:5px 8px 4px;font-size:10px;font-weight:700}.dd-provider-col{border-right:1px solid var(--border-soft);flex:none;width:max-content;min-width:150px;max-width:280px;margin:2px 4px 2px 0;padding-right:4px;overflow-y:auto}.dd-provider-item{width:100%;color:var(--text-dim);text-align:left;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:6px;justify-content:space-between;align-items:center;gap:6px;padding:6px 8px;font-size:12px;display:flex}.dd-provider-item:hover{background:var(--bg-elev);color:var(--text)}.dd-provider-item.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.dd-provider-name{text-overflow:ellipsis;min-width:0;overflow:hidden}.dd-provider-txt{flex-direction:column;align-items:flex-start;gap:1px;min-width:0;display:flex}.dd-provider-txt .dd-provider-key{color:var(--text-faint);text-overflow:ellipsis;max-width:180px;font-size:10px;line-height:1.3;overflow:hidden}.dd-provider-item.active .dd-provider-txt .dd-provider-key{color:var(--accent-soft)}.dd-provider-count{color:var(--text-faint);font-size:10.5px;font-family:var(--mono);flex:none}.dd-model-key{color:var(--text-faint);background:var(--bg-elev);border:1px solid var(--border);white-space:nowrap;border-radius:4px;padding:0 6px;font-size:10.5px;line-height:1.5}.dd-model-key.active{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 45%, var(--border))}.dd-footer{border-top:1px solid var(--border-soft);margin-top:6px;padding-top:3px}.dd-menu.dd-menu-model{flex-direction:column;min-width:440px;max-width:min(620px,100vw - 16px);display:flex;overflow-y:hidden}@media (min-width:769px){.dropdown.dd-up .dd-menu.dd-menu-model{height:min(600px,100vh - 320px);max-height:none}}.dd-menu.dd-menu-model .dd-model-scroll{flex:auto;min-width:0;min-height:0;max-height:none}.dd-menu.dd-menu-model .dd-footer{flex-shrink:0}.dd-footer .dd-refresh{border-top:none;margin-top:0}.dd-search-row{border:1px solid var(--border);background:var(--bg-elev);color:var(--text-faint);border-radius:7px;align-items:center;gap:7px;margin:2px 8px 6px;padding:0 8px;display:flex}.dd-search-row:focus-within{border-color:var(--accent)}.dd-search-row svg{flex:none}.dd-search{min-width:0;height:28px;color:var(--text);background:0 0;border:none;outline:none;flex:1;font-size:12.5px}.dd-item{width:100%;color:var(--text-dim);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:7px;justify-content:space-between;align-items:center;gap:10px;padding:7px 10px;font-size:13px;display:flex}.dd-item:hover{background:var(--bg-elev);color:var(--text)}.dd-item:disabled{opacity:.45;cursor:not-allowed}.dd-item:disabled:hover{color:var(--text-dim);background:0 0}.ctx-menu{background:var(--bg-elev2);border:1px solid var(--border);z-index:200;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;border-radius:9px;min-width:200px;max-width:280px;padding:5px;position:fixed;box-shadow:0 10px 34px #00000080}.ctx-item{width:100%;color:var(--text-dim);text-align:left;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:0 0;border:none;border-radius:6px;align-items:center;gap:8px;padding:7px 10px;font-size:12.5px;display:flex}.ctx-item:hover{background:var(--bg-elev);color:var(--text)}.ctx-item:disabled{opacity:.55;cursor:default}.ctx-item:disabled:hover{color:var(--text-dim);background:0 0}.ctx-item svg{color:var(--text-faint);flex:none}.ctx-item.danger,.ctx-item.danger svg{color:var(--red)}.ctx-item.danger:hover{background:color-mix(in srgb, var(--red) 14%, transparent);color:var(--red)}.ctx-item.danger.armed,.ctx-item.danger.armed:hover{background:var(--red);color:#fff}.ctx-item.danger.armed svg{color:#fff}.dd-item.active{background:var(--accent-soft);color:var(--text)}.dd-item.active:after{content:"✓";color:var(--accent);font-size:12px}.dd-model-cell{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.dd-model-meta{flex-wrap:wrap;align-items:center;gap:4px 8px;min-width:0;display:flex}.dd-model-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dd-model-provider,.dd-model-id{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-faint);font-size:11px;font-family:var(--mono);flex-shrink:1;overflow:hidden}.dd-model-badges{flex-wrap:wrap;gap:5px;display:flex}.dd-model-badge{color:var(--text-faint);background:var(--bg-elev);border:1px solid var(--border);white-space:nowrap;border-radius:4px;padding:0 6px;font-size:10.5px;line-height:1.5}.dd-model-usage{color:var(--accent);background:var(--accent-soft);border:1px solid color-mix(in srgb, var(--accent) 45%, var(--border));white-space:nowrap;border-radius:4px;padding:0 6px;font-size:10.5px;line-height:1.5}.dd-refresh{border:none;border-top:1px solid var(--border-soft);width:100%;color:var(--text-faint);cursor:pointer;background:0 0;margin-top:4px;padding:6px;font-size:12px}.dd-refresh:hover{color:var(--accent)}.dd-refresh.dd-more-link{align-items:center;gap:6px;text-decoration:none;display:flex}.update-dot{background:var(--amber);border-radius:50%;flex-shrink:0;width:7px;height:7px;box-shadow:0 0 0 2px #f59e0b40}.dd-update{flex-direction:column;gap:6px;padding:8px 10px 10px;display:flex}.dd-row{color:var(--text-dim);justify-content:space-between;align-items:center;gap:12px;font-size:12.5px;display:flex}.dd-row b{color:var(--text);font-family:var(--mono);font-weight:600}.dd-note{background:var(--bg-elev);border:1px solid var(--border-soft);color:var(--text-dim);border-radius:6px;padding:6px 10px;font-size:12px;line-height:1.5}.dd-note.ok{color:var(--green);border-color:#34d3994d}.dd-note.warn{color:var(--amber);border-color:#f59e0b59}.dd-note.err{color:var(--red);border-color:#f8717159}.dd-actions{gap:6px;padding:0 2px 2px;display:flex}.dd-actions .dd-refresh{border:1px solid var(--border);background:var(--bg-elev);white-space:nowrap;border-radius:6px;margin-top:0}.dd-actions .dd-refresh:disabled{opacity:.6;cursor:default}.dd-refresh.accent{color:var(--accent);border-color:#8b5cf666}.dd-refresh.accent.armed{color:var(--amber);border-color:#f59e0b80}.protocol-banner{z-index:60;border:1px solid var(--amber);color:var(--amber);white-space:nowrap;background:#f59e0b1f;border-radius:8px;padding:6px 14px;font-size:12px;position:fixed;top:52px;left:50%;transform:translate(-50%)}.ephemeral-banner{color:#a78bfa;background:#8b5cf614;border:1px solid #8b5cf659;border-radius:8px;align-items:center;gap:10px;width:-moz-fit-content;width:fit-content;max-width:100%;margin:8px auto 12px;padding:5px 8px 5px 14px;font-size:12px;display:flex}.ephemeral-save{color:#c4b5fd;cursor:pointer;background:#8b5cf61f;border:1px solid #8b5cf673;border-radius:6px;flex-shrink:0;padding:2px 8px;font-size:11px}.ephemeral-save:hover{background:#8b5cf638}.notices{z-index:50;pointer-events:none;flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed;top:80px;left:50%;transform:translate(-50%)}.notice{pointer-events:auto;border:1px solid var(--border);border-left:3px solid var(--accent);background:var(--bg-elev2);max-width:min(760px,92vw);color:var(--text);text-align:left;border-radius:10px;align-items:center;gap:10px;padding:10px 12px 10px 14px;font-size:13px;font-weight:600;line-height:1.5;animation:.18s notice-in;display:flex;box-shadow:0 10px 36px #0000008c}@keyframes notice-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.notice.paused{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent), 0 14px 44px #000000a6}.notice-icon{flex:none;font-size:15px;line-height:1}.notice-text{flex:1;min-width:0}.notice-close{width:20px;height:20px;color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-radius:5px;flex:none;justify-content:center;align-items:center;font-size:13px;display:inline-flex}.notice-close:hover{background:var(--glow-12);color:var(--text)}.notice-error{border-color:#f871718c;border-left-color:var(--notice-err-border);color:var(--red-text);background:var(--notice-err-bg)}.notice-error .notice-icon{color:var(--red)}.notice-warning{border-color:#fbbf2480;border-left-color:var(--notice-warn-border);color:var(--amber-text);background:var(--notice-warn-bg)}.notice-warning .notice-icon{color:var(--amber)}.notice-info{border-color:#60a5fa73;border-left-color:var(--notice-info-border);color:var(--text);background:var(--notice-info-bg)}.notice-info .notice-icon{color:var(--info-blue)}.banner-container{z-index:1000;pointer-events:none;flex-direction:column;gap:10px;width:calc(100vw - 32px);max-width:360px;display:flex;position:fixed;top:54px;right:16px}.banner-card{pointer-events:auto;border:1px solid var(--border);border-left:4px solid var(--accent);background:var(--bg-elev);-webkit-backdrop-filter:blur(16px);color:var(--text);-webkit-user-select:none;user-select:none;border-radius:10px;align-items:flex-start;gap:10px;padding:12px 14px;transition:background-color .15s,border-color .15s,transform .15s;animation:.22s cubic-bezier(.16,1,.3,1) banner-slide-in;display:flex;box-shadow:0 10px 30px #00000073}@keyframes banner-slide-in{0%{opacity:0;transform:translate(24px)scale(.96)}to{opacity:1;transform:translate(0)scale(1)}}.banner-card.banner-clickable{cursor:pointer}.banner-card.banner-clickable:hover{background:var(--bg-elev2);border-color:var(--accent);transform:translateY(-1px)}.banner-icon-col{flex:none;justify-content:center;align-items:center;margin-top:2px;font-size:16px;line-height:1;display:flex}.banner-type-question{border-left-color:var(--send-blue)}.banner-icon-question{color:var(--send-blue)}.banner-type-info{border-left-color:var(--accent)}.banner-icon-info{color:var(--accent)}.banner-type-warning{border-left-color:var(--amber)}.banner-icon-warning{color:var(--amber)}.banner-type-error{border-left-color:var(--red)}.banner-icon-error{color:var(--red)}.banner-type-success{border-left-color:var(--green)}.banner-icon-success{color:var(--green)}.banner-content-col{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.banner-title{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;line-height:1.3;overflow:hidden}.banner-message{color:var(--text-dim);-webkit-line-clamp:3;word-break:break-word;-webkit-box-orient:vertical;font-size:12px;line-height:1.45;display:-webkit-box;overflow:hidden}.banner-close{width:20px;height:20px;color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-radius:4px;flex:none;justify-content:center;align-items:center;margin-top:-2px;margin-right:-4px;padding:0;font-size:14px;transition:color .15s,background-color .15s;display:flex}.banner-close:hover{color:var(--text);background:var(--bg-elev2)}.messages-wrap{flex-direction:column;flex:1;min-height:0;display:flex;position:relative;overflow:hidden;container:msgs/inline-size}body.has-wallpaper:before{content:"";z-index:0;background-image:var(--bg-image,none);filter:blur(var(--bg-image-blur,0px));pointer-events:none;background-position:50%;background-repeat:no-repeat;background-size:cover;position:fixed;inset:0;transform:scale(1.04)}body.has-wallpaper:after{content:"";z-index:0;background:var(--bg);opacity:var(--bg-image-dim,.78);pointer-events:none;position:fixed;inset:0}body:not(.has-wallpaper):before,body:not(.has-wallpaper):after{display:none}.messages{padding-block:20px 12px;padding-inline:max(0px, calc(var(--chat-inset) - var(--msgs-gutter,0px)));scrollbar-gutter:stable both-edges;overflow-anchor:none;flex:1;overflow-y:auto}.messages.anchor-live{overflow-anchor:auto}.messages-wrap:after{content:"";z-index:0;pointer-events:none;opacity:0;background:linear-gradient(to bottom, transparent, var(--msgs-bg,var(--bg-elev)));height:30px;transition:opacity .15s;position:absolute;bottom:0;left:0;right:0}.messages-wrap:has(>.messages.anchor-live):after{opacity:1}.msg-lazy-ph{margin:0}.msg{margin:0;padding:6px 0 14px;scroll-margin-top:84px}.msg-meta{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;align-items:baseline;gap:10px;margin-bottom:4px;display:flex}.msg-role{text-transform:uppercase;letter-spacing:.8px;color:var(--text-faint);font-size:11px;font-weight:700}.msg-model{color:var(--accent);font-size:11px;font-family:var(--mono);overflow-wrap:anywhere;min-width:0}.msg-customtype{color:var(--amber);font-size:11px}.msg-time{color:var(--text-faint);margin-left:auto;font-size:11px}.search-bar{z-index:30;border:1px solid var(--border);background:var(--bg-elev2);border-radius:10px;align-items:center;gap:2px;max-width:min(480px,100% - 32px);padding:5px 6px 5px 12px;display:flex;position:absolute;top:10px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #00000059}.search-input{color:var(--text);background:0 0;border:none;outline:none;width:200px;padding:4px 0;font-size:13px}.search-input::placeholder{color:var(--text-faint)}.search-count{color:var(--text-faint);white-space:nowrap;font-variant-numeric:tabular-nums;padding:0 6px;font-size:11px}.search-count.empty{color:var(--red)}.search-btn{width:26px;height:26px;color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-radius:7px;justify-content:center;align-items:center;display:inline-flex}.search-btn:hover:not(:disabled){background:var(--accent-soft);color:var(--text)}.search-btn:disabled{opacity:.4;cursor:default}::highlight(msg-search){background-color:#fbbf2447;background-color:color-mix(in srgb, var(--amber) 28%, transparent)}::highlight(msg-search-active){color:var(--search-active-fg);background-color:#f59e0bd9;background-color:color-mix(in srgb, var(--amber) 80%, transparent)}.msg-actions{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;justify-content:flex-end;align-items:center;gap:6px;margin-top:4px;display:flex}.chead-copy.copied,.msg-text-copy.copied{color:var(--green)!important}.msg-action{width:32px;height:32px;color:var(--text-faint);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:8px;flex:none;justify-content:center;align-items:center;margin:0;padding:0;font-size:16px;transition:opacity .15s,color .15s,background .15s,transform .1s;display:inline-flex}.msg-action-label{display:none!important}.msg-action>svg{flex:none;width:16px;height:16px}.msg:hover .msg-action,.msg-action:focus-visible{opacity:1}.msg-action:hover{color:var(--text);background:var(--bg-elev2)}.msg-action:active{transform:scale(.92)}.msg-action.msg-action-speaking{opacity:1;color:var(--accent);background:var(--bg-elev2)}.msg-actions.has-open-dropdown .msg-action{opacity:1}.msg-copy-group{border-radius:8px;align-items:center;height:32px;display:inline-flex;position:relative}.msg-copy-main-btn{border-top-right-radius:0;border-bottom-right-radius:0;width:32px;height:32px}.msg-copy-caret-btn{border-top-left-radius:0;border-bottom-left-radius:0;width:18px;height:32px;margin-left:-1px}.msg-copy-caret-btn.active,.msg-copy-caret-btn:hover{color:var(--text);background:var(--bg-elev2)}.msg-copy-caret-icon{font-size:10px;transition:transform .15s}.msg-copy-caret-icon.open{transform:rotate(180deg)}.msg-copy-main-btn.msg-copy-success{color:var(--green)}.msg-copy-dropdown{background:var(--menu-bg,var(--bg-elev2));border:1px solid var(--border-soft);z-index:50;border-radius:8px;flex-direction:column;gap:2px;min-width:140px;padding:4px;display:flex;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 6px 20px #0006}.msg-copy-menu-item{color:var(--text);cursor:pointer;text-align:left;white-space:nowrap;background:0 0;border:none;border-radius:6px;align-items:center;gap:8px;padding:7px 10px;font-size:12.5px;transition:background .15s,color .15s;display:flex}.msg-copy-menu-item:hover{background:var(--bg-elev);color:var(--accent)}.msg-copy-menu-item svg{color:var(--text-faint);font-size:14px}.msg-copy-menu-item:hover svg{color:var(--accent)}.slot-toolbar,.lp-slot-sessions,.notice-actions{align-items:center;gap:6px;display:inline-flex}.slot-btn,.lp-slot-btn,.notice-actions .btn-slot{color:var(--text-faint);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;align-items:center;gap:4px;padding:2px 8px;font-size:12px;display:inline-flex}.slot-btn:hover,.lp-slot-btn:hover,.notice-actions .btn-slot:hover{color:var(--accent);background:var(--bg-elev2)}.slot-btn.on,.lp-slot-btn.on{color:var(--accent);border-color:var(--accent)}select.slot-select,select.lp-slot-select,select.notice-select{max-width:160px;color:var(--text-faint);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;padding:2px 4px;font-size:12px}select.slot-select:hover,select.lp-slot-select:hover,select.notice-select:hover{color:var(--accent);background:var(--bg-elev2)}.slot-badge,.lp-slot-badge{color:var(--text-faint);padding:2px 6px;font-size:11px}.slot-divider,.lp-slot-divider{background:var(--border);align-self:stretch;width:1px}.slot-progress{color:var(--text-faint);align-items:center;gap:6px;font-size:11px;display:inline-flex}.slot-progress progress{width:80px;height:8px}.slot-input{background:var(--bg-elev2);border:1px solid var(--border);color:var(--text);border-radius:6px;width:140px;padding:2px 8px;font-size:12px}.plugin-widget:empty{display:none}.msg-editor{flex-direction:column;gap:8px;display:flex;position:relative}.msg-editor-images{flex-wrap:wrap;gap:6px;display:flex}.msg-editor-img{border:1px solid var(--border);background:var(--bg-elev);border-radius:8px;width:64px;height:64px;display:inline-flex;position:relative;overflow:hidden}.msg-editor-img img{object-fit:cover;width:100%;height:100%;display:block}.msg-editor-img-remove{cursor:pointer;color:#fff;background:#0000008c;border:none;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;padding:0;font-size:10px;line-height:1;display:flex;position:absolute;top:2px;right:2px}.msg-editor-img-remove:hover{background:#dc2626d9}.msg-editor-img-remove svg{width:12px;height:12px}.msg-editor-img.file-chip{background:#60a5fa1f;border:1px solid #60a5fa73;border-radius:6px;align-items:center;width:auto;height:auto;min-height:28px;padding:2px 22px 2px 6px}.msg-editor-file{color:var(--text-dim);align-items:center;gap:5px;max-width:260px;font-size:12px;display:inline-flex}.msg-editor-file-icon{flex:none}.msg-editor-file-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.msg-editor-img.file-chip .msg-editor-img-remove{top:3px;right:3px}.msg-editor-notice{color:var(--amber,#f59e0b);padding:2px 2px 4px;font-size:11px}.msg-editor.drag-over .msg-editor-input{border-color:var(--accent);box-shadow:0 0 0 2px #8b5cf640}.msg-editor.drag-over:after{content:"📎";pointer-events:none;z-index:2;justify-content:center;align-items:center;font-size:28px;display:flex;position:absolute;inset:0}span.msg-editor-hint svg{vertical-align:-2px;margin-right:4px}.msg-editor-input{resize:vertical;border:1px solid var(--border);background:var(--bg-elev);width:100%;min-height:48px;color:var(--text);border-radius:10px;outline:none;padding:10px 12px;font-family:inherit;font-size:13.5px;line-height:1.6}.msg-editor-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px #8b5cf626}.msg-editor-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.msg-editor-hint{color:var(--text-faint);margin-right:auto;font-size:11px}.chip.primary{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.chip.primary:disabled{opacity:.45;cursor:not-allowed}.msg-collapsed{box-sizing:border-box;border:1px solid var(--border-soft);background:var(--card-bg,var(--bg-elev2));color:var(--text-dim);text-align:left;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;content-visibility:auto;contain-intrinsic-size:auto 20px;border-radius:8px;align-items:center;gap:10px;min-height:36px;margin:0 0 2px;padding:7px 12px;font-size:12px;transition:border-color .15s,background .15s,color .15s;display:flex}.msg-collapsed:hover{border-color:var(--border);background:var(--chip-bg,var(--bg-elev2));color:var(--text)}.msg-collapsed:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.msg-collapsed-role{text-transform:uppercase;letter-spacing:.7px;color:var(--text-faint);flex-shrink:0;min-width:52px;font-size:10px;font-weight:700}.msg-collapsed-role.role-user{color:var(--accent)}.msg-collapsed-role.role-assistant{color:var(--green)}.msg-collapsed-role.role-bashExecution,.msg-collapsed-role.role-toolResult{color:var(--amber)}.msg-collapsed-body{flex:1;align-items:center;gap:8px;min-width:0;display:flex;overflow:hidden}.msg-collapsed-preview{white-space:nowrap;text-overflow:ellipsis;color:var(--text-dim);overflow:hidden}.msg-collapsed-chips{flex-shrink:0;gap:4px;display:inline-flex}.msg-collapsed-chip{color:var(--text-faint);border:1px solid var(--border);white-space:nowrap;text-overflow:ellipsis;border-radius:999px;max-width:100%;padding:1px 6px;font-size:10px;overflow:hidden}.msg-collapsed-time{color:var(--text-faint);flex-shrink:0;font-size:10.5px}.msg-collapsed-action{color:var(--text-faint);flex-shrink:0;align-items:center;gap:3px;font-size:11px;display:inline-flex}.msg-collapsed-action:before{content:"";border-bottom:1.5px solid;border-right:1.5px solid;flex:none;width:5px;height:5px;margin:0 4px 0 5px;transform:rotate(-45deg)}.msg-collapsed:hover .msg-collapsed-action{color:var(--accent)}.msg-collapse-btn{color:var(--text-faint);cursor:pointer;background:0 0;border:none;border-radius:5px;align-items:center;gap:3px;margin-left:0;padding:1px 6px;font-size:11px;display:inline-flex}.msg-collapse-btn:hover{color:var(--accent);background:var(--bg-elev2)}.md{overflow-wrap:anywhere;word-break:break-word;min-width:0}.md>pre,.msg-text pre{max-width:100%;overflow-x:auto}.msg-text{color:var(--text);overflow-wrap:anywhere;word-break:break-word;min-width:0;position:relative}.msg-text p{margin:6px 0}.msg-text p:first-child{margin-top:0}.msg-text p:last-child{margin-bottom:0}.msg-text ul,.msg-text ol{margin:6px 0;padding-left:22px}.msg-text li{margin:2px 0}.msg-text blockquote{border-left:3px solid var(--accent);color:var(--text-dim);margin:8px 0;padding:2px 14px}.msg-text table{border-collapse:collapse;max-width:100%;margin:8px 0;display:block;overflow-x:auto}.msg-text th,.msg-text td{border:1px solid var(--border);padding:4px 10px}.msg-text a{color:var(--link);overflow-wrap:anywhere}.msg-text code{font-family:var(--mono);background:var(--bg-elev2);border:1px solid var(--border-soft);border-radius:4px;padding:1px 5px;font-size:12.5px}.katex-display{max-width:100%;margin:8px 0;padding:4px 2px;overflow:auto hidden}.msg-text .katex{font-size:1.05em}.codeblock{margin:10px 0;position:relative}.codeblock pre{border:1px solid var(--border);border-radius:8px;margin:0;padding:10px 0;overflow-x:auto;background:var(--chip-bg,var(--code-bg))!important}.code-line{align-items:flex-start;min-width:0;padding:0 14px;display:flex}.code-line .code-num{text-align:right;color:var(--text-faint);font-family:var(--mono);-webkit-user-select:none;user-select:none;flex:none;padding-right:12px;font-size:12.5px;line-height:1.55}.codeblock code.code-line-body{font-family:var(--mono);white-space:pre-wrap;word-break:break-word;background:0 0;border:none;flex:1;min-width:0;padding:0;font-size:12.5px;line-height:1.55}.copy-btn{z-index:2;width:28px;height:28px;color:var(--text-faint);cursor:pointer;opacity:0;background:0 0;border:0;border-radius:50%;flex:none;justify-content:center;align-items:center;margin:0;padding:0;font-size:14px;line-height:1;transition:opacity .15s,color .15s;display:inline-flex;position:absolute;top:8px;right:8px}.codeblock:hover .copy-btn{opacity:.55}.copy-btn:hover,.copy-btn:focus-visible{opacity:1;color:var(--text);background:0 0}.mermaid-block{background:var(--bg);border:1px solid var(--border);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-size:var(--mermaid-font-size);border-radius:8px;margin:10px 0;padding:12px;position:relative}.mermaid-block[data-mermaid-dark]{background:var(--bg-elev2);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.mermaid-svg{overflow-x:auto}.mermaid-svg svg{margin:0 auto;display:block}.mermaid-svg svg .titleText,.mermaid-svg svg foreignObject .edgeLabel{font-size:var(--mermaid-font-size)!important}.mermaid-note{color:var(--text-faint);padding:2px 34px 2px 0;font-size:12px;font-style:italic}.mermaid-block-loading{min-height:34px}.mermaid-block-error .codeblock{margin:6px 0 0}.mermaid-block:hover .copy-btn{opacity:.55}.trunc-note{color:var(--text-faint);overflow-wrap:anywhere;margin-top:6px;font-size:11.5px;font-style:italic}.msg-image img{border:1px solid var(--border);border-radius:8px;max-width:100%;max-height:420px}.thinking{border:1px solid var(--border-soft);background:var(--card-bg,var(--glow-015));border-radius:8px;margin:8px 0}.thinking-icon{color:var(--accent)}.thinking-icon,.toolcall-icon{flex:none;justify-content:center;align-items:center;width:20px;height:28px;font-size:14px;display:inline-flex}.thinking-body{padding:var(--card-body-pad,4px 14px 12px);color:var(--text-dim);white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;border-top:1px solid var(--border-soft);min-width:0;font-size:13px;font-style:italic}.thinking-live .thinking-toggle{color:var(--text)}.thinking-live-label{align-items:center;display:inline-flex}.thinking-live-label .dots:after{content:"";text-align:left;width:1.2em;animation:1.2s steps(4,end) infinite thinking-dots;display:inline-block}@keyframes thinking-dots{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}}.thinking-wait{color:var(--text-dim);align-items:center;gap:5px;padding:2px 0;font-size:13px;display:inline-flex}.thinking-wait .dot{background:var(--accent);border-radius:50%;width:6px;height:6px;animation:1s steps(2,start) infinite stream-blink;display:inline-block}.stream-cursor{vertical-align:text-bottom;background:var(--accent);border-radius:1px;width:8px;height:1.05em;margin-left:3px;animation:1s steps(2,start) infinite stream-blink;display:inline-block}@keyframes stream-blink{0%,49%{opacity:1}50%,to{opacity:0}}.toolcall{border:1px solid var(--border);background:var(--card-bg,var(--bg-elev));border-radius:8px;margin:8px 0;overflow:hidden}.toolcall-name{font-family:var(--mono);color:var(--text);font-weight:600}.chead-title.toolcall-name{flex:0 auto;min-width:5ch;max-width:40%}.toolcall-status{width:20px;height:28px;color:var(--text-faint);flex:none;justify-content:center;align-items:center;font-size:14px;display:inline-flex}.toolcall-status>svg{width:14px;height:14px}.toolcall-name+.toolcall-status{margin-left:-4px}.toolcall.run .toolcall-status{color:var(--amber)}.toolcall.run .toolcall-status>svg{animation:1s linear infinite toolcall-spin}.toolcall.ok .toolcall-status{color:var(--green)}.toolcall.err .toolcall-status{color:var(--red)}@keyframes toolcall-spin{to{transform:rotate(360deg)}}.toolcall.err{border-color:#f8717159}.toolcall-spacer{flex:1}.toolcall-kill{border:1px solid var(--red);background:var(--red-soft);height:26px;color:var(--red);cursor:pointer;border-radius:9px;flex:none;justify-content:center;align-items:center;gap:4px;padding:0 9px;font-size:11px;font-weight:600;line-height:1;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.toolcall-kill:hover{background:var(--red);border-color:var(--red);color:#fff}.tool-info-modal{background:var(--bg-elev2);border:1px solid var(--border);border-radius:12px;flex-direction:column;width:100%;max-width:720px;max-height:82vh;display:flex;overflow:hidden;box-shadow:0 24px 64px #0000008c}.tool-info-head{border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:8px;padding:12px 14px;display:flex}.tool-info-title{color:var(--text);white-space:nowrap;align-items:center;gap:6px;font-weight:600;display:inline-flex}.tool-info-name{font-family:var(--mono);border:1px solid var(--border-soft);background:var(--code-bg);color:var(--code-text);border-radius:6px;padding:2px 7px;font-size:12px}.tool-info-label{color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.tool-info-head .btn{flex-shrink:0;margin-left:auto;padding:4px 8px}.tool-info-body{flex-direction:column;flex:auto;gap:14px;min-height:0;padding:14px;display:flex;overflow-y:auto}.tool-info-state{color:var(--text-dim);align-items:center;gap:6px;display:flex}.tool-info-badges{flex-wrap:wrap;gap:6px;display:flex}.tool-info-badge{border:1px solid var(--border);background:var(--bg-elev);color:var(--text-dim);border-radius:999px;padding:2px 8px;font-size:11px}.tool-info-badge.on{border-color:var(--green);background:var(--green-soft);color:var(--green)}.tool-info-badge.off{color:var(--text-faint)}.tool-info-sec{flex-direction:column;gap:6px;display:flex}.tool-info-sec-label{letter-spacing:.04em;color:var(--text-faint);font-size:11px}.tool-info-text{color:var(--text);white-space:pre-wrap;overflow-wrap:anywhere}.tool-info-text.dim{color:var(--text-dim)}.tool-info-text.warn{color:var(--amber-text)}.tool-info-list{color:var(--text);flex-direction:column;gap:4px;margin:0;padding-left:18px;display:flex}.tool-info-raw summary{cursor:pointer;color:var(--text-dim);align-items:center;gap:8px;font-size:12px;display:flex}.tool-info-raw pre{padding:var(--code-pad);border:1px solid var(--code-border);background:var(--code-bg);max-height:260px;color:var(--code-text);font-family:var(--mono);border-radius:8px;margin:8px 0 0;font-size:12px;overflow:auto}.tool-info-foot{border-top:1px solid var(--border-soft);color:var(--text-faint);padding-top:10px;font-size:12px}.tool-schema-table{border:1px solid var(--border-soft);border-radius:8px;flex-direction:column;display:flex;overflow:hidden}.tool-schema-row{border-bottom:1px solid var(--border-soft);grid-template-columns:minmax(130px,1.1fr) minmax(110px,1fr) 1.6fr;align-items:baseline;gap:4px 10px;padding:6px 8px;display:grid}.tool-schema-row:last-child{border-bottom:0}.tool-schema-name{align-items:center;gap:6px;min-width:0;display:flex}.tool-schema-name code{font-family:var(--mono);color:var(--text);overflow-wrap:anywhere;font-size:12px}.tool-schema-req{border:1px solid var(--border);color:var(--red-text);border-radius:4px;flex-shrink:0;padding:0 4px;font-size:10px}.tool-schema-type{min-width:0;font-family:var(--mono);color:var(--link);flex-direction:column;gap:2px;font-size:12px;display:flex}.tool-schema-hint{color:var(--text-faint);font-size:11px}.tool-schema-desc{color:var(--text-dim);overflow-wrap:anywhere;font-size:12px}@media (max-width:640px){.tool-schema-row{grid-template-columns:minmax(90px,1fr) minmax(80px,1fr)}.tool-schema-desc{grid-column:1/-1}}.chead{box-sizing:border-box;width:100%;min-width:0;max-width:100%;min-height:32px;color:var(--text);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:0 0;border:0;border-radius:8px;align-items:center;gap:6px;padding:2px 8px 2px 4px;font-size:12.5px;display:flex;position:relative}div.chead[role=button]{cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}div.chead[role=button]:hover{background:var(--bg-elev2)}div.chead[role=button]:focus-visible,.chead-toggle:focus-visible,.chead-copy:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.chead-toggle{width:28px;height:28px;color:var(--text-faint);cursor:pointer;background:0 0;border:0;border-radius:6px;flex:none;justify-content:center;align-items:center;margin:0;padding:0;font-family:inherit;font-size:14px;line-height:1;display:inline-flex}.chead-toggle:hover{color:var(--text);background:var(--bg-elev2)}.chead-copy,.msg-text-copy{width:28px;height:28px;color:var(--text-faint);cursor:pointer;opacity:.35;background:0 0;border:0;border-radius:50%;flex:none;justify-content:center;align-items:center;margin:0;padding:0;font-family:inherit;font-size:14px;line-height:1;transition:opacity .15s,color .15s,background .15s;display:inline-flex}.chead:hover .chead-copy,.msg-text:hover .msg-text-copy,.chead-copy:hover,.msg-text-copy:hover,.chead-copy:focus-visible,.msg-text-copy:focus-visible{opacity:1}.chead-copy:hover,.msg-text-copy:hover{color:var(--text);background:0 0}.chead-toggle>svg{flex:none;width:16px;height:16px}.chead-copy>svg,.msg-text-copy>svg,.copy-btn>svg{flex:none;width:13px;height:13px}.chead-icon{flex:none;justify-content:center;align-items:center;width:20px;height:28px;font-size:14px;display:inline-flex}.chead-icon>svg{width:14px;height:14px}.chead-title{text-overflow:ellipsis;white-space:nowrap;flex:0 auto;min-width:0;overflow:hidden}.thinking-label,.compaction-title{flex:auto}.msg-text-copy{z-index:1;position:absolute;top:6px;right:8px}.msg-text.single{align-items:center;gap:6px;display:flex}.msg-text.single .msg-text-main{flex:1;min-width:0}.msg-text.single .msg-text-copy{position:static;transform:none}.toolcall-body{border-top:1px solid var(--border-soft);padding:var(--card-body-pad,4px 14px 12px)}.toolcall-args pre{font-family:var(--mono);color:var(--text-dim);white-space:pre;background:var(--chip-bg,var(--bg-elev2));border:1px solid var(--code-border,var(--border-soft));max-height:200px;padding:var(--code-pad,8px 10px);border-radius:6px;margin:0;font-size:12px;overflow:auto}.termline{background:var(--chip-bg,var(--code-bg));border:1px solid var(--code-border,var(--border-soft));padding:var(--code-pad,8px 10px);font-family:var(--mono);border-radius:6px;align-items:center;gap:8px;font-size:12.5px;display:flex}.termline-icon{color:var(--green);flex-shrink:0}.termline code{word-break:break-all}.toolcall-path{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:min(58ch,42vw);font-family:var(--mono);color:var(--text-dim);flex:0 12 auto;font-size:11px;overflow:hidden}.toolcall-timeout{white-space:nowrap;text-overflow:ellipsis;min-width:0;max-width:100%;color:var(--text-faint);flex:0 auto;font-size:11px;overflow:hidden}.toolcall-cmd{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:min(60ch,40vw);font-family:var(--mono);color:var(--text-dim);flex:0 auto;font-size:11px;overflow:hidden}.toolcall-agent{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:min(30ch,24vw);font-family:var(--mono);color:var(--accent);flex:0 auto;font-size:11px;overflow:hidden}.toolcall-open{height:28px;color:var(--text-dim);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:9px;flex:none;align-items:center;gap:4px;padding:0 8px;font-size:11px;font-weight:600;line-height:1;display:inline-flex}.toolcall-open:hover{border-color:var(--border);color:var(--text)}.delegate-brief{flex-direction:column;gap:8px;display:flex}.delegate-sec-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-faint);margin-bottom:2px;font-size:11px}.delegate-sec-text{white-space:pre-wrap;word-break:break-word;color:var(--text);font-size:12.5px;line-height:1.55}.toolcall-output{margin-top:8px}.toolcall-output-label{text-transform:uppercase;letter-spacing:.6px;color:var(--text-faint);margin-bottom:4px;font-size:11px}.toolcall-output pre{background:var(--chip-bg,var(--code-bg));border:1px solid var(--code-border,var(--border-soft));max-height:320px;padding:var(--code-pad,8px 10px);font-family:var(--mono);color:var(--code-text);white-space:pre;word-break:normal;border-radius:6px;margin:0;font-size:12px;line-height:1.5;overflow:auto}.toolcall.err .toolcall-output pre{color:var(--err-text)}.toolcall-images{flex-wrap:wrap;gap:8px;padding:8px 14px 4px;display:flex}.toolcall-image{border:1px solid var(--border);cursor:zoom-in;background:0 0;border-radius:8px;padding:0;line-height:0}.toolcall-image img{border-radius:7px;max-width:280px;max-height:160px}.img-lightbox{z-index:500;cursor:zoom-out;background:#000000bf;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.img-lightbox img{border-radius:8px;max-width:calc(100vw - 48px);max-height:calc(100vh - 48px)}.img-lightbox-close{z-index:501;color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(4px);background:#000000a6;border:1px solid #ffffff40;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:20px;transition:all .15s;display:inline-flex;position:fixed;top:16px;right:16px}.img-lightbox-close:hover{background:#000000e6;border-color:#ffffff80;transform:scale(1.06)}.toolcall-waiting{color:var(--text-faint);margin-top:8px;font-size:12px}.cursor{background:var(--accent);vertical-align:-2px;width:7px;height:13px;margin-left:4px;animation:1s steps(2,start) infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}.bashblock{border:1px solid var(--border);background:var(--card-bg,var(--code-bg));border-radius:8px;margin:8px 0;overflow:hidden}.bashblock-command{font-family:var(--mono);border-bottom:1px solid var(--border-soft);align-items:center;gap:8px;min-width:0;max-width:100%;padding:7px 12px;font-size:12.5px;display:flex}.bashblock-prompt{color:var(--green);font-weight:700}.bashblock-command code{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.bashblock-exit{border:1px solid var(--border);border-radius:999px;margin-left:auto;padding:1px 8px;font-size:11px}.bashblock-exit.ok{color:var(--green)}.bashblock-exit.err{color:var(--red)}.bashblock-output{font-family:var(--mono);color:var(--code-text);white-space:pre;max-height:320px;margin:0;padding:10px 12px;font-size:12px;line-height:1.5;overflow:auto}.msg-queued .msg-body{opacity:.75;border-style:dashed}.msg-queued .msg-meta{align-items:center}.queued-tag{border-radius:999px;padding:1px 7px;font-size:10px;font-weight:600;line-height:1.4;display:inline-block}.queued-tag.steer{color:var(--amber);background:#fbbf2424}.queued-tag.follow{color:var(--text-dim);background:var(--bg-elev2)}.msg-queued-actions{align-items:center;gap:2px;margin-left:auto;display:inline-flex}.msg-queued-recall{color:var(--text-dim);cursor:pointer;opacity:.4;background:0 0;border:none;border-radius:6px;padding:4px 5px;font-size:12px;line-height:1;transition:opacity .12s,color .12s,background .12s}.msg-queued-recall:hover,.msg-queued-recall:focus-visible{opacity:1;color:var(--accent);background:var(--accent-soft)}.msg-queued-remove{color:var(--text-dim);cursor:pointer;opacity:.4;background:0 0;border:none;border-radius:6px;padding:4px 5px;font-size:12px;line-height:1;transition:opacity .12s,color .12s,background .12s}.msg-queued-remove:hover,.msg-queued-remove:focus-visible{opacity:1;color:var(--red);background:var(--red-soft)}@media (pointer:coarse){.msg-queued-recall,.msg-queued-remove{padding:8px 9px}}.msg-user .msg-body{background:var(--accent-soft);border:1px solid #8b5cf640;border-radius:12px;padding:10px 14px}.msg-error{color:var(--red);background:var(--red-soft);overflow-wrap:anywhere;word-break:break-word;white-space:normal;border:1px solid #f8717159;border-radius:8px;min-width:0;margin-bottom:8px;padding:8px 12px;font-size:13px}.msg-error-text{min-width:0;display:block}.msg-retry-btn{color:var(--red);cursor:pointer;background:0 0;border:1px solid #f871718c;border-radius:999px;align-items:center;gap:6px;margin-top:8px;padding:4px 14px;font-size:13px;line-height:1.6;display:inline-flex}.msg-retry-btn:hover{background:#f8717124}.retry-notice{color:var(--amber-text);background:var(--card-bg,#fbbf2414);border:1px solid #fbbf244d;border-radius:8px;align-items:center;gap:8px;margin:4px 0 8px;padding:8px 12px;font-size:13px;display:flex}.retry-notice .retry-text{overflow-wrap:anywhere;word-break:break-word;white-space:normal;min-width:0}.retry-pulse{background:var(--amber);border-radius:50%;flex:none;width:8px;height:8px;animation:1.2s ease-in-out infinite retry-pulse}@keyframes retry-pulse{0%,to{opacity:1}50%{opacity:.25}}.compact-notice{color:var(--info-blue);background:#60a5fa14;border:1px solid #60a5fa4d;border-radius:8px;align-items:center;gap:8px;margin:4px 0 8px;padding:8px 12px;font-size:13px;display:flex}.compact-notice .compact-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.compact-notice .compact-reason{color:var(--text-dim);flex:none;margin-left:auto;font-size:12px}.compact-pulse{background:var(--info-blue);border-radius:50%;flex:none;width:8px;height:8px;animation:1.2s ease-in-out infinite retry-pulse}.compaction-card{border:1px solid var(--border);background:var(--bg-elev2);border-radius:8px;overflow:hidden}.compaction-card.expanded{border-color:#60a5fa66}.compaction-icon{color:var(--info-blue)}.compaction-title{font-weight:600}.compaction-body{border-top:1px solid var(--border);padding:8px 12px 10px}.compaction-hint{border-top:1px dashed var(--border);color:var(--text-dim);margin-top:8px;padding-top:8px;font-size:12px}.compacted-history-action{margin-top:8px}.compacted-history-toggle-btn{border:1px solid var(--border);color:var(--text-dim);cursor:pointer;background:0 0;border-radius:6px;align-items:center;gap:6px;min-width:0;max-width:100%;padding:4px 10px;font-size:12px;transition:all .15s;display:inline-flex}.compacted-history-toggle-btn:hover{color:var(--text);background:#60a5fa0f;border-color:#60a5fa66}.compacted-history-chevron{flex:none;align-items:center;font-size:12px;display:inline-flex}.compacted-history-clock-icon{color:var(--info-blue);flex:none;font-size:12px}.compacted-history-btn-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.compacted-history-count-pill{color:var(--info-blue);background:#60a5fa1f;border-radius:10px;flex:none;align-items:center;padding:1px 6px;font-size:11px;font-weight:500;display:inline-flex}.compacted-history-panel{border:1px solid var(--border);background:var(--bg-elev);border-radius:8px;min-width:0;max-width:100%;margin-top:10px;overflow:hidden}.compacted-history-loading,.compacted-history-empty,.compacted-history-error{color:var(--text-dim);align-items:center;gap:8px;padding:12px 14px;font-size:12px;display:flex}.compacted-history-error{color:var(--red)}.compacted-history-stream{flex-direction:column;min-width:0;max-width:100%;display:flex}.compacted-history-stream-header{border-bottom:1px solid var(--border);background:#0000001a;justify-content:space-between;align-items:center;min-width:0;max-width:100%;padding:6px 12px;font-size:11px;display:flex}.compacted-history-badge{color:var(--info-blue);flex:none;align-items:center;gap:5px;font-weight:600;display:inline-flex}.compacted-history-count{color:var(--text-dim);flex:none}.compacted-history-messages{overscroll-behavior:contain;flex-direction:column;gap:12px;min-width:0;max-width:100%;max-height:480px;padding:8px;display:flex;overflow-y:auto}.compacted-history-messages .msg-readonly{opacity:.92;position:relative}.empty-state{text-align:center;color:var(--text-dim);flex-direction:column;align-items:center;padding:40px 20px 30px;display:flex}.chat-header{justify-content:flex-end;padding:6px 12px 0;display:flex}.chat-empty-slots{justify-content:center;margin-top:12px;display:flex}.empty-templates{width:min(720px,100%);margin-top:0}.empty-templates-head{flex-wrap:wrap;justify-content:center;align-items:baseline;gap:10px;margin-bottom:12px;display:flex}.empty-templates-title{color:var(--text);font-size:14px;font-weight:650}.empty-templates-hint{color:var(--text-faint);font-size:11.5px}.empty-templates-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;display:grid}.empty-template{border:1px solid var(--border);background:var(--card-bg,var(--bg-elev));color:var(--text-dim);text-align:left;cursor:pointer;border-radius:12px;align-items:flex-start;gap:10px;padding:11px 13px;transition:border-color .15s,background .15s,transform .12s,box-shadow .15s;display:flex;position:relative}.template-card-ops{width:20px;height:20px;color:var(--text-faint);cursor:pointer;background:0 0;border-radius:6px;justify-content:center;align-items:center;transition:background .15s,color .15s;display:inline-flex;position:absolute;top:7px;right:7px}.template-card-ops:hover{background:var(--accent-soft);color:var(--accent)}.empty-template:hover{background:var(--accent-soft);border-color:#8b5cf680;box-shadow:0 8px 22px #8b5cf629}.empty-template.add{border-style:dashed}.empty-template.add:hover{border-color:#8b5cf699}.empty-template-icon{flex-shrink:0;font-size:17px;line-height:1.5}.empty-template.add .empty-template-icon{width:20px;height:20px;color:var(--text-faint);justify-content:center;align-items:center;display:inline-flex}.empty-template-main{flex-direction:column;gap:2px;min-width:0;display:flex}.empty-template-title{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.empty-template-desc{color:var(--text-faint);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:11.5px;line-height:1.45;display:-webkit-box;overflow:hidden}.empty-templates-foot{justify-content:center;margin-top:10px;display:flex}.empty-templates-reset{color:var(--text-faint);cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:5px;padding:4px 8px;font-size:11.5px;transition:color .15s,background .15s;display:inline-flex}.empty-templates-reset:hover{color:var(--text-dim);background:var(--card-bg,var(--bg-elev))}.template-modal{max-width:620px}.modal.template-picker{max-width:1440px}.modal.template-picker,.modal.template-modal{gap:8px;overflow:hidden}.template-picker-top,.template-picker-foot,.template-modal-head,.template-modal-actions{flex-shrink:0}.template-picker-top,.template-modal-head{border-bottom:1px solid var(--border);padding-bottom:8px}.template-picker-top{flex-direction:column;gap:6px;display:flex}.template-picker-scroll,.template-modal-body{flex:auto;min-height:0;margin:0 -6px;padding:8px 6px;overflow-y:auto}.template-modal-body{flex-direction:column;gap:14px;display:flex}.template-picker-head{align-items:center;gap:10px;display:flex}.template-picker-title{color:var(--text);flex:1;font-size:15px;font-weight:650}.template-picker-hint{color:var(--text-faint);font-size:11.5px}.template-picker-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;display:grid}.template-picker-foot{border-top:1px solid var(--border);justify-content:center;padding-top:8px;display:flex}.template-modal-head{align-items:center;gap:10px;display:flex}.template-modal-icon{flex-shrink:0;font-size:20px}.template-modal-badge{color:var(--accent);border:1px solid var(--accent);white-space:nowrap;border-radius:999px;flex-shrink:0;padding:1px 8px;font-size:11px;font-weight:700}.template-modal-title{color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:15px;font-weight:650;overflow:hidden}.template-modal-close{width:30px;height:30px;color:var(--text-dim);background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.template-field{flex-direction:column;gap:5px;display:flex}.template-field-label{color:var(--text-dim);font-size:11.5px;font-weight:600}.template-field-input{border:1px solid var(--border);background:var(--bg-elev);color:var(--text);border-radius:8px;outline:none;padding:7px 10px;font-size:13px;transition:border-color .15s}.template-field-input:focus{border-color:var(--accent)}.template-field-input.icon{text-align:center;width:72px;font-size:16px}.template-field-prompt{border:1px solid var(--border);background:var(--bg-elev);color:var(--text);resize:none;border-radius:8px;outline:none;min-height:96px;padding:9px 10px;font-size:13px;line-height:1.6;transition:border-color .15s;overflow:hidden}.template-field-prompt:focus{border-color:var(--accent)}.template-error{color:var(--red);flex-shrink:0;font-size:12px}.template-modal-actions{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding-top:8px;display:flex}.template-modal-actions-left,.template-modal-actions-right{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.template-btn{background:var(--bg-elev);border-color:var(--border);color:var(--text-dim);border-radius:8px;padding:6px 12px;font-size:12.5px}.template-btn:hover{border-color:color-mix(in srgb, var(--accent) 45%, var(--border));color:var(--text)}.template-btn.ghost{background:0 0}.template-btn.ghost.danger{color:var(--red);border-color:color-mix(in srgb, var(--red) 45%, var(--border))}.template-btn.fill,.template-btn.send{font-weight:600}.template-btn.fill{background:var(--accent-soft);border-color:color-mix(in srgb, var(--accent) 60%, var(--border));color:var(--accent)}.template-btn.fill:hover{background:var(--accent-soft);color:var(--accent);filter:brightness(1.12)}.template-btn.send{background:var(--accent);border-color:var(--accent);color:#fff}.template-btn.send:hover{filter:brightness(1.08)}.template-modal-close{background:var(--bg-elev);border-color:var(--border);color:var(--text-dim)}.template-modal-close:hover{background:var(--accent-soft);color:var(--accent)}.streaming-wait,.boot-wait{text-align:center;color:var(--text-faint);padding:60px 20px;font-size:13px}.scroll-bottom{z-index:1;border:1px solid var(--border);background:var(--bg-elev2);color:var(--text-dim);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:6px 14px;font-size:12px;display:inline-flex;position:absolute;bottom:4px;left:50%;transform:translate(-50%);box-shadow:0 6px 20px #0006}.main:has(.goalbar-collapsed):not(:has(.plan-board)):not(:has(.dialog-inline)) .scroll-bottom{bottom:32px}.scroll-bottom:hover{color:var(--text);border-color:var(--accent)}.qn-rail{z-index:15;justify-content:center;align-items:center;gap:var(--rail-gap,27px);background:0 0;border-radius:12px;flex-direction:column;width:24px;display:flex;position:absolute;top:10px;bottom:10px;right:14px}.qn-rail:before{content:"";pointer-events:none;width:216px;position:absolute;top:0;bottom:0;right:100%}.qn-rail:hover:before{pointer-events:auto}.qn-bar{background:var(--glow-18);cursor:pointer;border:none;border-radius:2px;flex-shrink:0;width:16px;height:3px;padding:0;transition:background .12s;position:relative}.qn-bar:hover{background:var(--glow-38)}.qn-bar.active{background:var(--accent);box-shadow:0 0 8px color-mix(in srgb, var(--accent) 65%, transparent)}.qn-bar-text{text-align:left;text-overflow:ellipsis;white-space:nowrap;width:210px;color:var(--text-dim);background:var(--bg-elev2);border:1px solid var(--border);pointer-events:auto;visibility:hidden;opacity:0;border-radius:6px;padding:3px 9px;font-size:11px;line-height:1.3;transition:opacity .15s,visibility;position:absolute;top:50%;right:calc(100% + 10px);overflow:hidden;transform:translateY(-50%)}.qn-rail:hover .qn-bar-text{visibility:visible;opacity:1}.qn-rail:not(:hover) .qn-bar-text{transition:opacity .15s,visibility}.qn-bar:hover .qn-bar-text{color:var(--text);border-color:var(--accent)}.qn-bar.active .qn-bar-text{color:var(--text);border-color:color-mix(in srgb, var(--accent) 55%, transparent)}.qn-rail.many .qn-bar-text{display:none}.qn-list{background:var(--bg-elev2);border:1px solid var(--border);pointer-events:none;visibility:hidden;opacity:0;border-radius:10px;flex-direction:column;gap:2px;width:230px;padding:6px;transition:opacity .15s,visibility;display:flex;position:absolute;top:0;bottom:0;right:calc(100% + 10px);overflow-y:auto;box-shadow:0 8px 30px #00000073}.qn-rail.many:hover .qn-list{pointer-events:auto;visibility:visible;opacity:1}.qn-rail.many:not(:hover) .qn-list{transition:opacity .15s,visibility}.qn-list-item{min-height:26px;color:var(--text-dim);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:7px;flex-shrink:0;align-items:center;gap:8px;padding:3px 8px;font-size:11.5px;line-height:1.3;transition:background .12s,color .12s;display:flex}.qn-list-item:hover{background:var(--bg-elev);color:var(--text)}.qn-list-item.active{background:color-mix(in srgb, var(--accent) 30%, transparent);color:#fff}.qn-list-idx{text-align:center;min-width:17px;height:17px;color:var(--text-faint);font-size:10px;font-weight:700;line-height:17px;font-family:var(--mono);background:#00000059;border-radius:5px;flex-shrink:0}.qn-list-item.active .qn-list-idx{background:var(--accent);color:#fff}.qn-list-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.msg-user .qn-tag{display:none}.qn-tag{border:1px solid var(--border);background:var(--bg);color:var(--text-faint);font-family:var(--mono);cursor:pointer;border-radius:999px;flex-shrink:0;align-self:center;align-items:center;gap:6px;margin-left:auto;padding:3px 8px 3px 7px;font-size:10px;line-height:1;transition:border-color .12s,background .12s,color .12s;display:inline-flex}.qn-tag-bar{background:var(--glow-22);border-radius:2px;width:16px;height:3px;transition:background .12s}.qn-tag:hover{background:var(--bg-elev2);border-color:var(--accent);color:var(--text)}.qn-tag:hover .qn-tag-bar{background:var(--accent)}.qn-tag.active{border-color:color-mix(in srgb, var(--accent) 55%, transparent);color:var(--accent)}.qn-tag.active .qn-tag-bar{background:var(--accent);box-shadow:0 0 8px color-mix(in srgb, var(--accent) 65%, transparent)}@keyframes qn-flash{0%{background-color:color-mix(in srgb, var(--accent) 32%, transparent)}to{background-color:#0000}}.msg-flash{border-radius:8px;animation:1.6s ease-out qn-flash}@media (max-width:640px){.qn-rail{display:none}}.plan-board{margin:0 var(--chat-inset) 8px;min-width:0;max-width:100%;min-height:0}.plan-board-head{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:flex-start;gap:8px;min-width:0;display:flex}.plan-board-head-main{flex-wrap:wrap;flex:auto;align-items:center;gap:4px 8px;min-width:0;display:flex}.plan-board-icon{color:var(--accent);flex-shrink:0}.plan-board-title{color:var(--text);white-space:nowrap;flex:none;font-weight:600}.plan-board-count{color:var(--text-dim);white-space:nowrap;font-variant-numeric:tabular-nums;flex:none;font-size:12px}.plan-board-active{background:var(--accent-soft);min-width:0;max-width:100%;color:var(--accent);white-space:nowrap;text-overflow:ellipsis;border-radius:4px;flex:180px;margin-left:4px;padding:2px 8px;font-size:12px;overflow:hidden}.plan-board-actions{flex:none;align-items:center;gap:2px;display:flex}.status-item.delegate-badge{color:var(--accent);align-items:center;gap:3px;display:inline-flex}.delegate-badge-open{color:inherit;cursor:pointer;background:0 0;border:none;padding:0 1px;font-size:11px;line-height:1}.delegate-badge-open:hover{text-decoration:underline}.plan-board-iconbtn{color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:3px;display:inline-flex}.plan-board-iconbtn:hover{color:var(--text);background:var(--bg-elev2)}.plan-board-implement{background:var(--accent);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:6px;align-items:center;padding:3px 10px;font-size:12px;line-height:1.5;display:inline-flex}.plan-board-implement:hover{filter:brightness(1.08)}.plan-board-clean-handoff{border:1px solid var(--accent);background:var(--accent-soft);color:var(--accent);cursor:pointer;white-space:nowrap;border-radius:6px;align-items:center;padding:3px 8px;font-size:12px;line-height:1.5;display:inline-flex}.plan-board-clean-handoff:hover{background:var(--accent);color:#fff}.plan-board-add-btn{border:1px dashed var(--border-subtle);color:var(--text-dim);cursor:pointer;background:0 0;border-radius:6px;justify-content:center;align-items:center;gap:6px;width:100%;padding:6px 12px;font-size:12px;transition:all .2s;display:inline-flex}.plan-board-add-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.plan-board-steps{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:auto;min-height:0;max-height:min(60vh,520px);overflow-y:auto}@media (max-width:640px){.plan-board-steps{max-height:34vh}}.dsh-presetbar{margin:0 var(--chat-inset) 8px;border:1px solid var(--border);border-radius:12px;flex-wrap:wrap;align-items:center;gap:8px;padding:6px 10px;display:flex}.dsh-preset-label{color:var(--text-dim);white-space:nowrap;align-items:center;gap:5px;font-size:12px;display:inline-flex}.dsh-preset-lock{color:var(--text-dim);align-items:center;gap:3px;margin-left:6px;font-size:11px;display:inline-flex}.dsh-preset-hint{color:var(--text-dim);font-size:11px}.dsh-preset-hint.warn{color:var(--warning,var(--text-dim))}.dd-preset-name{color:var(--text);flex-wrap:wrap;align-items:center;gap:4px 6px;font-weight:600;display:flex}.dd-preset-tag{border:1px solid var(--border);color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, transparent);white-space:nowrap;border-radius:999px;padding:0 5px;font-size:10px;line-height:1.4}.dd-preset-tag.warn{color:var(--red)}.dd-preset-desc{color:var(--text-dim);white-space:normal;font-size:11px;line-height:1.55;display:block}.dd-item:has(.dd-preset-desc){flex-direction:column;align-items:stretch;gap:3px;padding-right:28px;position:relative}.dd-item:has(.dd-preset-desc).active:after{position:absolute;top:9px;right:10px}.preset-badge{vertical-align:1px;border:1px solid var(--border);color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, transparent);white-space:nowrap;border-radius:999px;flex-shrink:0;margin-right:6px;padding:0 5px;font-size:9.5px;line-height:1.4;display:inline-block}.goalbar{margin:0 var(--chat-inset) 8px;border:1px solid var(--border);border-radius:12px;flex-direction:column;align-items:stretch;gap:6px;min-width:0;max-width:100%;padding:8px 10px;display:flex}.goalbar-row{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;min-width:0;max-width:100%;display:flex}.goalbar-icon{color:var(--amber);flex-shrink:0;align-items:center;font-size:15px;display:inline-flex}.goalbar-spin{animation:1s linear infinite goalbar-spin;display:inline-block}@keyframes goalbar-spin{to{transform:rotate(360deg)}}.goalbar-input{min-width:0;color:var(--text);background:0 0;border:none;outline:none;flex:160px;padding:4px 2px;font-size:13px;line-height:1.4}.goalbar-input::placeholder{color:var(--text-dim)}.goalbar-btn{white-space:nowrap;background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;gap:5px;padding:5px 12px;font-size:12px;line-height:1.4;display:inline-flex}.goalbar-btn:disabled{opacity:.45;cursor:default}.goalbar-btn.wizard{background:var(--amber)}.goalbar-btn.action.plan{background:var(--accent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 70%, transparent)}.goalbar-btn.mode{background:var(--bg-elev2);color:var(--text-dim);border:1px solid var(--border)}.goalbar-btn.mode.active{background:var(--accent-soft);color:var(--text);border-color:var(--accent)}.goalbar-stale{color:var(--amber);overflow-wrap:anywhere;word-break:break-word;min-width:0;max-width:100%;font-size:11px;line-height:1.4}.goalbar-active.wizard{border-color:var(--amber)}.msg-goal-wizard.msg-custom{border-left:3px solid var(--amber)}.goalbar-icon-btn{color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;padding:4px;font-size:15px;line-height:1;display:inline-flex}.goalbar-icon-btn:hover{color:var(--text);background:var(--bg-elev2)}.goalbar-opts{min-width:0;color:var(--text-dim);flex-wrap:wrap;align-items:center;gap:6px 14px;font-size:12px;display:flex}.goalbar-opts>.slot-toolbar{flex:none}.goalbar-dsh-note{color:var(--text-dim);margin:0;font-size:12px}.goalbar-opts>.dropdown{flex:none;min-width:0;max-width:100%}.goalbar-opts>.dropdown>.chip{text-align:left;min-width:0;max-width:100%}.goalbar-opt{cursor:pointer;border-radius:6px;align-items:center;column-gap:4px;min-width:0;max-width:100%;padding:3px 6px;line-height:1.3;display:inline-flex;overflow:hidden}.goalbar-opt-label{white-space:nowrap;flex:none}.goalbar-opt:hover{background:var(--bg-elev2)}.goalbar-opt b{color:var(--text);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:600;overflow:hidden}.goalbar-round{color:var(--text-dim);white-space:nowrap;align-items:center;gap:6px;min-width:0;max-width:100%;font-size:12px;line-height:1.3;display:inline-flex;overflow:hidden}.goalbar-round>span{text-overflow:ellipsis;white-space:nowrap;flex:0 auto;min-width:0;overflow:hidden}.goalbar-round input{width:54px;color:var(--text);background:var(--bg-elev2);border:1px solid var(--border);text-align:center;border-radius:6px;outline:none;padding:3px 6px;font-size:12px}.goalbar-round input:focus{border-color:var(--accent)}.goalbar-round input::placeholder{color:var(--text-faint)}.goalbar-lock-hint{color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;align-items:center;min-width:0;max-width:100%;line-height:1.3;display:inline-flex;overflow:hidden}.goalbar-active{border-color:var(--amber)}.goalbar-active.reviewing{border-color:var(--green)}.goalbar-active-row{flex-wrap:wrap;align-items:center;gap:10px;min-width:0;max-width:100%;font-size:13px;display:flex}.goalbar-text{-webkit-line-clamp:2;color:var(--text);-webkit-box-orient:vertical;flex:1;min-width:0;display:-webkit-box;overflow:hidden}.goalbar-chip{background:var(--bg-elev2);color:var(--text-dim);white-space:nowrap;text-overflow:ellipsis;border-radius:10px;flex-shrink:0;max-width:100%;padding:2px 8px;font-size:11px;overflow:hidden}.goalbar-chip.reviewing,.goalbar-chip.pass{background:var(--green);color:#fff}.goalbar-chip.fail{background:var(--red);color:#fff}.goalbar-chip.blocked{background:var(--amber);color:#fff}.goalbar-detail{color:var(--text-dim);white-space:nowrap;text-overflow:ellipsis;flex-shrink:0;max-width:30%;font-size:12px;overflow:hidden}.goalbar-x{color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;padding:4px;display:inline-flex}.goalbar-x:disabled{opacity:.4;cursor:default}.goalbar-x.stopping{color:var(--red)}.goalbar-x.stopping:hover{background:var(--red-soft);border-radius:6px}.goalbar-x:hover:not(:disabled){color:var(--red);background:var(--bg-elev2)}.goalbar-slot{flex:none;min-height:0}.goalbar-slot:has(.goalbar-collapsed){position:relative}.goalbar-collapsed{margin:0 var(--chat-inset) 4px;pointer-events:none;justify-content:center;align-items:center;gap:6px;min-width:0;max-width:100%;display:flex;position:absolute;bottom:100%;left:0;right:0;overflow:hidden}.goalbar-collapsed>*{pointer-events:auto}.main:has(.dialog-inline) .goalbar-collapsed{margin:0 var(--chat-inset) 6px;pointer-events:auto;position:static}.main:has(.plan-board) .goalbar-collapsed{margin:0 var(--chat-inset) 6px;pointer-events:auto;position:static}.goalbar.goalbar-collapsed{box-shadow:none!important;-webkit-backdrop-filter:none!important;background:0 0!important;border:0!important;border-radius:0!important;padding:0!important}.goalbar-hint{color:var(--text-dim);cursor:pointer;border:none;border:1px dashed var(--border);background:var(--chip-bg,var(--bg-elev2));border-radius:999px;align-items:center;gap:7px;min-width:0;max-width:100%;padding:4px 10px;font-size:12px;transition:border-color .15s,color .15s;display:inline-flex}.goalbar-hint svg{color:var(--amber)}.goalbar-hint:hover{color:var(--text);border-color:var(--amber);border-style:solid}.goalbar-hint span{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.msg-goal-review{border-left:3px solid var(--amber)}.msg-goal-review.msg-custom{background:0 0}@media (max-width:768px){.goalbar{gap:4px;padding:4px 6px}.goalbar-input{flex:calc(100% - 30px);padding:1px 2px;font-size:12.5px;line-height:1.25}.goalbar-row{gap:4px}.goalbar-row>.goalbar-btn{flex:auto}.goalbar-opts{gap:4px 6px}.goalbar-opts>.dropdown{flex:1 1 0}.goalbar-opts>.dropdown>.chip{min-height:33px;padding:2px 6px}.goalbar-opt{flex-direction:column;justify-content:center;align-items:stretch;gap:0;padding:0;line-height:1.2}.goalbar-opt-label{color:var(--text-faint);font-size:10px}.goalbar-round{border:1px solid var(--border);background:var(--chip-bg,var(--bg-elev2));white-space:normal;border-radius:9px;flex-direction:column;flex:0 0 68px;justify-content:center;align-items:stretch;gap:0;width:68px;height:33px;padding:2px 4px}.goalbar-round:focus-within{border-color:var(--accent)}.goalbar-round>span{color:var(--text-faint);text-align:center;font-size:10px;line-height:1.2}.goalbar-round input{background:0 0;border:none;width:100%;min-width:0;height:19px;padding:0}.goalbar-lock-hint{flex:100%;font-size:11px;line-height:1.2}.goalbar-active-row{flex-wrap:wrap;row-gap:6px}.goalbar-active-row .goalbar-icon{order:0}.goalbar-active-row .goalbar-text{-webkit-line-clamp:3;flex:calc(100% - 84px);order:1;max-width:calc(100% - 84px)}.goalbar-active-row .goalbar-x{order:2}.goalbar-active-row .goalbar-chip{order:3}.goalbar-active-row .goalbar-detail{flex:60%;order:4;max-width:100%}.goalbar-stale{flex:100%;order:5}}.inputbar{padding:12px var(--chat-inset) 14px;flex-shrink:0;position:relative}.queue-hint{color:var(--amber);gap:14px;margin:0 0 8px;font-size:12px;display:flex}.inputbox{background:var(--inputbox-bg,var(--bg-elev2));border:1px solid var(--border);width:100%;box-shadow:inset 0 1px 0 var(--glow-05), 0 4px 18px #00000047;border-radius:16px;flex-direction:column;gap:8px;padding:10px;transition:border-color .2s,box-shadow .2s;display:flex;position:relative}.composer-resize{cursor:ns-resize;touch-action:none;opacity:0;z-index:1;justify-content:center;align-items:center;height:14px;transition:opacity .15s;display:flex;position:absolute;top:-7px;left:16px;right:16px}.composer-resize:after{content:"";background:var(--border);border-radius:2px;width:48px;height:4px}.inputbox:hover .composer-resize,.composer-resize:active{opacity:1}.composer-resize:active:after{background:var(--accent)}.composer-tools{border-top:1px solid var(--border-soft);justify-content:space-between;align-items:center;gap:6px;padding-top:6px;display:flex}.composer-tools-left{flex-wrap:wrap;align-items:center;gap:6px;min-width:0;display:flex}.composer-tools-center{align-items:center;gap:4px;min-width:0;display:flex}.composer-tools .chip,.composer-tools-left>.dropdown{flex-shrink:1;min-width:0}.composer-tools .chip>svg{flex-shrink:0}.composer-tools .chip{border-radius:8px;gap:6px;padding:4px 10px;font-size:13px}.composer-tools .chip-sub{font-size:12px}.composer-tools .chip>span.chip-model,.composer-tools .chip>span.chip-sub{text-overflow:ellipsis;white-space:nowrap;flex:0 auto;min-width:0;overflow:hidden}.composer-tools-right{z-index:100;flex-shrink:0;align-items:center;display:flex;position:relative}.inputbox:focus-within{border-color:color-mix(in srgb, var(--accent) 55%, var(--border));box-shadow:inset 0 1px 0 var(--glow-05), 0 0 0 3px var(--accent-soft), 0 6px 22px #00000052}.inputbox textarea{resize:none;color:var(--text);font-family:var(--sans);max-height:220px;caret-color:var(--accent);background:0 0;border:none;outline:none;flex:none;padding:6px 2px;font-size:14.5px;line-height:1.6;overflow:hidden}.inputbox textarea::placeholder{color:var(--text-faint)}.inputbox textarea:disabled{opacity:.6}.inputbox-actions{flex-shrink:0;align-items:center;gap:6px;padding-bottom:2px;display:flex}.btn{border:1px solid var(--border);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:7px 12px;font-size:13px;transition:all .15s;display:inline-flex}.btn:disabled{opacity:.4;cursor:default}.inputbox .btn{border:1px solid var(--border);width:30px;height:30px;color:var(--text-dim);cursor:pointer;background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background .18s,color .18s,border-color .18s,transform .18s,box-shadow .18s,filter .18s;display:inline-flex}.inputbox .btn svg{width:15px;height:15px}.inputbox .btn:disabled{opacity:.4;cursor:default}.inputbox .btn.attach-img,.inputbox .btn.tpl-open{color:var(--text-faint);border:none}.inputbox .btn.attach-img:hover:not(:disabled),.inputbox .btn.tpl-open:hover{background:var(--accent-soft);color:var(--accent)}.inputbox .btn.send{background:var(--send-blue);border-color:var(--send-blue);color:#fff;box-shadow:0 2px 10px #3b82f659}.inputbox .btn.send:hover:not(:disabled){background:var(--send-blue-hover);border-color:var(--send-blue-hover);transform:translateY(-1px);box-shadow:0 4px 16px #3b82f673}.inputbox .btn.stop{background:var(--stop-red);border-color:var(--stop-red);color:#fff;animation:2s cubic-bezier(.4,0,.6,1) infinite stop-pulse;box-shadow:0 2px 10px #ef444466}.inputbox .btn.stop:hover:not(:disabled){background:var(--stop-red-hover);border-color:var(--stop-red-hover);transform:translateY(-1px);box-shadow:0 4px 16px #ef444499}@keyframes stop-pulse{0%,to{box-shadow:0 2px 10px #ef444466}50%{box-shadow:0 2px 18px #ef4444bf}}.inputbox .split-send{background:var(--send-blue);border:1px solid var(--send-blue);border-radius:999px;flex-shrink:0;align-items:stretch;width:62px;height:30px;transition:background .18s,border-color .18s,transform .18s,box-shadow .18s;display:inline-flex;overflow:hidden;box-shadow:0 2px 10px #3b82f659}.inputbox .split-send button{color:#fff;cursor:pointer;background:0 0;border:none;flex:50%;justify-content:center;align-items:center;min-width:0;padding:0;transition:background .15s;display:inline-flex}.inputbox .split-send button svg{width:15px;height:15px}.inputbox .split-send .split-queue{background:#ffffff24}.inputbox .split-send.single{width:30px}.inputbox .split-send button+button{border-left:1px solid #ffffff57}.inputbox .split-send:hover{background:var(--send-blue-hover);border-color:var(--send-blue-hover);transform:translateY(-1px);box-shadow:0 4px 16px #3b82f673}.inputbox .split-send button:hover:not(:disabled){background:#ffffff38}.inputbox .split-send.disabled,.inputbox .split-send.disabled:hover{background:color-mix(in srgb, var(--send-blue) 42%, var(--bg-elev2));border-color:color-mix(in srgb, var(--send-blue) 42%, var(--bg-elev2));box-shadow:none;transform:none}.inputbox .split-send button:disabled{opacity:.45;cursor:default}.slash-menu{bottom:calc(100% - 4px);left:var(--chat-inset);right:var(--chat-inset);background:var(--bg-elev2);border:1px solid var(--border);z-index:60;border-radius:14px;max-height:min(320px,50vh);padding:6px;position:absolute;overflow-y:auto;box-shadow:0 -6px 24px #00000059,0 2px 12px #00000040}.slash-menu-hint{color:var(--text-faint);border-bottom:1px dashed var(--border);justify-content:space-between;align-items:center;margin-bottom:6px;padding:4px 10px 8px;font-size:11.5px;display:flex}.slash-menu-close{cursor:pointer;opacity:.7}.slash-menu-close:hover{opacity:1}.slash-item{width:100%;color:var(--text);font-family:var(--sans);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:9px;align-items:baseline;gap:10px;padding:7px 10px;font-size:13.5px;display:flex}.slash-item.active{background:var(--accent-soft)}.slash-name{font-family:var(--mono);color:var(--accent);white-space:nowrap;font-size:12.5px}.slash-desc{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-dim);flex:1;font-size:12.5px;overflow:hidden}.slash-hint{color:var(--text-faint);font-family:var(--mono);margin-left:6px;font-size:11.5px}.slash-source{border:1px solid var(--border);color:var(--text-faint);white-space:nowrap;border-radius:999px;flex-shrink:0;padding:1px 7px;font-size:10.5px}.slash-source.builtin{color:var(--green);border-color:color-mix(in srgb, var(--green) 45%, transparent)}.slash-source.extension{color:var(--amber);border-color:color-mix(in srgb, var(--amber) 45%, transparent)}.slash-source.prompt{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 45%, transparent)}.slash-source.skill{color:var(--skill-blue);border-color:color-mix(in srgb, var(--skill-blue) 45%, transparent)}.slash-source.plugin{color:var(--plugin-purple);border-color:color-mix(in srgb, var(--plugin-purple) 45%, transparent)}.slash-help{background:var(--bg-elev2);border:1px solid var(--border);border-radius:16px;flex-direction:column;width:100%;max-width:860px;max-height:min(560px,80vh);display:flex;overflow:hidden;box-shadow:0 18px 60px #00000080}.slash-help-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 18px;font-size:15px;font-weight:600;display:flex}.slash-help-body{padding:8px 12px 14px;overflow-y:auto}.slash-help-row{border-radius:8px;align-items:baseline;gap:10px;padding:7px 8px;display:flex}.slash-help-row:hover{background:var(--bg-elev)}.slash-help-cmd{font-family:var(--mono);color:var(--accent);white-space:nowrap;font-size:12.5px}.slash-help-desc{color:var(--text-dim);flex:1;font-size:13px}.slash-help-empty{text-align:center;color:var(--text-faint);padding:24px}*{scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) transparent}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{background:var(--scroll-thumb);border:none;border-radius:6px}::-webkit-scrollbar-thumb:hover{background:var(--scroll-thumb-hover)}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-corner{background:0 0}@media (max-width:640px){.chip-model{max-width:120px}.brand-name{display:none}}.dialog-inline{width:auto;margin:0 var(--chat-inset) 8px;border:1px solid var(--accent);border-left:3px solid var(--accent);border-radius:10px;flex-direction:column;gap:8px;max-height:45vh;padding:10px 12px;animation:.18s ease-out dialog-slide-up;display:flex;overflow-y:auto;box-shadow:0 8px 24px #00000059}@keyframes dialog-slide-up{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.dialog-head{align-items:center;gap:8px;min-width:0;display:flex}.dialog-badge{color:var(--accent);border:1px solid var(--accent);white-space:nowrap;border-radius:999px;flex-shrink:0;padding:1px 8px;font-size:11px;font-weight:700}.question-conv-title{min-width:0;color:var(--text-dim);background:var(--bg-elev);border:1px solid var(--border);text-overflow:ellipsis;white-space:nowrap;border-radius:6px;flex-shrink:1;max-width:240px;padding:1px 7px;font-size:11px;font-weight:600;overflow:hidden}.question-timer{color:var(--text-dim);font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0;font-size:11px}.question-progress{color:var(--text-dim);font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0;font-size:11px;font-weight:700}.dialog-title{color:var(--text);white-space:pre-wrap;word-break:break-word;flex:1;font-size:13px;font-weight:700}.dialog-dismiss{color:var(--text-faint);cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;margin-left:auto;padding:4px 6px;font-size:13px;line-height:1}.dialog-dismiss:hover{color:var(--text);background:var(--bg-elev)}.dialog-options{flex-direction:column;gap:8px;display:flex}.dialog-custom-row{gap:8px;margin-top:4px;display:flex}.dialog-custom-row .dialog-input{flex:1;padding:7px 10px;font-size:13px}.dialog-custom-row .btn{padding:6px 14px;font-size:13px}.dialog-option{text-align:left;border:1px solid var(--border);background:var(--bg-elev);width:100%;color:var(--text);cursor:pointer;white-space:pre-wrap;word-break:break-word;border-radius:8px;padding:9px 12px;font-size:13px;line-height:1.5;transition:border-color .12s,background .12s;display:block}.dialog-option:hover,.dialog-option.sel{border-color:var(--accent);background:var(--accent-soft)}.dialog-hint{color:var(--text-faint);font-size:13px}.dialog-body{color:var(--text-dim);white-space:pre-wrap;word-break:break-word;font-size:13px}.dialog-body p{margin:0 0 8px}.dialog-option .md,.dialog-body .md{font-size:13px;line-height:1.5}.dialog-option .md p,.dialog-body .md p{margin:0}.dialog-option .md :not(pre)>code,.dialog-body .md :not(pre)>code{border:1px solid var(--border-soft);color:var(--link-soft);background:#8b5cf61a;border-radius:5px;padding:.12em .34em;font-size:.88em}.dialog-input{border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text);font-family:var(--sans);border-radius:8px;outline:none;padding:9px 12px;font-size:14px}.dialog-input:focus{border-color:var(--accent)}.dialog-actions{justify-content:flex-end;gap:8px;display:flex}.dialog-submit{border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;border-radius:8px;padding:6px 14px;font-size:13px}.dialog-submit:disabled{opacity:.45;cursor:default}.dialog-dismiss-inline{border:1px solid var(--border);color:var(--text-faint);cursor:pointer;background:0 0;border-radius:8px;padding:6px 12px;font-size:13px}.dialog-dismiss-inline:hover{color:var(--text);background:var(--bg-elev)}.dialog-nav{justify-content:space-between;align-items:center;gap:8px;display:flex}.dialog-nav-right{align-items:center;gap:8px;display:flex}.dialog-prev{border:1px solid var(--border);color:var(--text);cursor:pointer;background:0 0;border-radius:8px;padding:6px 12px;font-size:13px}.dialog-prev:hover:not(:disabled){background:var(--bg-elev)}.dialog-prev:disabled{opacity:.45;cursor:default}.question-option{cursor:pointer;text-align:left;overflow-wrap:anywhere;flex-direction:column;flex:0 auto;align-items:stretch;gap:2px;min-width:0;max-width:100%;padding:4px 10px;display:flex}.question-option:hover{background:color-mix(in srgb, var(--accent) 7%, var(--bg-elev2))}.question-option.active{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, var(--bg-elev2))}.question-custom{margin-top:4px}.dialog-inline .set-list{flex-direction:column;gap:6px;max-height:none;display:flex;overflow-y:visible}.dialog-inline .set-section{gap:6px;min-width:0;padding:8px 10px}.dialog-inline .set-prompt-input.question-custom{resize:vertical;height:auto;min-height:32px;max-height:110px;padding:6px 10px;line-height:1.45}.dialog-inline .dialog-nav{z-index:2;background:var(--bg-elev2);border-top:1px solid var(--border-soft);margin-top:2px;padding-top:6px;position:sticky;bottom:0}.dialog-inline .question-head,.dialog-inline .question-head .md{color:var(--text);font-size:13px;font-weight:600}.question-mark{width:1.5em;color:var(--accent);-webkit-user-select:none;user-select:none;flex:none;font-size:12px;line-height:1.5;display:inline-block}.question-option .set-row-name{min-width:0;max-width:100%;color:var(--text);white-space:normal;overflow-wrap:anywhere;word-break:break-word;flex:auto;align-items:flex-start;gap:6px;font-weight:600;line-height:1.3;display:flex;overflow:visible}.question-option .set-row-name .md{overflow-wrap:anywhere;word-break:break-word;flex:auto;min-width:0;max-width:100%}.question-option .set-row-desc{white-space:normal;text-overflow:clip;text-align:left;font-size:12px;line-height:1.4;overflow:visible}@media (hover:hover) and (pointer:fine){.dialog-inline .set-list{flex-flow:wrap}.question-option .set-row-desc{display:none}}.dialog-inline .md{overflow-wrap:anywhere;min-width:0;max-width:100%;font-size:13px;line-height:1.55}.dialog-inline .md table,.dialog-inline .md pre,.dialog-inline .md .codeblock{max-width:100%;overflow-x:auto}.dialog-inline .md p,.dialog-inline .md ul,.dialog-inline .md ol,.dialog-inline .md blockquote,.dialog-inline .md table,.dialog-inline .md .codeblock{margin:.45em 0}.dialog-inline .md>:first-child{margin-top:0}.dialog-inline .md>:last-child{margin-bottom:0}.dialog-inline .md ul,.dialog-inline .md ol{padding-left:1.5em}.dialog-inline .md li{margin:.15em 0}.dialog-inline .md :not(pre)>code{border:1px solid var(--border-soft);color:var(--link-soft);word-break:break-word;background:#8b5cf61a;border-radius:5px;padding:.12em .34em;font-size:.88em}.dialog-inline .md strong,.dialog-inline .md b{color:var(--text);font-weight:720}.dialog-inline .md a{color:var(--link);text-underline-offset:3px;text-decoration:underline}.question-preview{border:1px solid var(--border);border-left:3px solid var(--accent);background:var(--card-bg,var(--bg-elev));border-radius:8px;margin-top:6px;padding:10px 12px}.question-preview-label{color:var(--accent);letter-spacing:.06em;margin-bottom:6px;font-size:11px;font-weight:700}.question-preview-body{max-height:180px;overflow-y:auto}.question-preview-body+.question-preview-body{border-top:1px dashed var(--border-soft);margin-top:10px;padding-top:10px}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary:hover:not(:disabled){filter:brightness(1.12)}.browser-control.attention{color:#fbbf24;border-color:#f59e0b}.browser-control.attention:after{content:"";background:#f59e0b;border-radius:50%;width:6px;height:6px;margin-left:5px}.bc-anchor{align-items:center;display:inline-flex;position:relative}.browser-control-split{align-items:center;display:inline-flex}.browser-control-split .browser-control.single{border-top-right-radius:0;border-bottom-right-radius:0}.browser-control.caret{border-top-left-radius:0;border-bottom-left-radius:0;margin-left:-1px;padding:0 5px}.bc-chip-label{text-overflow:ellipsis;white-space:nowrap;max-width:160px;overflow:hidden}.bc-flash{z-index:60;white-space:nowrap;border:1px solid var(--border);background:var(--bg-elev,#1b1d24);color:var(--text);border-radius:7px;padding:5px 9px;font-size:12px;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 6px 18px #00000059}.browser-control-modal .bc-cite{background:var(--accent-soft);color:var(--text);cursor:pointer;border:1px solid #8b5cf673;border-radius:6px;flex-shrink:0;margin-left:8px;padding:3px 9px;font-size:11.5px}.browser-control-modal .bc-cite:hover{filter:brightness(1.15)}.browser-control-modal{width:min(560px,92vw)}.browser-control-modal .bc-note{color:var(--text-dim,#cbd5e1);background:#94a3b81f;border-radius:7px;margin:10px 0;padding:8px 11px;font-size:13px;line-height:1.6}.browser-control-modal .bc-note.warn{color:#fbbf24;background:#f59e0b21}.browser-control-modal .bc-section{color:var(--text-dim,#94a3b8);margin:14px 0 6px;font-size:12px}.browser-control-modal .bc-pages,.browser-control-modal .bc-examples{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.browser-control-modal .bc-pages li{border:1px solid #94a3b838;border-radius:7px;align-items:center;gap:8px;padding:7px 10px;font-size:13px;display:flex}.browser-control-modal .bc-title{text-overflow:ellipsis;white-space:nowrap;max-width:32%;font-weight:600;overflow:hidden}.browser-control-modal .bc-origin{min-width:0;color:var(--text-dim,#94a3b8);text-overflow:ellipsis;white-space:nowrap;flex:1;font-family:ui-monospace,Consolas,monospace;font-size:12px;overflow:hidden}.browser-control-modal .bc-open{color:var(--text-dim,#94a3b8);white-space:nowrap;margin-left:auto;font-size:12px}.browser-control-modal .bc-open.on{color:#4ade80}.browser-control-modal .bc-examples li{color:var(--text-dim,#cbd5e1);padding-left:14px;font-size:13px;position:relative}.browser-control-modal .bc-examples li:before{content:"›";color:#6366f1;position:absolute;left:2px}.browser-control-modal .bc-steps{color:var(--text-dim,#cbd5e1);flex-direction:column;gap:6px;margin:8px 0 0;padding-left:20px;font-size:13px;line-height:1.6;display:flex}.browser-control-modal .bc-actions a.btn{text-decoration:none}.browser-control-modal .bc-actions{gap:8px;margin-top:16px;display:flex}.modal-backdrop{z-index:300;overscroll-behavior:contain;background:#040508b8;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal{overscroll-behavior:contain;background:var(--bg-elev2);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:14px;width:100%;max-width:460px;max-height:84vh;padding:6px;display:flex;position:relative;overflow-y:auto;transform:translateZ(0);box-shadow:0 24px 64px #0000008c}.model-modal{flex-direction:column;gap:0;max-width:640px;height:min(82vh,760px);max-height:86vh;padding:0;display:flex;overflow:hidden}.model-modal .modal-head{border-bottom:1px solid var(--border-soft);flex-shrink:0;padding:20px 22px 12px}.tpl-modal-backdrop{z-index:301}.perm-modal-backdrop{z-index:350;justify-content:center;align-items:center;padding:24px;display:flex}.perm-dialog-card{background:var(--bg-elev2);border:1px solid var(--accent);border-left:4px solid var(--accent);width:min(520px,100vw - 32px);max-width:520px;margin:0;box-shadow:0 24px 64px #000000a6}.active-plugin-jobs-bar{z-index:250;background:var(--bg-elev2);border:1px solid var(--accent);cursor:pointer;color:var(--text);border-radius:8px;align-items:center;gap:8px;padding:8px 14px;font-size:13px;animation:.18s ease-out dialog-slide-up;display:flex;position:fixed;top:52px;right:16px;box-shadow:0 8px 24px #00000059}.active-plugin-jobs-bar:hover{background:var(--bg-elev);border-color:var(--link)}.active-plugin-jobs-title{white-space:nowrap;font-weight:500}.active-plugin-jobs-line{color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;max-width:260px;font-size:12px;overflow:hidden}.tpl-modal{gap:0;max-width:640px;height:min(82vh,720px);max-height:86vh;padding:0;overflow:hidden}.tpl-modal .modal-head{border-bottom:1px solid var(--border-soft);flex-shrink:0;padding:20px 22px 12px}.tpl-modal .modal-body{flex-direction:column;flex:auto;gap:10px;min-height:0;padding:14px 22px;display:flex;overflow-y:auto}.tpl-modal .modal-actions{flex-shrink:0;padding:0 22px 20px}.tpl-modal .tpl-fields,.tpl-modal .set-mode-row,.tpl-modal .tpl-pick-block{background:var(--bg-elev);border:1px solid var(--border-soft);border-radius:14px;padding:12px 14px}.tpl-modal .set-mode-row{min-height:44px;padding:10px 14px}.tpl-modal .tpl-pick-head{color:var(--text);border-bottom:1px solid var(--border-soft);margin-bottom:8px;padding-bottom:8px;font-size:13px;font-weight:600}.modal.plugin-modal{gap:0;max-width:720px;height:min(80vh,700px);max-height:86vh;padding:0;overflow:hidden}.plugin-modal .modal-head{flex-shrink:0;padding:16px 20px 12px;font-size:15px;font-weight:600}.plugin-modal-body{flex:1;min-height:0;padding:0 20px 20px;overflow:auto}.plugin-modal-body .plugin-view{min-height:120px}.plugin-modal-loading{text-align:center;color:var(--text-faint);padding:32px 0}.plugin-modal-action{width:100%;margin-top:4px}.plugin-modal-divider{border:0;border-top:1px solid var(--border-soft);margin:8px 0}.modal.plugin-file-preview{gap:0;width:min(1100px,100vw - 32px);height:min(780px,100vh - 32px);max-height:92vh;padding:0;overflow:hidden}.plugin-file-preview-body{flex-direction:column;height:100%;min-height:0;padding:0 20px 20px;display:flex}.plugin-file-preview-file{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;flex:none;padding:0 0 8px;font-size:12px;overflow:hidden}.plugin-file-preview-host{flex:auto;min-height:0;overflow:auto}.plugin-file-preview-error{color:var(--red);padding:12px}.model-modal>.modal-close{flex-shrink:0}.model-modal-fixed-hint{border-bottom:1px solid var(--border-soft);flex-shrink:0;padding:10px 22px 8px}.model-modal-body{flex-direction:column;flex:auto;gap:12px;min-width:0;min-height:0;padding:14px 22px;display:flex;overflow-y:auto}.model-modal .modal-actions{border-top:1px solid var(--border-soft);background:var(--bg-elev2);flex-shrink:0;margin-top:0;padding:12px 22px 16px}.settings-modal{max-width:940px;height:min(82vh,800px);overflow-y:hidden}.settings-modal .modal-head,.settings-modal .modal-actions,.settings-modal>.modal-close{flex-shrink:0}.settings-modal .modal-body{flex-direction:column;flex:auto;gap:14px;min-width:0;min-height:0;display:flex;overflow-y:auto}.settings-layout{flex:auto;gap:12px;min-height:0;margin-top:2px;display:flex}.settings-rail{flex-direction:column;flex:none;gap:2px;width:200px;padding:2px;display:flex;overflow-y:auto}.settings-tab{width:100%;color:var(--text-dim);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:10px;align-items:center;gap:10px;min-height:38px;padding:5px 10px 5px 5px;font-size:13px;transition:background .15s,color .15s;display:flex}.settings-tab:hover{background:var(--bg-elev);color:var(--text)}.settings-tab.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.settings-tab-icon{width:26px;height:26px;color:var(--tile,var(--accent));background:var(--accent-soft);background:color-mix(in srgb, var(--tile,var(--accent)) 16%, transparent);border-radius:8px;flex:none;justify-content:center;align-items:center;font-size:13px;display:inline-flex}.settings-tab[data-tab=prompt]{--tile:#5b9dff}.settings-tab[data-tab=prompt-history]{--tile:#94a3b8}.settings-tab[data-tab=scheduler]{--tile:#fb923c}.settings-tab[data-tab=tools]{--tile:#a78bfa}.settings-tab[data-tab=question]{--tile:#34c759}.settings-tab[data-tab=display]{--tile:#2dd4bf}.settings-tab[data-tab=quick]{--tile:#f472b6}.settings-tab[data-tab=skills]{--tile:#e879f9}.settings-tab[data-tab=extensions]{--tile:#818cf8}.settings-tab[data-tab=plugins]{--tile:#38bdf8}.settings-tab[data-tab=layout]{--tile:#94a3b8}.settings-tab[data-tab=review]{--tile:#facc15}.settings-tab[data-tab=vision]{--tile:#22d3ee}.settings-tab[data-tab=presets]{--tile:#fb923c}.settings-tab[data-tab=subagent-templates]{--tile:#4ade80}.settings-tab[data-tab^=plugin-page\:]{--tile:#94a3b8}.settings-tab-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.settings-tab .set-count{flex:none;margin-left:auto}.set-subtabs{flex:none;gap:6px;display:flex}.set-subtab{border:1px solid var(--border-soft);background:var(--bg-elev);color:var(--text-dim);cursor:pointer;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:8px;padding:8px 10px;font-size:13px;display:flex}.set-subtab:hover{color:var(--text)}.set-subtab.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent);font-weight:600}.set-subtab .set-count{margin-left:0}.settings-modal .modal-head{border-bottom:1px solid var(--border-soft);padding-bottom:12px}.settings-modal .modal-body{gap:12px;padding-bottom:4px}.settings-modal .set-section{background:var(--bg-elev);border:1px solid var(--border-soft);border-radius:14px;padding:12px 16px 10px}.settings-modal .set-section-title{border-bottom:1px solid var(--border-soft);margin-bottom:2px;padding-bottom:10px;font-size:13.5px}.settings-modal .set-list,.settings-modal .set-list-flat{gap:0}.settings-modal .set-row,.settings-modal .set-catalog-row,.settings-modal .set-grant-row{background:0 0;border:none;flex-shrink:0;min-height:40px;padding:10px 2px;position:relative}.settings-modal .set-catalog-row+.set-catalog-row{margin-top:0}.settings-modal .set-list>.set-row:not(:last-child):after,.settings-modal .set-list>.set-catalog-row:not(:last-child):after,.settings-modal .set-list>.set-grant-row:not(:last-child):after,.settings-modal .set-section>.set-row:not(:last-child):after,.settings-modal .set-section>.set-catalog-row:not(:last-child):after,.settings-modal .set-section>.set-grant-row:not(:last-child):after{content:"";border-bottom:1px solid var(--border-soft);position:absolute;bottom:0;left:2px;right:2px}.settings-modal .set-ui-slot{border-top-style:solid}.settings-modal .override-row{background:var(--bg-elev2);border:none;border-radius:12px;margin-top:8px;padding:10px 12px}.settings-modal .override-row .set-prompt-input{background:var(--bg-elev)}.settings-modal .set-catalog-add{background:var(--bg-elev2);border:none;border-radius:12px;margin-bottom:0;padding:12px 14px}.settings-modal .set-catalog-add .set-input{background:var(--bg-elev)}.settings-modal .set-subtabs{background:var(--bg-elev2);border-radius:12px;gap:3px;padding:3px}.settings-modal .set-subtab{background:0 0;border:none;border-radius:9px;min-height:36px}.settings-modal .set-subtab.active{background:var(--bg-elev);color:var(--text);border:none;box-shadow:0 1px 4px #00000059}@media (max-width:640px){.settings-modal{height:92vh;max-height:94vh}.settings-layout{flex-direction:column;gap:8px;min-width:0}.settings-layout>*{min-width:0}.settings-rail{scrollbar-width:none;-webkit-overflow-scrolling:touch;flex-direction:row;flex:none;align-items:stretch;gap:6px;width:auto;padding:2px 2px 6px;overflow:auto hidden}.settings-rail::-webkit-scrollbar{display:none}.settings-tab{border:1px solid var(--border-soft);background:var(--bg-elev);white-space:nowrap;border-radius:999px;flex:none;gap:8px;width:auto;min-height:40px;padding:5px 12px 5px 5px}.settings-tab.active{border-color:var(--accent)}.settings-tab-icon{border-radius:8px;width:24px;height:24px;font-size:12px}.settings-tab .set-count{margin-left:2px}.settings-modal .set-section{border-radius:12px;padding:10px 12px 8px}.settings-modal .set-row-actions{max-width:none}.settings-modal .set-field-row>.set-input,.settings-modal .set-field-row>.set-select{width:110px}.settings-modal .set-mode-row>.set-select{width:150px}.settings-modal .set-row,.settings-modal .set-catalog-row,.settings-modal .set-grant-row{padding:12px 4px}.settings-modal .set-switch{width:44px;height:26px}.settings-modal .set-switch-knob{width:22px;height:22px}.settings-modal .set-switch.on .set-switch-knob{left:20px}.token-chip,.set-btn-mini{min-height:32px;font-size:12px}.settings-modal .set-input,.settings-modal .set-prompt-input,.settings-modal input[type=text],.settings-modal textarea{font-size:16px}}.set-section{background:var(--bg-elev);border:1px solid var(--border-soft);border-radius:10px;flex-direction:column;gap:8px;padding:12px;display:flex}.set-section-title{color:var(--text);word-break:break-word;overflow-wrap:anywhere;align-items:center;gap:7px;min-width:0;font-size:13px;font-weight:600;display:flex}.set-section-icon{color:var(--accent);font-size:14px}.set-count{color:var(--text-dim);background:var(--bg-elev2);border:1px solid var(--border-soft);border-radius:999px;margin-left:auto;padding:1px 8px;font-size:11px;font-weight:500}.inv-dot{vertical-align:baseline;background:var(--text-dim);border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.inv-dot-active{background:var(--green)}.inv-dot-disabled,.inv-dot-idle{background:var(--text-dim)}.inv-dot-failed{background:var(--red)}.inv-strip{flex-wrap:wrap;gap:14px;display:flex}.inv-item{font-variant-numeric:tabular-nums;align-items:center;display:inline-flex}.set-mode-row{align-items:center;gap:12px;display:flex}.settings-modal .set-mode-row{justify-content:space-between;padding:8px 2px}.settings-modal .set-mode-row>.set-field-label{flex:1;min-width:0}.settings-modal .set-mode-row>.set-select{flex:none;width:190px;max-width:55%}.settings-modal .set-field-row>.set-row-name{flex:1;min-width:0}.settings-modal .set-field-row>.set-input,.settings-modal .set-field-row>.set-select{flex:none;width:130px;margin-left:auto}.settings-modal .set-section>.set-field-label{color:var(--text-dim);margin:14px 0 4px;font-size:12px;font-weight:700}.settings-modal .set-toolbar{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;margin:4px 0 6px;display:flex}.set-field-label{color:var(--text-dim);font-size:12px}.set-select{background:var(--bg-elev2);border:1px solid var(--border);max-width:160px;color:var(--text);border-radius:8px;outline:none;flex:1;padding:6px 8px;font-size:13px}.set-select:focus{border-color:var(--accent)}.set-prompt-input{box-sizing:border-box;resize:vertical;background:var(--bg-elev2);border:1px solid var(--border);width:100%;min-height:140px;color:var(--text);border-radius:8px;outline:none;padding:10px 12px;font-family:inherit;font-size:13px;line-height:1.6}.set-prompt-input:focus{border-color:var(--accent)}.compose-toolbar{flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px;display:flex}.set-muted{color:var(--muted,#9aa0a6);font-size:12px;font-weight:400}.token-chip{border:1px solid var(--border,#3a3f45);color:var(--fg,#ddd);font-family:var(--mono,ui-monospace, monospace);cursor:pointer;background:0 0;border-radius:999px;padding:2px 8px;font-size:11px}.token-chip:hover{border-color:var(--accent);color:var(--accent)}.override-row{border:1px solid var(--border,#3a3f45);border-radius:8px;margin-top:8px;padding:8px 10px}.override-row-head{flex-wrap:wrap;align-items:baseline;gap:8px;margin-bottom:4px;display:flex}.override-token{font-family:var(--mono,ui-monospace, monospace);color:var(--accent);white-space:nowrap;font-size:12px}.override-input{font-family:var(--mono,ui-monospace, monospace);font-size:12px}.set-btn{border:1px solid var(--border,#3a3f45);color:var(--fg,#ddd);cursor:pointer;background:0 0;border-radius:6px;padding:4px 10px;font-size:12px}.set-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.set-btn:disabled{opacity:.45;cursor:default}.set-btn-mini{border:1px solid var(--border,#3a3f45);color:var(--muted,#9aa0a6);cursor:pointer;background:0 0;border-radius:6px;margin-left:auto;padding:1px 8px;font-size:11px}.set-btn-mini:hover{border-color:var(--accent);color:var(--accent)}.source-default{border:1px dashed var(--border,#3a3f45);cursor:text;text-align:left;border-radius:6px;flex-direction:column;gap:4px;margin-top:4px;padding:6px 10px;display:flex}.source-default:hover{border-color:var(--accent)}.source-default-text{white-space:pre-wrap;word-break:break-word;font-family:var(--mono,ui-monospace, SFMono-Regular, Consolas, monospace);color:var(--muted,#9aa0a6);margin:0;font-size:12px;line-height:1.55}.source-default-text.clamped{max-height:7.7em;overflow:hidden;-webkit-mask-image:linear-gradient(#000 62%,#0000);mask-image:linear-gradient(#000 62%,#0000)}.source-default-text.expanded{max-height:300px;overflow:auto}.source-default-empty{color:var(--muted,#9aa0a6);font-size:12px;font-style:italic}.source-default-toggle{cursor:pointer;color:var(--accent);-webkit-user-select:none;user-select:none;border-radius:4px;align-self:flex-end;padding:1px 4px;font-size:11px}.source-default-toggle:hover{background:var(--bg-elev2)}.source-default.readonly{cursor:default;border-color:var(--border,#3a3f45)}.source-default.readonly:hover{border-color:var(--border,#3a3f45)}.source-default.readonly .source-default-text{color:var(--text-dim,#9aa0a6)}.override-row.readonly{opacity:.92}button.source-default-toggle{font:inherit;background:0 0;border:none;padding:2px 4px}.override-edit-foot{border-top:1px dashed var(--border,#3a3f45);flex-direction:column;gap:4px;margin-top:8px;padding-top:6px;display:flex}.override-edit-foot-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.override-seed-btn{border:1px dashed var(--border,#3a3f45);color:var(--accent);cursor:pointer;background:0 0;border-radius:6px;align-self:flex-start;padding:2px 8px;font-size:11px}.override-seed-btn:hover{border-color:var(--accent);background:var(--bg-elev2)}.set-prompt-view-triggers{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:8px;display:flex}.set-view-prompt-btn{color:var(--accent);cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:2px 0;font-size:12px}.set-view-prompt-btn:hover>span:first-child{text-decoration:underline}.set-prompt-token-est{color:var(--text-dim);margin-left:6px}.set-prompt-total-est{color:var(--text-dim);border-left:1px solid var(--border);padding-left:4px;font-size:12px}.set-prompt-view{border:1px solid var(--border);background:var(--bg-elev2);border-radius:8px;flex-direction:column;gap:6px;padding:8px 10px;display:flex}.set-prompt-view-head{color:var(--text-dim);justify-content:space-between;align-items:center;gap:8px;font-size:12px;display:flex}.set-prompt-view-text{white-space:pre-wrap;word-break:break-word;max-height:320px;font-size:12px;line-height:1.55;font-family:var(--mono,ui-monospace, monospace);color:var(--text);-webkit-user-select:text;user-select:text;margin:0;overflow:auto}.set-prompt-tools{border-top:1px dashed var(--border);flex-direction:column;gap:6px;margin-top:6px;padding-top:8px;display:flex}.set-sep{border:none;border-top:1px solid var(--border);margin:12px 0}.wallpaper-url-row{gap:8px;margin-top:8px;display:flex}.wallpaper-url-row .wallpaper-url{flex:1;min-width:0;margin-top:0}.wallpaper-url-row .set-save-btn{flex:none}.wallpaper-current{align-items:center;gap:10px;margin-top:8px;display:flex}.wallpaper-preview{object-fit:cover;border:1px solid var(--border);border-radius:6px;flex:none;width:64px;height:40px}.wallpaper-sliders{flex-direction:column;gap:6px;margin-top:10px;display:flex}.wallpaper-slider{color:var(--text-dim);align-items:center;gap:10px;font-size:12.5px;display:flex}.wallpaper-slider>span:first-child{flex:none;width:38px}.settings-modal .wallpaper-slider input[type=range]{appearance:none;background:var(--border);cursor:pointer;border-radius:999px;outline:none;flex:1;min-width:0;height:4px}.settings-modal .wallpaper-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--accent);cursor:pointer;border:none;border-radius:50%;width:14px;height:14px}.settings-modal .wallpaper-slider input[type=range]::-moz-range-thumb{background:var(--accent);cursor:pointer;border:none;border-radius:50%;width:14px;height:14px}.settings-modal .wallpaper-slider input[type=range]::-moz-range-track{background:var(--border);border-radius:999px;height:4px}.wallpaper-slider output{text-align:right;min-width:48px;font-family:var(--mono);color:var(--text-dim);font-variant-numeric:tabular-nums;flex:none;font-size:12px}.wallpaper-clear{border:1px solid var(--border);color:var(--text-dim);cursor:pointer;background:0 0;border-radius:6px;flex:none;padding:3px 10px;font-size:12px}.wallpaper-clear:hover{color:var(--text);border-color:var(--accent)}.set-hint{color:var(--text-dim);margin:0;font-size:12px;line-height:1.5}.set-tip{border:1px solid var(--border);width:15px;height:15px;color:var(--text-dim);cursor:help;-webkit-user-select:none;user-select:none;border-radius:50%;flex:none;justify-content:center;align-items:center;margin-left:6px;font-size:10px;line-height:1;display:inline-flex;position:relative}.set-tip:hover,.set-tip:focus-visible{color:var(--text);border-color:var(--text-dim);outline:none}.set-tip-bubble{background:var(--bg-elev2);border:1px solid var(--border);width:max-content;max-width:min(320px,72vw);color:var(--text);white-space:pre-line;overflow-wrap:anywhere;text-align:left;z-index:60;pointer-events:none;border-radius:8px;padding:8px 11px;font-size:12px;line-height:1.55;display:none;position:absolute;top:calc(100% + 8px);left:-8px;box-shadow:0 6px 22px #00000059}.set-tip:hover .set-tip-bubble,.set-tip:focus-visible .set-tip-bubble{display:block}.set-tip-bubble.open{z-index:9999;display:block}.set-tip-bubble.question-desc-tip{background:var(--tooltip-bg,var(--bg-elev2));pointer-events:auto;max-width:min(340px,78vw);max-height:min(60vh,340px);overflow-y:auto}.question-desc-tip .md{overflow-wrap:anywhere;min-width:0;font-size:12px;line-height:1.55}.question-desc-tip .md>:first-child{margin-top:0}.question-desc-tip .md>:last-child{margin-bottom:0}.question-desc-tip .md p,.question-desc-tip .md ul,.question-desc-tip .md ol,.question-desc-tip .md blockquote,.question-desc-tip .md table,.question-desc-tip .md .codeblock{margin:.45em 0}.question-desc-tip .md ul,.question-desc-tip .md ol{padding-left:1.5em}.question-desc-tip .md li{margin:.15em 0}.question-desc-tip .md table,.question-desc-tip .md pre,.question-desc-tip .md .codeblock{max-width:100%;overflow-x:auto}.set-tip-line{align-items:center;min-height:18px;display:flex}.set-list{flex-direction:column;gap:6px;max-height:260px;display:flex;overflow-y:auto}.set-list-flat,.settings-modal .set-list{max-height:none;overflow-y:visible}.set-row{background:var(--bg-elev2);border:1px solid var(--border-soft);border-radius:8px;flex-shrink:0;align-items:center;gap:10px;padding:7px 9px;display:flex}.set-row-info{flex:1;min-width:0}.set-row-name{color:var(--text);word-break:break-all;font-size:13px}.set-row-desc{color:var(--text-dim);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.set-uninstall{border:1px solid var(--border);color:var(--text-dim);cursor:pointer;background:0 0;border-radius:6px;flex:none;align-items:center;gap:4px;padding:3px 8px;font-size:11px;transition:color .15s,border-color .15s;display:inline-flex}.set-uninstall:hover{color:var(--red);border-color:var(--red)}.set-uninstall.confirm{color:var(--red);border-color:var(--red);font-weight:600}.set-uninstall.accent{color:var(--accent);border-color:var(--accent);background:#8b5cf61a;font-weight:600}.set-uninstall.accent:hover{color:var(--accent);border-color:var(--accent);filter:brightness(1.1)}.set-diag-row{flex-direction:column;align-items:stretch}.set-diag-toggle{border:1px solid var(--border);color:var(--text-dim);cursor:pointer;background:0 0;border-radius:6px;align-self:flex-start;align-items:center;gap:5px;padding:3px 8px;font-size:11px;display:inline-flex}.set-diag-toggle:hover{color:var(--text);border-color:var(--text-dim)}.set-diag-list{color:var(--text-dim);word-break:break-all;flex-direction:column;gap:3px;margin:2px 0 0;padding-left:18px;font-size:11px;display:flex}.set-log-row,.set-settings-row{flex-direction:column;align-items:stretch}.set-settings-row .plugin-settings-form{border:none;border-top:1px solid var(--border-soft);background:0 0;border-radius:0;margin:6px 0 0;padding:4px 0 0}.set-log-filter{flex-wrap:wrap;align-items:center;gap:4px;margin-top:4px;display:flex}.set-log-filter-label{color:var(--text-faint);margin-right:2px;font-size:11px}.set-log-filter-btn{border:1px solid var(--border);color:var(--text-dim);cursor:pointer;background:0 0;border-radius:6px;padding:2px 8px;font-size:11px}.set-log-filter-btn:hover{color:var(--text);border-color:var(--text-dim)}.set-log-filter-btn.on{color:var(--text);border-color:var(--accent);background:var(--accent-soft)}.set-log-clear{border:1px solid var(--border);color:var(--text-dim);cursor:pointer;background:0 0;border-radius:6px;align-items:center;gap:4px;margin-left:auto;padding:2px 8px;font-size:11px;display:inline-flex}.set-log-clear:hover{color:var(--red);border-color:var(--red)}.set-log-list{max-height:220px;padding-left:0;list-style:none;overflow-y:auto}.set-log-time{color:var(--text-faint)}.set-log-level{font-weight:600}.set-log-level.lv-debug{color:var(--text-faint)}.set-log-level.lv-info{color:var(--text-dim)}.set-log-level.lv-warn{color:var(--amber)}.set-log-level.lv-error{color:var(--red)}.set-log-text{color:var(--text-dim);word-break:break-all}.set-switch{background:var(--border);cursor:pointer;border:none;border-radius:999px;flex:none;width:36px;height:20px;padding:0;transition:background .15s;position:relative}.set-switch.on{background:var(--accent)}.set-switch-knob{background:var(--switch-knob);border-radius:50%;width:16px;height:16px;transition:left .15s;position:absolute;top:2px;left:2px}.set-switch.on .set-switch-knob{left:18px}.set-preset-save{align-items:center;gap:8px;width:100%;display:flex}.set-input{background:var(--bg-elev2);border:1px solid var(--border);min-width:0;color:var(--text);border-radius:8px;outline:none;flex:1;padding:9px 12px;font-size:13px}.set-save-btn{color:var(--accent);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #8b5cf666;border-radius:8px;flex:none;align-items:center;gap:6px;padding:9px 14px;font-size:13px;display:inline-flex}.set-save-btn:hover:not(:disabled){background:var(--bg-elev2)}.set-save-btn:disabled{opacity:.45;cursor:not-allowed}.set-input:focus{border-color:var(--accent)}.set-catalog-add{border:1px solid var(--border-soft);background:var(--bg-elev,#1c1e2466);border-radius:10px;flex-direction:column;gap:8px;margin-bottom:12px;padding:12px;display:flex}.set-catalog-add .set-input{flex:none;width:100%}.set-catalog-add textarea.set-input{resize:vertical;font-family:inherit}.set-catalog-add-actions{align-items:center;gap:8px;display:flex}.set-catalog-row{border:1px solid var(--border-soft);background:var(--bg-elev,#1c1e2466);border-radius:10px;justify-content:space-between;align-items:flex-start;gap:12px;padding:10px 12px;display:flex}.set-catalog-row+.set-catalog-row{margin-top:8px}.set-catalog-job{flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px;font-size:12px;line-height:1.5;display:flex}.set-catalog-job.running{color:var(--text-dim,#b9bcc4)}.set-catalog-job.ok{color:var(--green)}.set-catalog-job.error{color:var(--red)}.set-catalog-job-line{opacity:.75;text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.set-ui-diag{border:1px solid var(--border,#ffffff1f);background:#ffffff08;border-radius:8px;margin:4px 0 8px;padding:8px 10px;font-size:12px}.set-ui-diag>summary{cursor:pointer;color:var(--amber);font-weight:600}.set-ui-diag-list{flex-direction:column;gap:4px;margin:6px 0 0;padding-left:18px;display:flex}.set-ui-diag-item{overflow-wrap:anywhere;color:var(--text-dim,#b9bcc4);line-height:1.5}.set-ui-diag-item.error{color:var(--red)}.set-ui-diag-item code{background:#00000040;border-radius:4px;margin-right:6px;padding:0 4px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.set-ui-diag-hint{opacity:.75;margin-top:6px;line-height:1.5}.slot-error{border:1px dashed var(--red,#e5534b);color:var(--red,#e5534b);font:inherit;cursor:pointer;opacity:.85;background:0 0;border-radius:6px;align-items:center;gap:4px;padding:2px 6px;display:inline-flex}.set-catalog-hint{color:var(--text-dim,#b9bcc4);overflow-wrap:anywhere;margin:-2px 0 4px;font-size:12px;line-height:1.5}.set-catalog-hint.warn{color:var(--red)}.set-catalog-hint.ok{color:var(--green)}.set-catalog-job-out{max-height:160px;color:var(--text-dim,#b9bcc4);white-space:pre-wrap;background:#00000040;border-radius:8px;flex:1 0 100%;margin:4px 0 0;padding:6px 8px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;overflow:auto}.set-job-spin{animation:1.2s linear infinite spin}.set-ui-slot{border-top:1px dashed var(--border-soft);margin-top:10px;padding-top:8px}.set-ui-slot-title{color:var(--text-dim);margin-bottom:4px;font-size:12px;font-weight:600}.set-ui-slot-title.set-ui-seg{color:var(--text-faint);text-transform:uppercase;letter-spacing:.04em;margin-top:8px;font-weight:400}.set-ui-source{color:var(--text-faint);border:1px solid var(--border-soft);white-space:nowrap;border-radius:6px;padding:1px 6px;font-size:11px}.set-catalog-build{color:var(--text-dim,#b9bcc4);cursor:pointer;white-space:nowrap;align-items:center;gap:6px;font-size:12px;display:inline-flex}.set-catalog-recent{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.set-catalog-recent-label{color:var(--text-faint,var(--text-dim));font-size:11px}.set-catalog-recent-item{border:1px solid var(--border-soft);max-width:100%;color:var(--text-dim);font:inherit;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:0 0;border-radius:999px;padding:2px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;overflow:hidden}.set-catalog-recent-item:hover{background:var(--bg-elev2);color:var(--text)}.set-catalog-main{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.set-catalog-title{align-items:center;gap:8px;font-size:13.5px;font-weight:600;display:flex}.set-catalog-installed{color:#34c759;border:1px solid #34c75973;border-radius:999px;padding:1px 8px;font-size:11px;font-weight:500}.set-catalog-update-badge{color:var(--amber);background:#fbbf241f;border:1px solid #fbbf2473;border-radius:999px;align-items:center;gap:4px;padding:1px 8px;font-size:11px;font-weight:500;display:inline-flex}.set-catalog-custom{color:var(--accent);border:1px solid #8b5cf673;border-radius:999px;padding:1px 8px;font-size:11px;font-weight:500}.set-catalog-desc{color:var(--text-dim);font-size:12px}.set-catalog-source{color:var(--text-faint,var(--text-dim));word-break:break-all;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px}.tpl-editor{border:1px solid var(--border-soft);background:var(--bg-elev,#1c1e2466);border-radius:10px;flex-direction:column;gap:10px;margin-bottom:12px;padding:12px;display:flex}.tpl-fields{flex-direction:column;gap:8px;display:flex}.tpl-pick-block{flex-direction:column;gap:6px;display:flex}.tpl-pick-head{color:var(--text-dim);font-size:12px}.tpl-pick{flex-wrap:wrap;gap:6px;display:flex}.tpl-chip{border:1px solid var(--border-soft);color:var(--text-dim);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:999px;align-items:center;gap:5px;padding:3px 9px;font-size:12px;transition:all .12s;display:inline-flex}.tpl-chip:hover{border-color:var(--accent);color:var(--text)}.tpl-chip.on{background:color-mix(in srgb, var(--accent) 16%, transparent);border-color:var(--accent);color:var(--text)}.tpl-chip input{accent-color:var(--accent);margin:0}.tpl-actions{align-items:center;gap:8px;display:flex}.tpl-badge{background:var(--bg-elev2);border:1px solid var(--border);color:var(--text-dim);vertical-align:1px;border-radius:999px;margin-left:6px;padding:1px 7px;font-size:11px}.tpl-badge.default{color:var(--accent);border-color:var(--accent);background:color-mix(in srgb, var(--accent) 10%, transparent)}.rule-editor{border:1px solid var(--border-soft);background:var(--bg-elev);border-radius:10px;flex-direction:column;gap:10px;margin-bottom:12px;padding:12px;display:flex}.rule-badge{vertical-align:1px;border-radius:999px;margin-right:6px;padding:1px 7px;font-size:11px;font-weight:500;display:inline-block}.rule-badge.ask{color:var(--amber);border:1px solid color-mix(in srgb, var(--amber) 40%, transparent);background:color-mix(in srgb, var(--amber) 12%, transparent)}.rule-badge.deny{color:var(--red);border:1px solid color-mix(in srgb, var(--red) 40%, transparent);background:color-mix(in srgb, var(--red) 12%, transparent)}.rule-badge.allow{color:var(--green);border:1px solid color-mix(in srgb, var(--green) 40%, transparent);background:color-mix(in srgb, var(--green) 12%, transparent)}.rule-meta-code{font-family:var(--mono);background:var(--bg-elev2);color:var(--text-dim);border-radius:4px;padding:2px 6px;font-size:11px}.rule-pattern-code{font-family:var(--mono);background:var(--bg-elev2);color:var(--text-dim);word-break:break-all;border-radius:4px;max-width:100%;padding:2px 6px;font-size:11px;display:inline-block}.rule-row-disabled{opacity:.55}.set-row-actions{flex:none;align-items:center;gap:6px;display:flex}.settings-modal .set-row-actions{flex-wrap:wrap;justify-content:flex-end;max-width:62%;margin-left:auto}.settings-modal .set-toggle{min-width:0;color:var(--text);flex:1;align-items:center;gap:8px;font-size:13px;display:inline-flex}.settings-modal input[type=checkbox]{accent-color:var(--accent);cursor:pointer;flex:none;width:15px;height:15px}.settings-modal .set-ui-slot-title{color:var(--text);margin:12px 0 4px;font-size:12.5px;font-weight:700}.settings-modal .set-uninstall{justify-content:center;min-width:28px;min-height:28px}.settings-modal .set-note{color:var(--text-dim);margin:2px 0 8px;font-size:12px;line-height:1.7}.settings-modal textarea.set-prompt-input{min-height:110px}.set-icon-btn{border:1px solid var(--border-soft);width:26px;height:26px;color:var(--text-dim);cursor:pointer;background:0 0;border-radius:6px;justify-content:center;align-items:center;display:flex}.set-icon-btn:hover{color:var(--text);background:var(--bg-elev)}.set-icon-btn.danger:hover{color:var(--red)}.set-empty{color:var(--text-dim);margin:0;font-size:12px}.set-ui-filter{background:var(--bg-elev2);border:1px solid var(--border);width:100%;color:var(--text);border-radius:6px;margin-bottom:8px;padding:4px 8px;font-size:12px}.set-ui-label{background:var(--bg-elev2);border:1px solid var(--border);width:110px;color:var(--text-faint);border-radius:6px;padding:2px 6px;font-size:12px}.set-ui-align select{color:var(--text-faint);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;padding:2px 4px;font-size:12px}.set-ui-align select:hover{color:var(--accent);background:var(--bg-elev2)}.modal-close{z-index:3;width:28px;height:28px;color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-self:flex-end;align-items:center;margin-bottom:-42px;display:flex;position:sticky;top:0}.modal-close:hover{color:var(--text);background:var(--bg-elev)}.modal-head{align-items:center;gap:10px;display:flex}.modal-head-icon{color:var(--accent);font-size:18px}.modal-head h2{margin:0;font-size:16px}.modal-desc{color:var(--text-dim);margin:0;font-size:13px;line-height:1.6}.modal-desc code{background:var(--bg-elev);border:1px solid var(--border-soft);border-radius:4px;padding:1px 5px;font-size:12px}.modal-actions{justify-content:flex-end;gap:8px;margin-top:4px;display:flex}.setup-actions{gap:10px;margin-top:6px;display:flex}.setup-key-form{flex-direction:column;gap:12px;display:flex}.setup-done{color:var(--text);font-size:13px;line-height:1.6}.setup-failed{flex-direction:column;gap:10px;display:flex}.setup-detail{white-space:pre-wrap;word-break:break-all;background:var(--bg-elev);border:1px solid var(--border-soft);max-height:140px;color:var(--red-text);border-radius:8px;margin:0;padding:10px 12px;font-size:12px;overflow-y:auto}.field{flex-direction:column;gap:5px;display:flex}.field-label{color:var(--text-dim);font-size:12px}.field-label em{opacity:.7;font-style:normal}.field input,.field select{background:var(--bg-elev);border:1px solid var(--border);color:var(--text);border-radius:8px;outline:none;padding:8px 10px;font-size:13px}.field input:focus,.field select:focus{border-color:var(--accent)}.field.check{color:var(--text);flex-direction:row;align-items:center;gap:8px;font-size:13px}.field-hint{color:var(--text-dim);font-size:12px}.form-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.form-section-title{color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;margin-top:4px;font-size:12px;font-weight:700}.model-section-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-top:8px;display:flex}.model-section-head .form-section-title{margin:0}.model-section-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.fetch-msg{text-overflow:ellipsis;white-space:nowrap;max-width:260px;font-size:12px;overflow:hidden}.fetch-msg.ok{color:var(--green)}.fetch-msg.err{color:var(--red)}.section-hint{text-transform:none;letter-spacing:0;opacity:.75;font-weight:400}.auth-badge{color:var(--auth-green);vertical-align:1px;background:#34d3991f;border:1px solid #34d39940;border-radius:99px;margin-left:6px;padding:1px 7px;font-size:11px;display:inline-block}.auth-badge.dim{color:var(--text-dim);background:var(--bg-elev);border-color:var(--border)}.key-input{background:var(--bg-elev);border:1px solid var(--border);color:var(--text);border-radius:6px;outline:none;width:190px;padding:6px 9px;font-size:12.5px}.key-input:focus{border-color:var(--accent)}.btn.sm{padding:6px 10px;font-size:12px}.provider-list{flex-direction:column;gap:8px;display:flex}.provider-row{background:var(--bg-elev);border:1px solid var(--border-soft);border-radius:12px;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;display:flex}.model-modal .provider-form{background:var(--bg-elev);border:1px solid var(--border-soft);border-radius:14px;padding:14px 16px}.model-modal .provider-form .field input,.model-modal .provider-form .field select{background:var(--bg-elev2)}.provider-key-row{flex-direction:column;align-items:stretch;gap:8px}.provider-key-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.provider-head-actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.provider-oauth{background:var(--bg);border:1px solid var(--border);border-radius:6px;flex-wrap:wrap;align-items:center;gap:8px;padding:8px;display:flex}.provider-oauth-status{min-width:180px;color:var(--auth-green);flex:1;font-size:12.5px}.provider-oauth-message,.provider-oauth-event,.provider-oauth-device,.provider-oauth-error{width:100%;font-size:12px}.provider-oauth-event,.provider-oauth-device{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.provider-oauth-event a,.provider-oauth-device a{color:var(--accent)}.provider-oauth-device code{background:var(--bg-elev);color:var(--text);letter-spacing:.08em;border-radius:5px;padding:5px 8px;font-size:14px;font-weight:700}.provider-oauth-error{color:var(--red)}.provider-oauth-options,.provider-oauth-prompt{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.provider-oauth-prompt{width:100%}.provider-oauth-prompt .key-input{flex:1;min-width:180px}.provider-keys{flex-direction:column;gap:6px;display:flex}.provider-key-item{background:var(--bg);border:1px solid var(--border);border-radius:6px;align-items:center;gap:8px;min-width:0;padding:5px 8px;display:flex}.provider-key-item.active{border-color:color-mix(in srgb, var(--accent) 50%, var(--border))}.provider-key-item .provider-key-dot{color:var(--accent);font-size:10px}.provider-key-item .provider-key-label{text-overflow:ellipsis;min-width:0;color:var(--text);flex:1;font-weight:600;overflow:hidden}.provider-key-item .iconbtn{width:24px;height:24px}.provider-key-empty{color:var(--text-faint);font-size:12px}.provider-add-key{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.provider-add-key .key-input{flex:1;width:auto;min-width:0}.provider-add-key .key-input-name{flex:0 160px}.provider-add-key .key-input-value{flex:1 2 200px}.provider-info{flex-direction:column;gap:2px;min-width:0;display:flex}.provider-name{color:var(--text);font-size:13.5px;font-weight:600}.provider-sub{color:var(--text-dim);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.provider-actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.iconbtn{border:1px solid var(--border);width:28px;height:28px;color:var(--text-dim);cursor:pointer;background:0 0;border-radius:6px;justify-content:center;align-items:center;display:flex}.iconbtn:hover{color:var(--text);background:var(--bg-elev)}.btn.sm.danger{color:var(--red);border-color:var(--red)}.btn.sm.danger:hover{background:var(--red);color:#fff}.iconbtn.danger{color:var(--red-text)}.iconbtn.danger:hover{background:var(--red-soft)}.model-row{grid-template-columns:1.4fr 1fr 110px auto 88px 88px 28px;align-items:center;gap:8px;margin-bottom:8px;display:grid}.model-row input,.model-row select{background:var(--bg-elev);border:1px solid var(--border);color:var(--text);border-radius:6px;outline:none;min-width:0;padding:6px 8px;font-size:12.5px}.model-row input:focus,.model-row select:focus{border-color:var(--accent)}.model-row .check{color:var(--text-dim);white-space:nowrap;align-items:center;gap:4px;font-size:12px;display:flex}@media (max-width:640px){.form-grid,.model-row{grid-template-columns:1fr}}.sound-menu{flex-direction:column;gap:2px;width:300px;display:flex}.sound-row{cursor:pointer;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;transition:background .12s;display:flex}.sound-row:hover{background:var(--bg-elev)}.sound-row.disabled{opacity:.45;pointer-events:none}.sound-row input[type=checkbox]{width:15px;height:15px;accent-color:var(--accent);cursor:pointer;flex-shrink:0}.sound-label{align-items:center;gap:8px;min-width:0;display:flex}.sound-master .sound-name{font-weight:700}.sound-icon{color:var(--accent);flex-shrink:0}.sound-name{color:var(--text);font-size:13px}.sound-desc{color:var(--text-faint);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.notify-menu{border-top:1px solid var(--border-soft);margin-top:6px;padding-top:6px}.sound-hint{color:var(--text-faint);white-space:normal;padding:0 10px 6px;font-size:11px;line-height:1.5}.notify-actions{justify-content:flex-end;padding:0 10px 6px;display:flex}.notify-test-result{color:var(--text-dim);border-left:2px solid var(--border);word-break:break-word;margin:0 10px 6px;padding:2px 0 2px 8px}.sound-right{flex-shrink:0;align-items:center;gap:8px;display:flex}.sound-preview{border:1px solid var(--border);background:var(--bg-elev);color:var(--text-dim);cursor:pointer;border-radius:6px;padding:2px 8px;font-size:11px;transition:border-color .12s,color .12s}.sound-preview:hover:not(:disabled){border-color:var(--accent);color:var(--text)}.sound-preview:disabled{opacity:.4;cursor:default}.sound-volume{align-items:center;gap:10px;padding:8px 10px;display:flex}.sound-volume.disabled{opacity:.45;pointer-events:none}.sound-volume input[type=range]{accent-color:var(--accent);cursor:pointer;flex:1}.sound-vol-num{color:var(--text-faint);text-align:right;min-width:34px;font-size:11px}.tts-unavailable{color:var(--text-faint);padding:6px 10px 2px}.tts-voice-select{flex:1;max-width:220px;padding:3px 6px;font-size:12px}.tts-preview{margin-left:auto;padding:4px 12px}.tts-preview:disabled{opacity:.4;cursor:default}.fp-overlay{z-index:250;overscroll-behavior:contain;background:#040508b8;justify-content:center;align-items:center;padding:28px;display:flex;position:fixed;inset:0}.fp-overlay.fullscreen{padding:0}.fp{background:var(--bg-elev2);border:1px solid var(--border);overscroll-behavior:contain;border-radius:12px;flex-direction:column;width:100%;max-width:1120px;height:min(88vh,880px);display:flex;overflow:hidden;transform:translateZ(0);box-shadow:0 24px 64px #0000008c}.fp.fullscreen{border-left:0;border-right:0;border-radius:0;width:100vw;max-width:none;height:100vh;max-height:none}.fp-head{border-bottom:1px solid var(--border-soft);flex-shrink:0;align-items:center;gap:8px;min-width:0;padding:10px 14px;display:flex}.fp-name{font-family:var(--mono);color:var(--text);white-space:nowrap;text-overflow:ellipsis;flex-shrink:1;min-width:0;font-size:13px;font-weight:700;overflow:hidden}.fp-path{font-family:var(--mono);color:var(--text-faint);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:11px;overflow:hidden}.fp-meta{color:var(--text-faint);white-space:nowrap;flex-shrink:0;font-size:11px}.fp-head-actions{scrollbar-width:none;flex-shrink:1;align-items:center;gap:6px;min-width:0;margin-left:auto;display:flex;overflow:auto hidden}.fp-head-actions::-webkit-scrollbar{display:none}.fp-slot-toolbar{align-items:center;display:inline-flex}.fp-attach{border:1px solid var(--border);background:var(--bg-elev);width:26px;height:26px;color:var(--text-dim);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;display:inline-flex;position:relative}.fp-attach.ref:hover{background:var(--amber);border-color:var(--amber);color:var(--on-amber)}.fp-attach.wrap:hover,.fp-attach.wrap.on,.fp-attach.edit:hover,.fp-attach.edit.on,.fp-attach.zoom-in:hover,.fp-attach.zoom-out:hover,.fp-attach.full:hover,.fp-attach.full.on{background:var(--accent);border-color:var(--accent);color:#fff}.fp-attach:disabled{opacity:.45;cursor:not-allowed}.fp-attach:disabled:hover{background:var(--bg-elev);border-color:var(--border);color:var(--text-dim)}.fp-attach:after{content:attr(data-tip);background:var(--tooltip-bg);color:var(--text);border:1px solid var(--border);white-space:nowrap;pointer-events:none;opacity:0;z-index:40;border-radius:6px;padding:4px 9px;font-size:11px;line-height:1.4;transition:opacity 90ms;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 4px 14px #00000073}.fp-attach:hover:after{opacity:1}.fp-zoom{align-items:center;gap:4px;display:inline-flex}.fp-zoom-val{border:1px solid var(--border);background:var(--bg-elev);min-width:42px;height:26px;color:var(--text-dim);text-align:center;cursor:pointer;border-radius:6px;padding:0 4px;font-size:10.5px;line-height:1}.fp-zoom-val:hover{border-color:var(--accent);color:var(--text)}.fp-close{border:1px solid var(--border);background:var(--bg-elev);width:26px;height:26px;color:var(--text-dim);cursor:pointer;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;margin-left:2px;display:inline-flex}.fp-close:hover{color:var(--red);border-color:var(--red)}.fp-notice{color:var(--amber);border-bottom:1px solid var(--border-soft);background:#fbbf2414;flex-shrink:0;padding:7px 14px;font-size:11.5px}.fp-empty{color:var(--text-faint);flex:1;justify-content:center;align-items:center;padding:40px;font-size:13px;display:flex}.fp-hex-wrap{flex-direction:column;flex:1;min-height:0;display:flex}.fp-hex{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:calc(12px * var(--fp-zoom,1));color:var(--text-dim);white-space:pre;-webkit-user-select:text;user-select:text;background:#00000038;flex:1;margin:0;padding:12px 14px;line-height:1.55;overflow:auto}.fp-code{font-family:var(--mono);font-size:calc(12px * var(--fp-zoom,1));-webkit-user-select:none;user-select:none;background:#00000038;flex:1;padding:6px 0;line-height:1.6;overflow:auto}.fp-markdown{min-width:0;min-height:0;color:var(--text);word-break:break-word;overflow-wrap:anywhere;background:radial-gradient(circle at 10% 0,#8b5cf614,#0000 34%),#00000038;flex:1;padding:22px clamp(18px,4vw,48px) 34px;font-size:14px;line-height:1.8;overflow:auto}.fp-markdown-zoom{zoom:var(--fp-zoom,1)}.fp-markdown-zoom>.md{width:100%;min-width:0;max-width:860px;margin:0 auto}.fp.fullscreen .fp-markdown-zoom>.md{max-width:none}.fp-html{background:#00000038;flex-direction:column;flex:1;gap:8px;min-width:0;min-height:0;padding:12px;display:flex;overflow:hidden}.fp-html-bar{border:1px solid var(--border-soft);color:var(--text-dim);background:#8b5cf612;border-radius:8px;align-items:center;gap:10px;padding:6px 10px;font-size:12px;display:flex}.fp-html-hint{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.fp-html-js{border:1px solid var(--border);color:var(--text-dim);cursor:pointer;background:0 0;border-radius:6px;flex:none;padding:3px 10px;font-size:12px}.fp-html-js:hover{border-color:var(--accent);color:var(--text)}.fp-html-js.on{border-color:var(--warning,#f59e0b);color:var(--warning,#f59e0b)}.fp-html-frame{border:1px solid var(--border-soft);zoom:var(--fp-zoom,1);background:#fff;border-radius:8px;flex:1;width:100%;min-height:0;display:block}.fp-markdown h1,.fp-markdown h2,.fp-markdown h3,.fp-markdown h4,.fp-markdown h5,.fp-markdown h6{color:var(--text);letter-spacing:-.015em;margin:1.35em 0 .55em;font-weight:750;line-height:1.28;position:relative}.fp-markdown h1{border-bottom:1px solid var(--border);letter-spacing:-.03em;margin-top:0;padding-bottom:.42em;font-size:clamp(24px,3vw,34px)}.fp-markdown h2{border-bottom:1px solid var(--border-soft);padding-bottom:.28em;font-size:clamp(19px,2.2vw,25px)}.fp-markdown h3{color:var(--link-hover);font-size:19px}.fp-markdown h4,.fp-markdown h5,.fp-markdown h6{font-size:16px}.fp-markdown p{margin:.8em 0;line-height:1.85}.fp-markdown p:first-child{margin-top:0}.fp-markdown p:last-child{margin-bottom:0}.fp-markdown strong{color:var(--md-strong);font-weight:720}.fp-markdown em{color:var(--link-hover)}.fp-markdown del{color:var(--text-faint)}.fp-markdown a{color:var(--link);text-underline-offset:3px;-webkit-text-decoration:underline #a78bfa73;text-decoration:underline #a78bfa73;transition:color .12s,text-decoration-color .12s}.fp-markdown a:hover{color:var(--link-hover);text-decoration-color:currentColor}.fp-markdown ul,.fp-markdown ol{margin:.8em 0;padding-left:1.8em}.fp-markdown li{margin:.28em 0;padding-left:.2em}.fp-markdown li::marker{color:var(--accent);font-weight:700}.fp-markdown li>p{margin:.35em 0}.fp-markdown blockquote{border:1px solid #8b5cf633;border-left:4px solid var(--accent);color:var(--text-dim);background:#8b5cf614;border-radius:0 10px 10px 0;margin:1.1em 0;padding:.7em 1.1em}.fp-markdown blockquote p:last-child{margin-bottom:0}.fp-markdown hr{border:0;border-top:1px solid var(--border);margin:1.8em 0}.fp-markdown table{border-collapse:collapse;border-spacing:0;width:100%;max-width:100%;margin:1.15em 0;font-size:13px;display:block;overflow-x:auto}.fp-markdown thead{background:#8b5cf61f}.fp-markdown th,.fp-markdown td{border:1px solid var(--border);text-align:left;vertical-align:top;min-width:90px;padding:8px 12px;line-height:1.55}.fp-markdown th{color:var(--text);white-space:nowrap;font-weight:700}.fp-markdown tbody tr:nth-child(2n){background:var(--glow-025)}.fp-markdown tbody tr:hover{background:#8b5cf612}.fp-office h2{margin:.4em 0 .6em;font-size:15px}.fp-office table{margin:.6em 0 1em;overflow-x:scroll}.fp-office th,.fp-office td{min-width:48px;padding:4px 10px;line-height:1.5}.fp-office th p,.fp-office td p{line-height:inherit;margin:0}.fp-office td:empty:after{content:" "}.fp-office thead th{background:var(--bg-elev,#16161d);position:sticky;top:0}.fp-markdown code{font-family:var(--mono);word-break:break-word;font-size:.88em}.fp-markdown :not(pre)>code{border:1px solid var(--border-soft);color:var(--link-soft);background:#8b5cf61a;border-radius:5px;padding:.16em .42em}.fp-markdown .codeblock{min-width:0;max-width:100%;margin:1.1em 0}.fp-markdown .codeblock pre{border-color:var(--border);border-radius:10px;min-width:0;max-width:100%;padding:14px 0;font-size:12.5px;line-height:1.65}.fp-markdown .code-line{padding:0 16px}.fp-markdown .codeblock pre code{white-space:pre-wrap;word-break:break-word}.fp-markdown img{box-sizing:border-box;border:1px solid var(--border);background:var(--bg-elev);object-fit:contain;border-radius:10px;width:auto;max-width:100%;height:auto;max-height:min(62vh,680px);margin:1.15em auto;display:block;box-shadow:0 10px 28px #00000038}.fp-markdown figcaption{color:var(--text-faint);text-align:center;margin-top:-.7em;font-size:12px;font-style:italic}.fp-markdown input[type=checkbox]{accent-color:var(--accent);margin-right:.45em}.fp-markdown kbd{border:1px solid var(--border);background:var(--bg-elev2);font-family:var(--mono);color:var(--text-dim);border-bottom-width:2px;border-radius:5px;padding:.12em .45em;font-size:.82em}.fp-editor{resize:none;width:100%;min-height:0;color:var(--text);font-family:var(--mono);font-size:calc(12px * var(--fp-zoom,1));white-space:pre-wrap;overflow-wrap:anywhere;background:#00000038;border:none;outline:none;flex:1;padding:12px 14px;line-height:1.6}.fp-editor.no-wrap{white-space:pre;overflow-wrap:normal;overflow-x:auto}.fp-media-wrap{background:#00000038;flex:1;justify-content:center;align-items:center;min-width:0;min-height:0;padding:12px;display:flex;overflow:auto}.fp-media{object-fit:contain;border-radius:4px;width:auto;min-width:0;max-width:100%;max-height:100%;display:block}.fp-line{cursor:pointer;gap:0;padding-right:16px;display:flex}.fp-line:hover{background:#8b5cf614}.fp-line.sel{background:#8b5cf638}.fp-code.dragging .fp-line.sel{background:#8b5cf64d}.fp-num{text-align:right;width:52px;color:var(--text-faint);border-right:1px solid var(--border-soft);-webkit-user-select:none;user-select:none;background:0 0;flex-shrink:0;margin-right:14px;padding-right:12px}.fp-code-text{white-space:pre-wrap;overflow-wrap:anywhere;min-width:0;color:var(--text-dim);flex:1}.fp-code.no-wrap .fp-code-text{white-space:pre;overflow-wrap:normal}.fp-line.sel .fp-code-text{color:var(--text)}.fp-lines-note{color:var(--text-faint);padding:8px 16px 6px;font-size:11px}.fp-foot{border-top:1px solid var(--border-soft);background:var(--bg-elev);flex-shrink:0;align-items:center;gap:12px;padding:10px 14px;display:flex}.fp-hint{min-width:0;color:var(--text-faint);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:12px;overflow:hidden}.fp-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.fp-actions .btn{align-items:center;gap:5px;display:inline-flex}@media (max-width:768px){.resize-handle{display:none}.topbar{--topbar-ctl-h:30px;flex-wrap:nowrap;gap:8px;padding:8px 10px}.topbar-flow .tb-spacer{display:contents}.tb-tab{height:var(--topbar-ctl-h,30px);padding:5px 10px}.topbar .chip{height:var(--topbar-ctl-h,30px)}.topbar .plugin-topbar-item{height:var(--topbar-ctl-h,30px);padding:0 9px}:is(.topbar.no-labels .tb-tab,.topbar.no-labels .plugin-topbar-item,.topbar.no-labels .panel-toggle,.topbar.no-labels .chip:not(:has(svg~svg)):not(:has(.bg-task-badge)):not(:has(.update-badge)):not(:has(.update-dot))){width:var(--topbar-ctl-h,30px);padding:0}.plugin-topbar-menu.portal{--topbar-ctl-h:30px}.plugin-topbar-menu.portal .chip{height:var(--topbar-ctl-h,30px)}.plugin-topbar-menu.portal .chip>span:not(.update-dot):not(.bg-task-badge):not(.update-badge):not(.plugin-icon-svg):not(.plugin-icon-glyph):not(.chip-emoji):not(.goalbar-opt){display:inline}.chip>span:not(.update-dot):not(.bg-task-badge):not(.update-badge):not(.plugin-icon-svg):not(.plugin-icon-glyph):not(.chip-emoji):not(.goalbar-opt){display:none}.topbar .chip>span:not(.update-dot):not(.bg-task-badge):not(.update-badge):not(.plugin-icon-svg):not(.plugin-icon-glyph):not(.chip-emoji):not(.goalbar-opt){display:inline}@media (min-width:561px){.composer-tools .chip>span:not(.update-dot):not(.bg-task-badge):not(.update-badge):not(.plugin-icon-svg):not(.plugin-icon-glyph):not(.chip-emoji):not(.goalbar-opt){display:inline}}.composer-tools .chip-model{max-width:96px}.composer-tools .chip{padding:5px 8px}.composer-tools{flex-wrap:nowrap}.composer-tools-left{flex-wrap:nowrap;flex:auto;justify-content:space-evenly;min-width:0}.composer-tools-right{flex-shrink:0}@media (max-width:560px){.composer-tools .chip>span.chip-model,.composer-tools .chip>span.chip-sub,.composer-tools .dd-caret{display:none}.composer-tools .chip{justify-content:center;min-width:0;padding:0}.composer-tools-left,.composer-tools-center{flex-wrap:wrap;align-items:center;gap:4px}.composer-tools-left>:not(select),.composer-tools-center>:not(select),.composer-tools-left>.dropdown,.composer-tools-center>.dropdown{aspect-ratio:1;flex:1 1 0;align-self:center;min-width:24px;max-width:44px;height:auto;min-height:30px}:is(.inputbox .composer-tools-left .btn,.inputbox .composer-tools-left .btn:has(svg),.inputbox .composer-tools-center .btn,.inputbox .composer-tools-center .btn:has(svg)){aspect-ratio:1;min-width:24px;height:auto}.composer-tools-left .chip,.composer-tools-center .chip{aspect-ratio:1;width:100%;max-width:100%;height:100%}:is(.inputbox .composer-tools-left .btn,.inputbox .composer-tools-left .btn:has(svg),.inputbox .composer-tools-center .btn,.inputbox .composer-tools-center .btn:has(svg),.inputbox .composer-tools-left .chip,.inputbox .composer-tools-center .chip){border-radius:9px}.inputbox .btn.composer-plugin-action:has(svg){width:auto}:is(.inputbox .composer-tools-left .btn.composer-plugin-action:not(:has(svg)),.inputbox .composer-tools-center .btn.composer-plugin-action:not(:has(svg))){text-overflow:ellipsis;width:auto;max-width:44px;padding:0 8px;overflow:hidden}.composer-tools-left select.composer-plugin-select,.composer-tools-center select.composer-plugin-select{flex:1 1 0;width:auto;min-width:24px;max-width:44px}}.topbar-flow{flex-wrap:nowrap;flex:auto;gap:6px;overflow:hidden}.dropdown .dd-menu{top:auto;left:12px;right:12px;bottom:calc(env(safe-area-inset-bottom,0px) + 12px);z-index:90;max-width:none;max-height:55vh;position:fixed}.dropdown.left .dd-menu{left:12px;right:12px}.dropdown .dd-menu.dd-menu-model{min-width:0}.dd-provider-col{min-width:0;max-width:132px}.sound-menu{width:100%}.chip{padding:6px 9px}.panel-toggle{width:var(--topbar-ctl-h,30px);height:var(--topbar-ctl-h,30px);border:1px solid var(--border);background:var(--bg-elev2);color:var(--text-dim);cursor:pointer;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;font-size:15px;display:inline-flex}.panel-toggle:active{background:var(--accent-soft);color:var(--accent)}.file-item .file-attach{display:inline-flex}.file-attach:after,.file-attach:before{display:none}.panel-drawer{z-index:60;background:var(--bg-elev);width:min(300px,86vw);transition:transform .25s;display:block;position:fixed;top:0;bottom:0}.panel-drawer.drawer-left{border-right:1px solid var(--border);left:0;transform:translate(-105%);box-shadow:8px 0 30px #00000059}.panel-drawer.drawer-right{border-left:1px solid var(--border);right:0;transform:translate(105%);box-shadow:-8px 0 30px #00000059}.panel-drawer.open{transform:translate(0)}.panel-drawer .panel{border:none;width:100%;height:100%}.term-main{padding:54px 8px 8px;position:relative}.term-commands{z-index:60;border-right:1px solid var(--border);width:min(300px,86vw);transition:transform .25s;position:fixed;top:0;bottom:0;left:0;transform:translate(-105%);box-shadow:8px 0 30px #00000059}.term-commands.open{transform:translate(0)}.term-side-toggle{z-index:20;border:1px solid var(--border);background:var(--bg-elev2);width:36px;height:36px;color:var(--text-dim);cursor:pointer;border-radius:9px;justify-content:center;align-items:center;font-size:15px;display:inline-flex;position:absolute;top:10px;left:10px}.term-side-toggle:active{background:var(--accent-soft);color:var(--accent)}.main{--chat-pad:14px}.msg{padding:6px 0 12px}.inputbar{padding:10px var(--chat-inset) 12px}.inputbox{gap:6px;padding:8px 8px 8px 10px}.inputbox textarea{font-size:16px}.inputbox .btn{width:40px;height:40px}.inputbox .split-send{width:82px;height:40px}.inputbox .split-send.single{width:40px}.attach-chip{max-width:78vw}.modal-backdrop,.fp-overlay{align-items:flex-end;padding:10px}.dialog-inline{max-height:55vh}.question-conv-title{max-width:140px}.modal,.fp{border-radius:14px;width:100%;max-width:100%;max-height:94vh}.fp{height:92vh}.fp-markdown{padding:16px 14px 24px;font-size:13.5px}.fp-markdown img{max-height:50vh}.project-picker{width:auto;height:min(420px,100vh - 80px);top:44px;left:8px;right:8px}.modal-close{background:var(--bg-elev);border:1px solid var(--border-soft);width:36px;height:36px;color:var(--text);z-index:10;border-radius:8px;flex-shrink:0;margin-bottom:-46px;font-size:16px;box-shadow:0 2px 8px #0003}.modal-close:hover,.modal-close:active{background:var(--bg-elev2);color:var(--text)}.cwd-close{width:30px;height:30px;font-size:15px}.file-transfer-close,.template-modal-close{width:36px;height:36px;font-size:16px}.gs-close{width:34px;height:34px;color:var(--text);justify-content:center;align-items:center;font-size:16px;display:inline-flex}.fp-head{gap:6px;padding:8px 10px}.fp-path,.fp-meta,.fp-zoom,.fp-attach.ref{display:none}.fp-close{background:var(--bg-elev);border-color:var(--border-soft);width:34px;height:34px;color:var(--text);flex-shrink:0;margin-left:4px;font-size:16px}@media (max-width:480px){.fp-attach.full{display:none}}.tool-info-head .btn,.bg-task-head .btn{flex-shrink:0;justify-content:center;align-items:center;min-width:34px;min-height:34px;padding:0 8px;display:inline-flex}.tool-info-title,.tool-info-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.dialog-dismiss{background:var(--bg-elev);border-radius:6px;justify-content:center;align-items:center;min-width:32px;min-height:32px;font-size:15px;display:inline-flex}.statusbar{flex-wrap:nowrap;gap:6px;padding:6px 10px;font-size:10.5px}.status-sep,.status-item:not(.status-conn):not(.status-ctx):not(.status-cost):not(.status-cache):not(.status-rate):not(.status-host-metrics):not(.status-cwd),.status-conn .status-conn-label{display:none}.status-ctx,.status-cost,.status-cache,.status-rate{flex-shrink:0}.status-ctx .ctx-label,.status-ctx .ctx-bar,.status-cache .status-cache-label{display:none}.statusbar-right{max-width:45%}.rate-spin{display:inline-block}@media (max-width:560px){.status-host-metrics{display:none}}@media (max-width:420px){.statusbar-right{max-width:35%}}.status-cwd-input{font-size:12px}}.update-badge{background:var(--amber);color:#fff;white-space:nowrap;border-radius:9px;align-items:center;padding:1px 7px;font-size:10.5px;font-weight:700;line-height:1.2;display:inline-flex}.dd-updates-all{border-top:1px solid var(--border-soft);flex-direction:column;gap:6px;margin-top:6px;padding:8px 10px 10px;display:flex}.dd-all-list{flex-direction:column;gap:2px;max-height:240px;margin:0;padding:0;list-style:none;display:flex;overflow:hidden auto}.dd-all-item{color:var(--text-dim);border-radius:6px;flex-wrap:wrap;flex-shrink:0;align-items:center;gap:8px;padding:4px 8px;font-size:12px;display:flex;overflow:hidden}.dd-all-item.warn{color:var(--amber);background:#f59e0b14;flex-wrap:wrap}.dd-all-item.warn .dd-all-name{flex-basis:80px;min-width:80px}.dd-all-meta{flex-shrink:0;align-items:center;gap:8px;display:flex}.dd-all-item.warn .dd-all-meta{margin-left:auto}.dd-all-item.err{color:var(--red);background:#f8717114}.dd-all-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-family:var(--mono);color:var(--text);flex:1;overflow:hidden}.dd-all-item.warn .dd-all-name,.dd-all-item.err .dd-all-name{color:inherit}.dd-all-kind{background:var(--bg-elev);border:1px solid var(--border-soft);border-radius:8px;flex-shrink:0;padding:1px 6px;font-size:10.5px}.dd-all-vers{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:100%;font-family:var(--mono);color:var(--text);flex-shrink:1;font-weight:600;overflow:hidden}.dd-all-item.warn .dd-all-vers,.dd-all-item.err .dd-all-vers{color:inherit}.dd-split-run{font-family:var(--mono);opacity:.75;flex-shrink:0;font-size:10.5px}.dd-update-btn{color:var(--amber);cursor:pointer;background:#f59e0b1a;border:1px solid #f59e0b66;border-radius:6px;flex-shrink:0;padding:1px 8px;font-size:10.5px;font-weight:600;line-height:1.6}.dd-update-btn:hover{background:#f59e0b38;border-color:#f59e0ba6}.msg-collapsed-action{order:-1}@media (max-width:640px){.msg-model,.attachcard-path,.skillcard-path,.msg-collapsed-time{display:none}.msg-collapsed-role{min-width:0}.msg-collapsed-action{gap:0;font-size:0}.msg-actions{flex-wrap:nowrap;gap:6px}}@media (hover:none){.msg-text-copy,.chead-copy,.msg-action{opacity:1}.msg-action{border-radius:6px;width:26px;height:26px}.msg-action>svg{width:14px;height:14px}.chead>.chead-copy{flex:none;order:1}.msg-text:not(.single)>.msg-text-copy{float:right;margin:4px 0 0 8px;position:static}.msg-text>.md>.codeblock:first-child,.msg-text>.md>table:first-child{clear:both}}@media (max-width:640px){.toolcall-path{min-width:7ch;max-width:min(18ch,30%)}.toolcall-cmd{max-width:min(28ch,44%)}.chead{gap:4px}}.present-card{flex-direction:column;gap:8px;padding:2px 0;display:flex}.present-title{color:var(--text);font-size:13px;font-weight:600}.present-note{color:var(--text-dim);overflow-wrap:anywhere;font-size:12.5px}.present-note>:first-child{margin-top:0}.present-note>:last-child{margin-bottom:0}.present-empty{color:var(--text-dim);font-size:12.5px}.present-items{flex-direction:column;gap:8px;display:flex}.present-item{border:1px solid var(--border-soft);background:var(--bg-elev);border-radius:8px;overflow:hidden}.present-item.missing{border-color:var(--red-soft);background:var(--red-soft)}.present-item-head{align-items:center;gap:8px;min-height:30px;padding:5px 6px 5px 10px;display:flex}.present-item-icon{font-size:14px;line-height:1}.present-item-name{font-family:var(--mono);color:var(--text);white-space:nowrap;text-overflow:ellipsis;max-width:46%;font-size:12.5px;overflow:hidden}.present-item-caption{color:var(--text-dim);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.present-item-meta{color:var(--text-faint);white-space:nowrap;font-size:11.5px}.present-item-spacer{flex:auto;min-width:4px}.present-btn{color:var(--text-dim);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;align-items:center;gap:4px;padding:3px 6px;font-size:12px;display:inline-flex}.present-btn:hover{color:var(--text);background:var(--bg-elev2);border-color:var(--border)}.present-btn.on{color:var(--green)}.present-btn.labeled span{white-space:nowrap}.present-item-warn{color:var(--red-text);padding:0 10px 8px;font-size:12px}.present-media{cursor:zoom-in;text-align:left;background:0 0;border:0;width:100%;padding:0 8px 8px;display:block}.present-media img{border:1px solid var(--border-soft);object-fit:contain;border-radius:6px;max-width:100%;max-height:260px;display:block}.present-media-video{background:#000;border-radius:6px;max-width:calc(100% - 16px);max-height:320px;margin:0 8px 8px;display:block}.present-media-audio{width:calc(100% - 16px);margin:0 8px 8px;display:block}.present-excerpt{padding:var(--code-pad);border-top:1px solid var(--code-border);background:var(--code-bg);color:var(--code-text);font-family:var(--mono);white-space:pre-wrap;word-break:break-word;max-height:180px;margin:0;font-size:12px;line-height:1.5;overflow:auto}@media (max-width:720px){.present-item-name{max-width:100%}.present-btn.labeled span{display:none}.present-item-head{flex-wrap:wrap}}.messages-wrap.messages-exporting .messages{padding-inline-end:max(0px, calc(var(--chat-inset) - var(--msgs-gutter,0px) + min(380px, 42%)))}.messages-exporting .msg,.messages-exporting .msg-collapsed{padding-left:28px;position:relative}.msg-export-check{accent-color:var(--accent);cursor:pointer;z-index:1;margin:0;position:absolute;top:10px;left:6px}.msg-collapsed .msg-export-check{flex-shrink:0;margin-right:2px;position:static}.msg-export-selected{outline:2px solid var(--accent);outline-offset:2px;border-radius:10px}.saveimg-dock{z-index:20;background:var(--bg-elev2);border-left:1px solid var(--border);flex-direction:column;width:min(380px,42%);display:flex;position:absolute;top:0;bottom:0;right:0;overflow:hidden;box-shadow:-12px 0 32px #0000002e}.saveimg-dialog{background:var(--bg-elev2);border:1px solid var(--border);border-radius:12px;flex-direction:column;width:min(760px,92vw);max-height:88vh;display:flex;position:relative;overflow:hidden;box-shadow:0 24px 64px #0000008c}.saveimg-head{flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 16px 8px;display:flex}.saveimg-title{color:var(--text);font-size:15px;font-weight:600}.saveimg-hint{color:var(--text-dim);margin:0 16px 8px;font-size:12px;line-height:1.45}.saveimg-body{flex-direction:column;flex:1;gap:10px;min-height:0;padding:0 16px 16px;display:flex}.saveimg-preview{background:var(--bg);border:1px solid var(--border);border-radius:12px;flex:1;min-height:0;max-height:none;position:relative;overflow:auto}.saveimg-card{min-height:64px;color:var(--text);border:1px solid #0000;padding:24px;position:relative}.saveimg-card--border{border-color:var(--border);border-radius:12px}.saveimg-card-title{color:var(--text);margin-bottom:12px;font-size:17px;font-weight:700}.saveimg-card-md{pointer-events:none;min-width:0}.saveimg-card-md>.msg{margin:0;padding:0}.saveimg-card-md>.msg+.msg{border-top:1px solid var(--border-soft);margin-top:12px;padding-top:12px}.saveimg-card-wm{color:var(--text);opacity:.35;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:11px;position:absolute;bottom:8px;right:12px}.saveimg-options{border:1px solid var(--border);background:var(--bg);border-radius:12px;flex-wrap:wrap;flex-shrink:0;align-items:center;gap:10px 14px;padding:10px 12px;display:flex}.saveimg-opt{color:var(--text-dim);white-space:nowrap;align-items:center;gap:6px;font-size:13px;display:inline-flex}.saveimg-opt input[type=checkbox]{accent-color:var(--accent)}.saveimg-input{width:180px;padding:6px 10px;font-size:13px}.saveimg-copy{margin-left:auto}.saveimg-copy-row{align-items:center;gap:10px;width:100%;display:flex}.saveimg-count{color:var(--text-dim);font-size:12px}.saveimg-spin{animation:.8s linear infinite spin}.saveimg-error{color:var(--red);font-size:12px}@media (max-width:768px){.saveimg-dialog{width:100%;max-width:100%;max-height:94vh}.saveimg-dock{border-left:none;border-top:1px solid var(--border);width:100%;max-width:100%;height:48vh;top:auto;left:0}.messages-wrap.messages-exporting .messages{padding-inline-end:max(0px, calc(var(--chat-inset) - var(--msgs-gutter,0px)));padding-bottom:48vh}.saveimg-input{width:140px}.saveimg-copy{margin-left:auto}}.file-pill{vertical-align:baseline;background:var(--bg-elev2);border:1px solid var(--border);color:var(--accent,#60a5fa);font-family:var(--mono,ui-monospace, monospace);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:6px;align-items:center;gap:4px;margin:0 3px;padding:1px 7px;font-size:.88em;font-weight:500;line-height:1.4;text-decoration:none;transition:background-color .15s,border-color .15s,color .15s,transform .1s;display:inline-flex}.file-pill:hover{background:var(--bg-elev3);border-color:var(--accent,#60a5fa);color:var(--accent,#93c5fd);transform:translateY(-1px)}.file-pill:active{transform:translateY(0)}.file-pill-icon{opacity:.85;font-size:.9em;line-height:1;display:inline-block}.file-pill-name{white-space:nowrap;text-overflow:ellipsis;max-width:280px;display:inline-block;overflow:hidden}