@abot-ai/runtime 1.1.0 → 1.2.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 (268) hide show
  1. package/README.md +6 -3
  2. package/dist/src/capabilities/tool-types.d.ts +1 -1
  3. package/dist/src/model-gateway/providers/ollama/generation-options.d.ts +1 -3
  4. package/dist/src/model-gateway/providers/ollama/generation-options.js +1 -5
  5. package/dist/src/model-gateway/providers/ollama/payload.js +0 -8
  6. package/dist/src/model-gateway/server/request-body.js +1 -0
  7. package/dist/src/plugin-sdk/index.d.ts +2 -0
  8. package/dist/src/plugin-sdk/index.js +2 -0
  9. package/dist/src/plugin-sdk/tool-availability-brief.d.ts +9 -0
  10. package/dist/src/plugin-sdk/tool-availability-brief.js +48 -0
  11. package/dist/src/plugin-sdk/tool-availability-overview.d.ts +9 -0
  12. package/dist/src/plugin-sdk/tool-availability-overview.js +62 -0
  13. package/dist/src/runtime/adapters/registered-tool-payload-plan.d.ts +0 -9
  14. package/dist/src/runtime/adapters/registered-tool-payload-plan.js +0 -67
  15. package/dist/src/runtime/adapters/registered-tool-payload-related-artifacts.d.ts +13 -0
  16. package/dist/src/runtime/adapters/registered-tool-payload-related-artifacts.js +84 -0
  17. package/dist/src/runtime/adapters/registered-tool-worker-capabilities/catalog.js +4 -0
  18. package/dist/src/runtime/adapters/registered-tool-worker-capabilities/execution.js +3 -0
  19. package/dist/src/runtime/adapters/registered-tool-worker-capabilities/payload-lifecycle.d.ts +1 -0
  20. package/dist/src/runtime/adapters/registered-tool-worker-capabilities/payload-lifecycle.js +11 -1
  21. package/dist/src/runtime/adapters/registered-tool-worker-capabilities/payload-stages.d.ts +1 -0
  22. package/dist/src/runtime/adapters/registered-tool-worker-capabilities/payload-stages.js +9 -1
  23. package/dist/src/runtime/capabilities/request-bound-tool-registry.js +1 -24
  24. package/dist/src/runtime/capabilities/tool-availability.d.ts +6 -0
  25. package/dist/src/runtime/capabilities/tool-availability.js +28 -0
  26. package/dist/src/runtime/context/capability-brief.d.ts +25 -0
  27. package/dist/src/runtime/context/capability-brief.js +106 -0
  28. package/dist/src/runtime/context/request-tool-results-message-binding.d.ts +6 -0
  29. package/dist/src/runtime/context/request-tool-results-message-binding.js +30 -0
  30. package/dist/src/runtime/context/request-tool-results-scope.d.ts +3 -0
  31. package/dist/src/runtime/context/request-tool-results-scope.js +8 -0
  32. package/dist/src/runtime/context/request-tool-results.d.ts +8 -4
  33. package/dist/src/runtime/context/request-tool-results.js +49 -38
  34. package/dist/src/runtime/orchestration/role-calls/candidate-validation.js +8 -1
  35. package/dist/src/runtime/orchestration/role-calls/child-return.d.ts +4 -0
  36. package/dist/src/runtime/orchestration/role-calls/child-return.js +25 -5
  37. package/dist/src/runtime/orchestration/role-calls/command-decoder.js +8 -3
  38. package/dist/src/runtime/orchestration/role-calls/command-dispatch/child-transitions.d.ts +1 -1
  39. package/dist/src/runtime/orchestration/role-calls/command-dispatch/child-transitions.js +17 -2
  40. package/dist/src/runtime/orchestration/role-calls/command-dispatch.d.ts +1 -1
  41. package/dist/src/runtime/orchestration/role-calls/command-dispatch.js +2 -2
  42. package/dist/src/runtime/orchestration/role-calls/contracts.d.ts +5 -2
  43. package/dist/src/runtime/orchestration/role-calls/contracts.js +4 -4
  44. package/dist/src/runtime/orchestration/role-calls/dependency-results.d.ts +1 -1
  45. package/dist/src/runtime/orchestration/role-calls/dependency-results.js +1 -0
  46. package/dist/src/runtime/orchestration/role-calls/index.d.ts +5 -1
  47. package/dist/src/runtime/orchestration/role-calls/index.js +5 -1
  48. package/dist/src/runtime/orchestration/role-calls/ledger.d.ts +3 -1
  49. package/dist/src/runtime/orchestration/role-calls/ledger.js +9 -2
  50. package/dist/src/runtime/orchestration/role-calls/reducer.d.ts +1 -1
  51. package/dist/src/runtime/orchestration/role-calls/reducer.js +2 -2
  52. package/dist/src/runtime/orchestration/role-calls/result-receipt.d.ts +49 -0
  53. package/dist/src/runtime/orchestration/role-calls/result-receipt.js +188 -0
  54. package/dist/src/runtime/orchestration/role-calls/return-result-receipt.d.ts +19 -0
  55. package/dist/src/runtime/orchestration/role-calls/return-result-receipt.js +52 -0
  56. package/dist/src/runtime/orchestration/role-calls/transactions.js +1 -0
  57. package/dist/src/runtime/orchestration/role-calls/work-result-lineage.d.ts +34 -0
  58. package/dist/src/runtime/orchestration/role-calls/work-result-lineage.js +185 -0
  59. package/dist/src/runtime/orchestration/role-calls/work-result-receipt.d.ts +36 -0
  60. package/dist/src/runtime/orchestration/role-calls/work-result-receipt.js +187 -0
  61. package/dist/src/runtime/orchestration/role-executors/activation/result-normalization.js +6 -3
  62. package/dist/src/runtime/orchestration/role-executors/child-invocation/transaction.js +1 -0
  63. package/dist/src/runtime/orchestration/role-executors/contracts.d.ts +2 -1
  64. package/dist/src/runtime/orchestration/worker-capabilities/assignment-provenance.d.ts +36 -0
  65. package/dist/src/runtime/orchestration/worker-capabilities/assignment-provenance.js +171 -0
  66. package/dist/src/runtime/orchestration/worker-capabilities/contracts.d.ts +32 -1
  67. package/dist/src/runtime/orchestration/worker-capabilities/execution/invocation-preparation.d.ts +2 -1
  68. package/dist/src/runtime/orchestration/worker-capabilities/execution/invocation-preparation.js +3 -0
  69. package/dist/src/runtime/orchestration/worker-capabilities/execution.js +42 -19
  70. package/dist/src/runtime/orchestration/worker-capabilities/index.d.ts +2 -0
  71. package/dist/src/runtime/orchestration/worker-capabilities/index.js +2 -0
  72. package/dist/src/runtime/orchestration/worker-capabilities/payload-assignment-validation.d.ts +3 -0
  73. package/dist/src/runtime/orchestration/worker-capabilities/payload-assignment-validation.js +30 -0
  74. package/dist/src/runtime/orchestration/worker-capabilities/payload-author.js +8 -19
  75. package/dist/src/runtime/orchestration/worker-capabilities/payload-contracts.d.ts +5 -1
  76. package/dist/src/runtime/orchestration/worker-capabilities/payload-instructions.js +1 -1
  77. package/dist/src/runtime/orchestration/worker-capabilities/payload-source-provenance.d.ts +14 -0
  78. package/dist/src/runtime/orchestration/worker-capabilities/payload-source-provenance.js +132 -0
  79. package/dist/src/runtime/request/capability-brief.d.ts +5 -0
  80. package/dist/src/runtime/request/capability-brief.js +24 -0
  81. package/dist/src/runtime/request/execution-scope.d.ts +2 -1
  82. package/dist/src/runtime/request/role-executor-composition.js +1 -1
  83. package/dist/src/runtime/request/worker-capability-composition.d.ts +2 -1
  84. package/dist/src/runtime/request/worker-capability-composition.js +6 -1
  85. package/dist/src/runtime/request/worker-capability-payload.js +11 -8
  86. package/dist/src/runtime/steps/execution-agent/prompt.js +4 -3
  87. package/dist/src/runtime/steps/planner-decision/capability-catalog-context.d.ts +14 -0
  88. package/dist/src/runtime/steps/planner-decision/capability-catalog-context.js +87 -0
  89. package/dist/src/runtime/steps/planner-decision/contracts.d.ts +3 -5
  90. package/dist/src/runtime/steps/planner-decision/contracts.js +3 -3
  91. package/dist/src/runtime/steps/planner-decision/format.d.ts +3 -2
  92. package/dist/src/runtime/steps/planner-decision/format.js +73 -76
  93. package/dist/src/runtime/steps/planner-decision/input.d.ts +4 -3
  94. package/dist/src/runtime/steps/planner-decision/input.js +10 -7
  95. package/dist/src/runtime/steps/planner-decision/parser.d.ts +3 -2
  96. package/dist/src/runtime/steps/planner-decision/parser.js +10 -19
  97. package/dist/src/runtime/steps/planner-decision/plan-parser.js +18 -12
  98. package/dist/src/runtime/steps/planner-decision/prompt.js +33 -28
  99. package/dist/src/runtime/steps/planner-decision/resume.d.ts +1 -1
  100. package/dist/src/runtime/steps/planner-decision/resume.js +38 -1
  101. package/dist/src/runtime/steps/planner-decision/run.d.ts +3 -2
  102. package/dist/src/runtime/steps/reviewer-decision/audit-coverage.d.ts +10 -0
  103. package/dist/src/runtime/steps/reviewer-decision/audit-coverage.js +186 -0
  104. package/dist/src/runtime/steps/reviewer-decision/contracts.d.ts +3 -8
  105. package/dist/src/runtime/steps/reviewer-decision/contracts.js +12 -6
  106. package/dist/src/runtime/steps/reviewer-decision/delegated-context.d.ts +24 -0
  107. package/dist/src/runtime/steps/reviewer-decision/delegated-context.js +70 -0
  108. package/dist/src/runtime/steps/reviewer-decision/diagnostics.js +1 -1
  109. package/dist/src/runtime/steps/reviewer-decision/format.js +37 -24
  110. package/dist/src/runtime/steps/reviewer-decision/input.js +1 -1
  111. package/dist/src/runtime/steps/reviewer-decision/model-context.d.ts +4 -3
  112. package/dist/src/runtime/steps/reviewer-decision/model-context.js +92 -10
  113. package/dist/src/runtime/steps/reviewer-decision/parser.js +19 -1
  114. package/dist/src/runtime/steps/reviewer-decision/projection.js +42 -68
  115. package/dist/src/runtime/steps/reviewer-decision/prompt.js +10 -5
  116. package/dist/src/runtime/steps/reviewer-decision/run.js +12 -3
  117. package/dist/src/runtime/steps/reviewer-decision/verification-coverage.d.ts +14 -0
  118. package/dist/src/runtime/steps/reviewer-decision/verification-coverage.js +52 -0
  119. package/dist/src/runtime/steps/supervisor-decision/capability-brief.d.ts +14 -0
  120. package/dist/src/runtime/steps/supervisor-decision/capability-brief.js +38 -0
  121. package/dist/src/runtime/steps/supervisor-decision/contracts.d.ts +7 -3
  122. package/dist/src/runtime/steps/supervisor-decision/diagnostics.d.ts +2 -0
  123. package/dist/src/runtime/steps/supervisor-decision/diagnostics.js +8 -2
  124. package/dist/src/runtime/steps/supervisor-decision/format.js +32 -20
  125. package/dist/src/runtime/steps/supervisor-decision/input.d.ts +4 -1
  126. package/dist/src/runtime/steps/supervisor-decision/input.js +19 -1
  127. package/dist/src/runtime/steps/supervisor-decision/parser.js +62 -59
  128. package/dist/src/runtime/steps/supervisor-decision/prompt.js +6 -7
  129. package/dist/src/runtime/steps/supervisor-decision/resume.js +47 -1
  130. package/dist/src/runtime/steps/supervisor-decision/run.js +10 -0
  131. package/dist/src/runtime/steps/supervisor-decision/working-directory.js +2 -1
  132. package/dist/src/runtime/steps/worker-decision/contracts.d.ts +2 -1
  133. package/dist/src/runtime/steps/worker-decision/input/canonical-state.js +8 -1
  134. package/dist/src/runtime/steps/worker-decision/input/diagnostic-projection.js +2 -2
  135. package/dist/src/runtime/steps/worker-decision/input/prompt-context.d.ts +1 -0
  136. package/dist/src/runtime/steps/worker-decision/input/prompt-context.js +4 -1
  137. package/dist/src/runtime/steps/worker-decision/input/reference-context.js +34 -14
  138. package/dist/src/runtime/steps/worker-decision/input/types.d.ts +2 -1
  139. package/dist/src/runtime/steps/worker-decision/input.d.ts +1 -0
  140. package/dist/src/runtime/steps/worker-decision/input.js +1 -0
  141. package/dist/src/runtime/steps/worker-decision/payload-dependency-results.d.ts +8 -0
  142. package/dist/src/runtime/steps/worker-decision/payload-dependency-results.js +19 -0
  143. package/dist/src/runtime/steps/worker-decision/prompt.js +8 -8
  144. package/dist/src/runtime/steps/worker-decision/result-author.js +18 -11
  145. package/dist/src/runtime/steps/worker-decision/run.js +2 -2
  146. package/dist/src/web-ui/app/ARCHITECTURE.md +19 -6
  147. package/dist/src/web-ui/app/app.js +6 -7
  148. package/dist/src/web-ui/app/components/composer-context-window.d.ts +25 -0
  149. package/dist/src/web-ui/app/components/composer-context-window.js +155 -0
  150. package/dist/src/web-ui/app/components/composer-plan.d.ts +9 -0
  151. package/dist/src/web-ui/app/components/composer-plan.js +128 -0
  152. package/dist/src/web-ui/app/components/conversation-activity.d.ts +5 -6
  153. package/dist/src/web-ui/app/components/conversation-activity.js +64 -157
  154. package/dist/src/web-ui/app/components/conversation-role-cards.d.ts +23 -0
  155. package/dist/src/web-ui/app/components/conversation-role-cards.js +181 -0
  156. package/dist/src/web-ui/app/components/conversation-sidebar-layout.js +12 -0
  157. package/dist/src/web-ui/app/components/conversation-sources.d.ts +7 -0
  158. package/dist/src/web-ui/app/components/conversation-sources.js +182 -0
  159. package/dist/src/web-ui/app/components/conversation-view.js +34 -6
  160. package/dist/src/web-ui/app/components/model-selector.js +4 -1
  161. package/dist/src/web-ui/app/components/operations-section.js +46 -0
  162. package/dist/src/web-ui/app/components/workspace-shell.js +86 -78
  163. package/dist/src/web-ui/app/controllers/realtime-event-controller.d.ts +1 -0
  164. package/dist/src/web-ui/app/controllers/realtime-event-controller.js +55 -90
  165. package/dist/src/web-ui/app/controllers/runtime-selection-controller.js +2 -0
  166. package/dist/src/web-ui/app/controllers/session-controller.js +17 -12
  167. package/dist/src/web-ui/app/index.html +209 -210
  168. package/dist/src/web-ui/app/lib/composer-plan-model.d.ts +32 -0
  169. package/dist/src/web-ui/app/lib/composer-plan-model.js +108 -0
  170. package/dist/src/web-ui/app/lib/conversation-role-model.d.ts +19 -0
  171. package/dist/src/web-ui/app/lib/conversation-role-model.js +193 -0
  172. package/dist/src/web-ui/app/lib/event-presentation.js +30 -9
  173. package/dist/src/web-ui/app/lib/source-url-policy.d.ts +2 -0
  174. package/dist/src/web-ui/app/lib/source-url-policy.js +31 -0
  175. package/dist/src/web-ui/app/lib/task-progress.d.ts +53 -0
  176. package/dist/src/web-ui/app/lib/task-progress.js +233 -0
  177. package/dist/src/web-ui/app/lib/tool-invocation-count.d.ts +5 -0
  178. package/dist/src/web-ui/app/lib/tool-invocation-count.js +21 -0
  179. package/dist/src/web-ui/app/lib/web-source-event.d.ts +8 -0
  180. package/dist/src/web-ui/app/lib/web-source-event.js +21 -0
  181. package/dist/src/web-ui/app/lib/web-sources.d.ts +36 -0
  182. package/dist/src/web-ui/app/lib/web-sources.js +177 -0
  183. package/dist/src/web-ui/app/styles/00-tokens-base.css +15 -3
  184. package/dist/src/web-ui/app/styles/10-shell-sessions.css +24 -34
  185. package/dist/src/web-ui/app/styles/12-conversation-sidebar.css +93 -0
  186. package/dist/src/web-ui/app/styles/20-chat-composer.css +55 -472
  187. package/dist/src/web-ui/app/styles/21-composer-controls.css +368 -0
  188. package/dist/src/web-ui/app/styles/22-composer-context-window.css +90 -0
  189. package/dist/src/web-ui/app/styles/23-composer-plan.css +171 -0
  190. package/dist/src/web-ui/app/styles/24-conversation-role-cards.css +205 -0
  191. package/dist/src/web-ui/app/styles/25-conversation-sources.css +141 -0
  192. package/dist/src/web-ui/app/styles/30-inspector-config.css +21 -209
  193. package/dist/src/web-ui/app/styles/35-memory-onboarding.css +8 -8
  194. package/dist/src/web-ui/app/styles/36-memory-management.css +13 -13
  195. package/dist/src/web-ui/app/styles/37-config-operations.css +197 -0
  196. package/dist/src/web-ui/app/styles/40-config-workspace.css +36 -36
  197. package/dist/src/web-ui/app/styles/90-responsive.css +14 -77
  198. package/dist/src/web-ui/app/styles/foundation.css +2 -2
  199. package/dist/src/web-ui/app/styles.css +7 -0
  200. package/dist/src/web-ui/app/ui-behavior.d.ts +1 -1
  201. package/dist/src/web-ui/app/ui-behavior.js +1 -1
  202. package/docs/configuration.md +15 -8
  203. package/docs/installation.md +7 -4
  204. package/docs/known-limitations.md +21 -0
  205. package/docs/plugins.md +28 -13
  206. package/docs/runtime-invariant-coverage.md +18 -17
  207. package/docs/runtime-prompt-policy-contracts.md +27 -17
  208. package/package.json +4 -3
  209. package/plugins/capability-brief/source/index.ts +5 -48
  210. package/plugins/capability-brief/src/index.cjs +46 -33
  211. package/plugins/system-probe/plugin.json +1 -0
  212. package/plugins/web/README.md +125 -0
  213. package/plugins/web/plugin.json +1 -1
  214. package/plugins/web/skills/web_fetch_skill/SKILL.md +2 -2
  215. package/plugins/web/skills/web_search_skill/SKILL.md +8 -4
  216. package/plugins/web/source/errors.ts +5 -1
  217. package/plugins/web/source/fetch-presentation.ts +61 -0
  218. package/plugins/web/source/fetch-service.ts +2 -31
  219. package/plugins/web/source/light/config.ts +196 -0
  220. package/plugins/web/source/light/crawl/origin-gate.ts +134 -0
  221. package/plugins/web/source/light/crawl/robots-cache.ts +71 -0
  222. package/plugins/web/source/light/crawl/robots-parser.ts +132 -0
  223. package/plugins/web/source/light/crawl/robots-policy.ts +154 -0
  224. package/plugins/web/source/light/crawl/session-budget.ts +141 -0
  225. package/plugins/web/source/light/crawl/transport.ts +216 -0
  226. package/plugins/web/source/light/discovery/candidate-values.ts +63 -0
  227. package/plugins/web/source/light/discovery/feed-document.ts +127 -0
  228. package/plugins/web/source/light/discovery/html-links.ts +80 -0
  229. package/plugins/web/source/light/discovery/html-robots-directives.ts +29 -0
  230. package/plugins/web/source/light/discovery/markup-tree.ts +145 -0
  231. package/plugins/web/source/light/discovery/origin-dates.ts +71 -0
  232. package/plugins/web/source/light/discovery/sitemap-document.ts +63 -0
  233. package/plugins/web/source/light/documents/cache-policy.ts +28 -0
  234. package/plugins/web/source/light/documents/document-cache.ts +99 -0
  235. package/plugins/web/source/light/documents/document-charset.ts +89 -0
  236. package/plugins/web/source/light/documents/document-contract.ts +20 -0
  237. package/plugins/web/source/light/documents/document-reader.ts +75 -0
  238. package/plugins/web/source/light/documents/extract-document.ts +124 -0
  239. package/plugins/web/source/light/documents/http-cache-freshness.ts +68 -0
  240. package/plugins/web/source/light/documents/response-decoding.ts +120 -0
  241. package/plugins/web/source/light/ranking/document-ranking.ts +114 -0
  242. package/plugins/web/source/light/ranking/query-normalization.ts +69 -0
  243. package/plugins/web/source/light/search-collection.ts +136 -0
  244. package/plugins/web/source/light/search-frontier.ts +246 -0
  245. package/plugins/web/source/light/search-metadata.ts +84 -0
  246. package/plugins/web/source/light/search-service.ts +154 -0
  247. package/plugins/web/source/light/search-unavailable.ts +33 -0
  248. package/plugins/web/source/light/sources/catalog.ts +312 -0
  249. package/plugins/web/source/light/sources/source-definition.ts +9 -0
  250. package/plugins/web/source/light/sources/source-selection.ts +35 -0
  251. package/plugins/web/source/plugin.ts +70 -56
  252. package/plugins/web/source/public-http.ts +10 -1
  253. package/plugins/web/source/search-presentation.ts +63 -63
  254. package/plugins/web/source/search-service-selector.ts +31 -0
  255. package/plugins/web/source/search-service.ts +6 -0
  256. package/plugins/web/source/search-source-presentation.ts +76 -0
  257. package/plugins/web/source/search-types.ts +4 -0
  258. package/plugins/web/source/source-output-receipts.ts +267 -0
  259. package/plugins/web/source/source-receipt-budget.ts +51 -0
  260. package/plugins/web/source/source-receipt-contract.ts +18 -0
  261. package/plugins/web/src/index.cjs +3214 -288
  262. package/src/runtime/README.md +30 -9
  263. package/dist/src/model-gateway/structured-output/budget.d.ts +0 -7
  264. package/dist/src/model-gateway/structured-output/budget.js +0 -20
  265. package/dist/src/model-gateway/structured-output/schema-character-estimator.d.ts +0 -1
  266. package/dist/src/model-gateway/structured-output/schema-character-estimator.js +0 -211
  267. package/dist/src/model-gateway/structured-output-budget.d.ts +0 -1
  268. package/dist/src/model-gateway/structured-output-budget.js +0 -1
@@ -34,238 +34,17 @@
34
34
  }
35
35
 
36
36
  .chat-header h2 {
37
- max-width: min(36vw, 520px);
37
+ max-width: 100%;
38
38
  margin: 0;
39
39
  overflow: hidden;
40
40
  color: var(--text-strong);
41
41
  text-overflow: ellipsis;
42
42
  white-space: nowrap;
43
- font-size: 16px;
43
+ font-size: var(--font-size-2xl);
44
44
  font-weight: 400;
45
45
  letter-spacing: -0.012em;
46
46
  }
47
47
 
48
- .header-controls {
49
- display: flex;
50
- flex: none;
51
- align-items: center;
52
- justify-content: flex-end;
53
- gap: 6px;
54
- min-width: 0;
55
- }
56
-
57
- .control-cluster {
58
- position: relative;
59
- display: block;
60
- min-width: 0;
61
- }
62
-
63
- .agent-mode-control {
64
- width: 152px;
65
- }
66
-
67
- .model-control {
68
- width: clamp(145px, 17vw, 220px);
69
- }
70
-
71
- .agent-mode-button,
72
- .model-select-button {
73
- min-height: 34px;
74
- border-color: transparent;
75
- border-radius: 9px;
76
- background: rgba(93, 133, 173, 0.08);
77
- color: var(--muted);
78
- box-shadow: none;
79
- }
80
-
81
- .agent-mode-button:hover,
82
- .model-select-button:hover {
83
- border-color: transparent;
84
- background: rgba(97, 143, 187, 0.12);
85
- color: var(--text);
86
- }
87
-
88
- .agent-mode-button {
89
- display: inline-flex;
90
- align-items: center;
91
- justify-content: flex-start;
92
- gap: 7px;
93
- width: 100%;
94
- padding: 0 9px;
95
- font-size: 12px;
96
- font-weight: 400;
97
- }
98
-
99
- .agent-mode-button > span:last-child {
100
- overflow: hidden;
101
- text-overflow: ellipsis;
102
- white-space: nowrap;
103
- }
104
-
105
- .agent-mode-icon,
106
- .agent-mode-option-icon {
107
- display: grid;
108
- place-items: center;
109
- width: 18px;
110
- height: 18px;
111
- border-radius: 5px;
112
- background: rgba(242, 187, 92, 0.1);
113
- color: #e8c47f;
114
- font-size: 10px;
115
- font-weight: 400;
116
- }
117
-
118
- .model-select-button {
119
- display: flex;
120
- align-items: center;
121
- justify-content: space-between;
122
- gap: 8px;
123
- width: 100%;
124
- min-width: 0;
125
- padding: 0 9px 0 11px;
126
- font-size: 12px;
127
- font-weight: 400;
128
- }
129
-
130
- .model-select-button > span {
131
- overflow: hidden;
132
- text-overflow: ellipsis;
133
- white-space: nowrap;
134
- }
135
-
136
- .model-select-button svg {
137
- flex: none;
138
- width: 14px;
139
- height: 14px;
140
- fill: none;
141
- stroke: currentColor;
142
- stroke-linecap: round;
143
- stroke-linejoin: round;
144
- stroke-width: 1.7;
145
- transition: transform 120ms ease;
146
- }
147
-
148
- .model-select-button.open svg {
149
- transform: rotate(180deg);
150
- }
151
-
152
- .agent-mode-menu,
153
- .model-select-menu,
154
- .permission-mode-menu {
155
- position: absolute;
156
- z-index: 80;
157
- display: grid;
158
- gap: 3px;
159
- padding: 5px;
160
- border: 1px solid var(--line);
161
- border-radius: 10px;
162
- background: #132438;
163
- box-shadow: 0 18px 42px rgba(0, 6, 16, 0.34);
164
- opacity: 0;
165
- pointer-events: none;
166
- transition:
167
- opacity 120ms ease,
168
- transform 120ms ease;
169
- }
170
-
171
- .agent-mode-menu {
172
- top: calc(100% + 7px);
173
- right: 0;
174
- width: 260px;
175
- transform: translateY(-4px);
176
- }
177
-
178
- .model-select-menu {
179
- top: calc(100% + 7px);
180
- right: 0;
181
- width: max(100%, 230px);
182
- max-height: min(420px, calc(100vh - 86px));
183
- overflow-y: auto;
184
- transform: translateY(-4px);
185
- }
186
-
187
- .agent-mode-menu.open,
188
- .model-select-menu.open,
189
- .permission-mode-menu.open {
190
- opacity: 1;
191
- pointer-events: auto;
192
- transform: none;
193
- }
194
-
195
- .agent-mode-option,
196
- .model-select-option,
197
- .permission-mode-option {
198
- border-color: transparent;
199
- border-radius: 7px;
200
- background: transparent;
201
- color: var(--text);
202
- text-align: left;
203
- box-shadow: none;
204
- }
205
-
206
- .agent-mode-option:hover,
207
- .agent-mode-option.selected,
208
- .model-select-option:hover,
209
- .model-select-option.selected,
210
- .permission-mode-option:hover,
211
- .permission-mode-option.selected {
212
- border-color: transparent;
213
- background: rgba(91, 138, 183, 0.11);
214
- }
215
-
216
- .model-select-option {
217
- display: grid;
218
- grid-template-columns: minmax(0, 1fr) 18px;
219
- gap: 10px;
220
- align-items: center;
221
- min-height: 38px;
222
- padding: 7px 9px;
223
- font-size: 13px;
224
- font-weight: 400;
225
- }
226
-
227
- .model-select-option-label {
228
- overflow: hidden;
229
- text-overflow: ellipsis;
230
- white-space: nowrap;
231
- }
232
-
233
- .model-select-check {
234
- color: #8eb7ec;
235
- text-align: center;
236
- }
237
-
238
- .agent-mode-option {
239
- display: grid;
240
- grid-template-columns: 24px minmax(0, 1fr);
241
- gap: 8px;
242
- align-items: center;
243
- min-height: 48px;
244
- padding: 7px 9px;
245
- }
246
-
247
- .agent-mode-option strong,
248
- .agent-mode-option small,
249
- .permission-mode-option strong,
250
- .permission-mode-option small {
251
- display: block;
252
- }
253
-
254
- .agent-mode-option strong,
255
- .permission-mode-option strong {
256
- color: var(--text);
257
- font-size: 12px;
258
- font-weight: 400;
259
- }
260
-
261
- .agent-mode-option small,
262
- .permission-mode-option small {
263
- margin-top: 2px;
264
- color: var(--muted-2);
265
- font-size: 11px;
266
- font-weight: 450;
267
- }
268
-
269
48
  .messages-list {
270
49
  grid-row: 2;
271
50
  display: flex;
@@ -321,7 +100,7 @@
321
100
  .runtime-setup-copy h3 {
322
101
  margin: 0;
323
102
  color: var(--text-strong);
324
- font-size: clamp(22px, 2.2vw, 28px);
103
+ font-size: clamp(1.75rem, 2.8vw, var(--font-size-7xl));
325
104
  letter-spacing: -0.026em;
326
105
  line-height: 1.25;
327
106
  }
@@ -330,7 +109,7 @@
330
109
  max-width: 620px;
331
110
  margin: 10px 0 0;
332
111
  color: var(--muted);
333
- font-size: 14px;
112
+ font-size: var(--font-size-xl);
334
113
  line-height: 1.65;
335
114
  }
336
115
 
@@ -346,12 +125,12 @@
346
125
 
347
126
  .runtime-setup-status strong {
348
127
  color: var(--text);
349
- font-size: 13px;
128
+ font-size: var(--font-size-lg);
350
129
  }
351
130
 
352
131
  .runtime-setup-status span {
353
132
  color: var(--muted);
354
- font-size: 12px;
133
+ font-size: var(--font-size-md);
355
134
  line-height: 1.5;
356
135
  }
357
136
 
@@ -375,7 +154,7 @@
375
154
  gap: 9px;
376
155
  margin: 0;
377
156
  color: var(--text);
378
- font-size: 13px;
157
+ font-size: var(--font-size-lg);
379
158
  line-height: 1.4;
380
159
  }
381
160
 
@@ -390,7 +169,7 @@
390
169
  border: 1px solid var(--line-strong);
391
170
  border-radius: 50%;
392
171
  color: var(--accent-strong);
393
- font-size: 11px;
172
+ font-size: var(--font-size-sm);
394
173
  }
395
174
 
396
175
  .runtime-provider-options {
@@ -429,13 +208,13 @@
429
208
 
430
209
  .runtime-provider-option strong {
431
210
  color: var(--text);
432
- font-size: 13px;
211
+ font-size: var(--font-size-lg);
433
212
  }
434
213
 
435
214
  .runtime-provider-option small {
436
215
  margin-top: 3px;
437
216
  color: var(--muted-2);
438
- font-size: 11.5px;
217
+ font-size: var(--font-size-sm);
439
218
  line-height: 1.4;
440
219
  }
441
220
 
@@ -454,7 +233,7 @@
454
233
  background: var(--control-bg);
455
234
  color: var(--text);
456
235
  font-family: var(--mono);
457
- font-size: 13px;
236
+ font-size: var(--font-size-lg);
458
237
  }
459
238
 
460
239
  .runtime-model-field input:focus {
@@ -464,7 +243,7 @@
464
243
 
465
244
  .runtime-model-field > small {
466
245
  color: var(--muted-2);
467
- font-size: 11.5px;
246
+ font-size: var(--font-size-sm);
468
247
  }
469
248
 
470
249
  .runtime-model-field > small.error {
@@ -483,7 +262,7 @@
483
262
  .runtime-setup-footer p {
484
263
  margin: 0;
485
264
  color: var(--muted);
486
- font-size: 12px;
265
+ font-size: var(--font-size-md);
487
266
  line-height: 1.6;
488
267
  }
489
268
 
@@ -511,7 +290,7 @@
511
290
  padding: 5px 7px 5px 11px;
512
291
  border-bottom: 1px solid rgba(122, 158, 191, 0.14);
513
292
  color: #93a9bd;
514
- font-size: 10.5px;
293
+ font-size: var(--font-size-xs);
515
294
  }
516
295
 
517
296
  .runtime-terminal-heading button {
@@ -521,7 +300,7 @@
521
300
  border-radius: 6px;
522
301
  background: rgba(112, 153, 190, 0.1);
523
302
  color: #c8d8e7;
524
- font-size: 10.5px;
303
+ font-size: var(--font-size-xs);
525
304
  }
526
305
 
527
306
  .runtime-terminal-heading button:hover:not(:disabled),
@@ -541,7 +320,7 @@
541
320
  overflow: auto;
542
321
  color: #d4e3f0;
543
322
  font-family: var(--mono);
544
- font-size: 11.5px;
323
+ font-size: var(--font-size-sm);
545
324
  line-height: 1.65;
546
325
  text-align: left;
547
326
  direction: ltr;
@@ -557,7 +336,7 @@
557
336
  min-height: 17px;
558
337
  padding: 0 11px 4px;
559
338
  color: #89b7dd;
560
- font-size: 10.5px;
339
+ font-size: var(--font-size-xs);
561
340
  }
562
341
 
563
342
  .runtime-copy-status.error {
@@ -575,7 +354,7 @@
575
354
  display: block;
576
355
  margin-bottom: 4px;
577
356
  color: var(--text);
578
- font-size: 12px;
357
+ font-size: var(--font-size-md);
579
358
  }
580
359
 
581
360
  .runtime-provider-note {
@@ -595,7 +374,7 @@
595
374
  background: var(--control-bg);
596
375
  color: var(--text);
597
376
  font-family: var(--mono);
598
- font-size: 10.5px;
377
+ font-size: var(--font-size-xs);
599
378
  }
600
379
 
601
380
  .runtime-setup-footer {
@@ -619,7 +398,7 @@
619
398
  border-radius: 10px;
620
399
  background: var(--accent-soft);
621
400
  color: var(--accent-strong);
622
- font-size: 13px;
401
+ font-size: var(--font-size-lg);
623
402
  }
624
403
 
625
404
  .runtime-setup-action:hover:not(:disabled) {
@@ -648,7 +427,7 @@
648
427
  .mode-empty-title {
649
428
  max-width: 560px;
650
429
  color: var(--text-strong);
651
- font-size: clamp(24px, 2.4vw, 29px);
430
+ font-size: clamp(var(--font-size-6xl), 3vw, var(--font-size-7xl));
652
431
  font-weight: 400;
653
432
  letter-spacing: -0.028em;
654
433
  line-height: 1.28;
@@ -659,7 +438,7 @@
659
438
  max-width: 520px;
660
439
  margin-top: 10px;
661
440
  color: var(--muted);
662
- font-size: 14px;
441
+ font-size: var(--font-size-xl);
663
442
  line-height: 1.6;
664
443
  }
665
444
 
@@ -687,7 +466,7 @@
687
466
  color: var(--text);
688
467
  white-space: pre-wrap;
689
468
  overflow-wrap: anywhere;
690
- font-size: 14.5px;
469
+ font-size: var(--font-size-xl);
691
470
  line-height: 1.65;
692
471
  }
693
472
 
@@ -713,11 +492,12 @@
713
492
 
714
493
  .message-meta {
715
494
  display: flex;
495
+ flex-wrap: wrap;
716
496
  align-items: center;
717
497
  gap: 8px;
718
498
  margin-bottom: 8px;
719
499
  color: var(--muted-2);
720
- font-size: 12px;
500
+ font-size: var(--font-size-md);
721
501
  font-weight: 400;
722
502
  }
723
503
 
@@ -816,12 +596,12 @@
816
596
  }
817
597
 
818
598
  .markdown-body h3 {
819
- font-size: 18px;
599
+ font-size: var(--font-size-4xl);
820
600
  }
821
601
 
822
602
  .markdown-body h4,
823
603
  .markdown-body h5 {
824
- font-size: 15px;
604
+ font-size: var(--font-size-2xl);
825
605
  }
826
606
 
827
607
  .markdown-body ul,
@@ -883,7 +663,7 @@
883
663
  border-radius: 9px;
884
664
  background: rgba(77, 111, 145, 0.055);
885
665
  color: var(--muted);
886
- font-size: 12.5px;
666
+ font-size: var(--font-size-md);
887
667
  font-style: normal;
888
668
  }
889
669
 
@@ -896,7 +676,7 @@
896
676
  color: var(--muted);
897
677
  cursor: pointer;
898
678
  list-style: none;
899
- font-size: 12px;
679
+ font-size: var(--font-size-md);
900
680
  font-weight: 500;
901
681
  }
902
682
 
@@ -906,7 +686,7 @@
906
686
 
907
687
  .thinking-card summary span:last-child {
908
688
  color: var(--muted-2);
909
- font-size: 11px;
689
+ font-size: var(--font-size-sm);
910
690
  }
911
691
 
912
692
  .thinking-body {
@@ -971,7 +751,7 @@
971
751
  color: var(--muted);
972
752
  text-overflow: ellipsis;
973
753
  white-space: nowrap;
974
- font-size: 12px;
754
+ font-size: var(--font-size-md);
975
755
  font-weight: 400;
976
756
  }
977
757
 
@@ -982,14 +762,14 @@
982
762
  color: var(--muted);
983
763
  text-overflow: ellipsis;
984
764
  white-space: nowrap;
985
- font-size: 11px;
765
+ font-size: var(--font-size-sm);
986
766
  font-weight: 400;
987
767
  }
988
768
 
989
769
  .conversation-activity-facts {
990
770
  flex: none;
991
771
  color: var(--muted-2);
992
- font-size: 11px;
772
+ font-size: var(--font-size-sm);
993
773
  font-variant-numeric: tabular-nums;
994
774
  }
995
775
 
@@ -1007,72 +787,6 @@
1007
787
  scrollbar-gutter: stable;
1008
788
  }
1009
789
 
1010
- .conversation-context-window {
1011
- display: grid;
1012
- gap: 7px;
1013
- margin: 2px 0 10px;
1014
- padding: 10px 12px;
1015
- border: 1px solid rgba(111, 154, 197, 0.16);
1016
- border-radius: 10px;
1017
- background: linear-gradient(
1018
- 135deg,
1019
- rgba(67, 112, 160, 0.1),
1020
- rgba(6, 18, 30, 0.22)
1021
- );
1022
- box-shadow: 0 6px 18px rgba(2, 10, 18, 0.08);
1023
- }
1024
-
1025
- .conversation-context-window-header {
1026
- display: flex;
1027
- align-items: baseline;
1028
- justify-content: space-between;
1029
- gap: 14px;
1030
- }
1031
-
1032
- .conversation-context-window-title {
1033
- color: var(--text);
1034
- font-size: 12px;
1035
- }
1036
-
1037
- .conversation-context-window-value {
1038
- color: #80b7ff;
1039
- font-family: var(--font-mono);
1040
- font-size: 11px;
1041
- font-variant-numeric: tabular-nums;
1042
- }
1043
-
1044
- .conversation-context-window-value.rejected {
1045
- color: #ef9a9a;
1046
- }
1047
-
1048
- .conversation-context-window-track {
1049
- height: 3px;
1050
- overflow: hidden;
1051
- border-radius: 999px;
1052
- background: rgba(118, 157, 198, 0.12);
1053
- }
1054
-
1055
- .conversation-context-window-track span {
1056
- display: block;
1057
- height: 100%;
1058
- border-radius: inherit;
1059
- background: #5d8fe1;
1060
- transition: width 180ms ease;
1061
- }
1062
-
1063
- .conversation-context-window-detail,
1064
- .conversation-context-window-provider,
1065
- .conversation-context-window-compaction {
1066
- color: var(--muted-2);
1067
- font-size: 10px;
1068
- line-height: 1.45;
1069
- }
1070
-
1071
- .conversation-context-window-compaction {
1072
- color: #8dd7b6;
1073
- font-family: var(--font-mono);
1074
- }
1075
-
1076
790
  .conversation-activity-progress {
1077
791
  display: grid;
1078
792
  gap: 7px;
@@ -1095,7 +809,7 @@
1095
809
  color: var(--text);
1096
810
  text-overflow: ellipsis;
1097
811
  white-space: nowrap;
1098
- font-size: 12px;
812
+ font-size: var(--font-size-md);
1099
813
  font-weight: 400;
1100
814
  }
1101
815
 
@@ -1103,7 +817,7 @@
1103
817
  flex: none;
1104
818
  color: var(--muted-2);
1105
819
  font-family: var(--font-mono);
1106
- font-size: 10px;
820
+ font-size: var(--font-size-xs);
1107
821
  }
1108
822
 
1109
823
  .conversation-activity-progress-track {
@@ -1136,7 +850,7 @@
1136
850
  align-items: center;
1137
851
  min-width: 0;
1138
852
  color: var(--muted);
1139
- font-size: 11px;
853
+ font-size: var(--font-size-sm);
1140
854
  line-height: 1.35;
1141
855
  }
1142
856
 
@@ -1233,7 +947,7 @@
1233
947
  color: var(--text);
1234
948
  text-overflow: ellipsis;
1235
949
  white-space: nowrap;
1236
- font-size: 11.5px;
950
+ font-size: var(--font-size-sm);
1237
951
  font-weight: 400;
1238
952
  }
1239
953
 
@@ -1245,7 +959,7 @@
1245
959
  flex: none;
1246
960
  color: var(--muted-2);
1247
961
  font-family: var(--font-mono);
1248
- font-size: 9px;
962
+ font-size: var(--font-size-xs);
1249
963
  }
1250
964
 
1251
965
  .conversation-activity-event-detail {
@@ -1255,7 +969,7 @@
1255
969
  color: var(--muted-2);
1256
970
  text-overflow: ellipsis;
1257
971
  white-space: nowrap;
1258
- font-size: 10.5px;
972
+ font-size: var(--font-size-xs);
1259
973
  line-height: 1.4;
1260
974
  }
1261
975
 
@@ -1273,7 +987,7 @@
1273
987
  gap: 8px;
1274
988
  margin: 5px 0 9px;
1275
989
  color: var(--muted);
1276
- font-size: 12px;
990
+ font-size: var(--font-size-md);
1277
991
  white-space: normal;
1278
992
  }
1279
993
 
@@ -1344,7 +1058,7 @@
1344
1058
  border-color: transparent;
1345
1059
  background: transparent;
1346
1060
  color: var(--muted-2);
1347
- font-size: 11px;
1061
+ font-size: var(--font-size-sm);
1348
1062
  font-weight: 500;
1349
1063
  box-shadow: none;
1350
1064
  }
@@ -1380,14 +1094,14 @@
1380
1094
 
1381
1095
  .approval-message-label {
1382
1096
  color: var(--muted-2);
1383
- font-size: 11px;
1097
+ font-size: var(--font-size-sm);
1384
1098
  font-weight: 500;
1385
1099
  line-height: 1.35;
1386
1100
  }
1387
1101
 
1388
1102
  .approval-message-title {
1389
1103
  color: var(--text-strong);
1390
- font-size: 14px;
1104
+ font-size: var(--font-size-xl);
1391
1105
  font-weight: 600;
1392
1106
  line-height: 1.4;
1393
1107
  }
@@ -1395,7 +1109,7 @@
1395
1109
  .approval-message-detail {
1396
1110
  margin: 0;
1397
1111
  color: var(--muted);
1398
- font-size: 12.5px;
1112
+ font-size: var(--font-size-md);
1399
1113
  line-height: 1.55;
1400
1114
  text-align: start;
1401
1115
  unicode-bidi: plaintext;
@@ -1414,7 +1128,7 @@
1414
1128
  min-height: 34px;
1415
1129
  padding: 0 13px;
1416
1130
  border-radius: 8px;
1417
- font-size: 12px;
1131
+ font-size: var(--font-size-md);
1418
1132
  font-weight: 600;
1419
1133
  }
1420
1134
 
@@ -1459,7 +1173,7 @@
1459
1173
 
1460
1174
  .composer {
1461
1175
  display: grid;
1462
- grid-template-columns: 34px auto minmax(0, 1fr) 36px;
1176
+ grid-template-columns: minmax(0, 1fr);
1463
1177
  grid-template-rows: auto auto auto;
1464
1178
  gap: 7px;
1465
1179
  align-items: center;
@@ -1495,7 +1209,7 @@
1495
1209
  border: 0;
1496
1210
  background: transparent;
1497
1211
  color: var(--text-strong);
1498
- font-size: 14.5px;
1212
+ font-size: var(--font-size-xl);
1499
1213
  line-height: 1.5;
1500
1214
  box-shadow: none;
1501
1215
  scrollbar-gutter: stable;
@@ -1539,7 +1253,7 @@
1539
1253
  border-radius: 7px;
1540
1254
  background: rgba(88, 129, 169, 0.07);
1541
1255
  color: var(--muted);
1542
- font-size: 12px;
1256
+ font-size: var(--font-size-md);
1543
1257
  }
1544
1258
 
1545
1259
  .attachment-chip button {
@@ -1566,8 +1280,6 @@
1566
1280
  }
1567
1281
 
1568
1282
  .attachment-button {
1569
- grid-column: 1;
1570
- grid-row: 3;
1571
1283
  background: transparent;
1572
1284
  color: var(--muted);
1573
1285
  }
@@ -1578,76 +1290,7 @@
1578
1290
  color: var(--text);
1579
1291
  }
1580
1292
 
1581
- .permission-mode-control {
1582
- position: relative;
1583
- grid-column: 2;
1584
- grid-row: 3;
1585
- }
1586
-
1587
- .permission-mode-button {
1588
- display: inline-flex;
1589
- align-items: center;
1590
- gap: 6px;
1591
- width: auto;
1592
- min-width: 0;
1593
- min-height: 32px;
1594
- padding: 0 9px;
1595
- border-color: transparent;
1596
- border-radius: 8px;
1597
- background: transparent;
1598
- color: var(--muted);
1599
- font-size: 11.5px;
1600
- font-weight: 500;
1601
- box-shadow: none;
1602
- }
1603
-
1604
- .permission-mode-button::after {
1605
- width: 5px;
1606
- height: 5px;
1607
- border-right: 1px solid currentColor;
1608
- border-bottom: 1px solid currentColor;
1609
- content: "";
1610
- opacity: 0.75;
1611
- transform: translateY(-1px) rotate(45deg);
1612
- }
1613
-
1614
- .permission-mode-button:hover,
1615
- .permission-mode-button.open {
1616
- border-color: transparent;
1617
- background: rgba(95, 139, 182, 0.08);
1618
- color: var(--text);
1619
- }
1620
-
1621
- .permission-mode-button.full {
1622
- background: transparent;
1623
- color: #d3b875;
1624
- }
1625
-
1626
- .permission-mode-label {
1627
- overflow: hidden;
1628
- text-overflow: ellipsis;
1629
- white-space: nowrap;
1630
- }
1631
-
1632
- .permission-mode-menu {
1633
- right: auto;
1634
- bottom: calc(100% + 7px);
1635
- left: 0;
1636
- min-width: 180px;
1637
- transform: translateY(4px);
1638
- }
1639
-
1640
- .permission-mode-option {
1641
- display: grid;
1642
- gap: 2px;
1643
- width: 100%;
1644
- min-height: 43px;
1645
- padding: 6px 8px;
1646
- }
1647
-
1648
1293
  .send-button {
1649
- grid-column: 4;
1650
- grid-row: 3;
1651
1294
  background: #2b6ddd;
1652
1295
  color: #fff;
1653
1296
  }
@@ -1663,25 +1306,6 @@
1663
1306
  opacity: 0.72;
1664
1307
  }
1665
1308
 
1666
- .composer.composer-has-split-action {
1667
- grid-template-columns: 34px auto minmax(0, 1fr) auto;
1668
- }
1669
-
1670
- .composer-submit-control {
1671
- position: relative;
1672
- grid-column: 4;
1673
- grid-row: 3;
1674
- display: inline-flex;
1675
- justify-self: end;
1676
- overflow: visible;
1677
- border-radius: 8px;
1678
- }
1679
-
1680
- .composer-submit-control .send-button {
1681
- grid-column: auto;
1682
- grid-row: auto;
1683
- }
1684
-
1685
1309
  .composer-submit-control.split .send-button {
1686
1310
  width: 32px;
1687
1311
  min-width: 32px;
@@ -1741,15 +1365,15 @@
1741
1365
  right: -5px;
1742
1366
  display: grid;
1743
1367
  place-items: center;
1744
- min-width: 14px;
1745
- height: 14px;
1368
+ min-width: 1.25rem;
1369
+ height: 1.25rem;
1746
1370
  padding: 0 3px;
1747
1371
  border: 1px solid #132438;
1748
1372
  border-radius: 999px;
1749
1373
  background: #6889a8;
1750
1374
  color: #f1f6fb;
1751
1375
  content: attr(data-count);
1752
- font-size: 8px;
1376
+ font-size: var(--font-size-xs);
1753
1377
  font-weight: 400;
1754
1378
  line-height: 1;
1755
1379
  }
@@ -1777,7 +1401,7 @@
1777
1401
  background: transparent;
1778
1402
  color: #c4d3e2;
1779
1403
  text-align: left;
1780
- font-size: 12px;
1404
+ font-size: var(--font-size-md);
1781
1405
  font-weight: 400;
1782
1406
  line-height: 1.2;
1783
1407
  box-shadow: none;
@@ -1806,7 +1430,7 @@
1806
1430
  border-radius: 999px;
1807
1431
  background: #12283d;
1808
1432
  color: #bfd2e7;
1809
- font-size: 11.5px;
1433
+ font-size: var(--font-size-sm);
1810
1434
  font-weight: 500;
1811
1435
  box-shadow: 0 10px 28px rgba(0, 6, 16, 0.25);
1812
1436
  }
@@ -1816,12 +1440,6 @@
1816
1440
  height: 14px;
1817
1441
  }
1818
1442
 
1819
- @media (max-width: 940px) {
1820
- .model-control {
1821
- width: 155px;
1822
- }
1823
- }
1824
-
1825
1443
  @media (max-width: 760px) {
1826
1444
  .chat-header {
1827
1445
  min-height: 52px;
@@ -1833,26 +1451,7 @@
1833
1451
  }
1834
1452
 
1835
1453
  .chat-header h2 {
1836
- max-width: calc(100vw - 224px);
1837
- font-size: 15px;
1838
- }
1839
-
1840
- .agent-mode-control {
1841
- width: 38px;
1842
- }
1843
-
1844
- .agent-mode-button {
1845
- justify-content: center;
1846
- width: 38px;
1847
- padding: 0;
1848
- }
1849
-
1850
- .agent-mode-button > span:last-child {
1851
- display: none;
1852
- }
1853
-
1854
- .model-control {
1855
- width: 126px;
1454
+ font-size: var(--font-size-2xl);
1856
1455
  }
1857
1456
 
1858
1457
  .messages-list {
@@ -1888,14 +1487,6 @@
1888
1487
  }
1889
1488
 
1890
1489
  @media (max-width: 460px) {
1891
- .model-control {
1892
- display: none;
1893
- }
1894
-
1895
- .chat-header h2 {
1896
- max-width: calc(100vw - 148px);
1897
- }
1898
-
1899
1490
  .chat-empty-state {
1900
1491
  padding: 18px 8px 54px;
1901
1492
  }
@@ -1923,14 +1514,6 @@
1923
1514
  }
1924
1515
 
1925
1516
  .mode-empty-title {
1926
- font-size: 24px;
1927
- }
1928
-
1929
- .message-bubble {
1930
- font-size: 14px;
1931
- }
1932
-
1933
- .composer textarea {
1934
- font-size: 14px;
1517
+ font-size: var(--font-size-6xl);
1935
1518
  }
1936
1519
  }