@songsid/agend 2.3.5-alpha.4 → 2.3.5-beta.1

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 (670) hide show
  1. package/README.md +0 -2
  2. package/README.zh-TW.md +0 -2
  3. package/THIRD_PARTY_NOTICES.md +12 -28
  4. package/dist/agent-cli-instructions.md +1 -1
  5. package/dist/agent-credentials.d.ts +24 -0
  6. package/dist/agent-credentials.js +66 -0
  7. package/dist/agent-credentials.js.map +1 -0
  8. package/dist/agent-endpoint.d.ts +4 -6
  9. package/dist/agent-endpoint.js +15 -12
  10. package/dist/agent-endpoint.js.map +1 -1
  11. package/dist/auth-api.d.ts +0 -21
  12. package/dist/auth-api.js +8 -93
  13. package/dist/auth-api.js.map +1 -1
  14. package/dist/authority/session-authorizations.d.ts +30 -4
  15. package/dist/authority/session-authorizations.js +69 -17
  16. package/dist/authority/session-authorizations.js.map +1 -1
  17. package/dist/authority/web-authority.d.ts +2 -12
  18. package/dist/authority/web-authority.js +4 -25
  19. package/dist/authority/web-authority.js.map +1 -1
  20. package/dist/backend/antigravity.js +3 -1
  21. package/dist/backend/antigravity.js.map +1 -1
  22. package/dist/backend/claude-code.d.ts +12 -15
  23. package/dist/backend/claude-code.js +133 -152
  24. package/dist/backend/claude-code.js.map +1 -1
  25. package/dist/backend/codex-metadata.d.ts +14 -0
  26. package/dist/backend/codex-metadata.js +45 -0
  27. package/dist/backend/codex-metadata.js.map +1 -1
  28. package/dist/backend/codex-package.d.ts +2 -5
  29. package/dist/backend/codex-package.js +5 -1
  30. package/dist/backend/codex-package.js.map +1 -1
  31. package/dist/backend/codex-quota-history.d.ts +7 -0
  32. package/dist/backend/codex-quota-history.js +72 -0
  33. package/dist/backend/codex-quota-history.js.map +1 -0
  34. package/dist/backend/codex-session-lookup.d.ts +6 -0
  35. package/dist/backend/codex-session-lookup.js +1 -1
  36. package/dist/backend/codex-session-lookup.js.map +1 -1
  37. package/dist/backend/codex-speed.d.ts +14 -0
  38. package/dist/backend/codex-speed.js +35 -0
  39. package/dist/backend/codex-speed.js.map +1 -0
  40. package/dist/backend/codex.d.ts +116 -136
  41. package/dist/backend/codex.js +912 -942
  42. package/dist/backend/codex.js.map +1 -1
  43. package/dist/backend/grok-weekly-reset.d.ts +24 -0
  44. package/dist/backend/grok-weekly-reset.js +95 -0
  45. package/dist/backend/grok-weekly-reset.js.map +1 -0
  46. package/dist/backend/grok.d.ts +30 -3
  47. package/dist/backend/grok.js +301 -76
  48. package/dist/backend/grok.js.map +1 -1
  49. package/dist/backend/kiro.d.ts +3 -0
  50. package/dist/backend/kiro.js +50 -2
  51. package/dist/backend/kiro.js.map +1 -1
  52. package/dist/backend/muse.js +5 -3
  53. package/dist/backend/muse.js.map +1 -1
  54. package/dist/backend/types.d.ts +15 -8
  55. package/dist/backend/types.js +3 -0
  56. package/dist/backend/types.js.map +1 -1
  57. package/dist/bundled-tmux-guard.d.ts +21 -0
  58. package/dist/bundled-tmux-guard.js +96 -0
  59. package/dist/bundled-tmux-guard.js.map +1 -0
  60. package/dist/cache-ledger.d.ts +95 -0
  61. package/dist/cache-ledger.js +276 -4
  62. package/dist/cache-ledger.js.map +1 -1
  63. package/dist/cache-service.d.ts +5 -0
  64. package/dist/cache-service.js +16 -4
  65. package/dist/cache-service.js.map +1 -1
  66. package/dist/channel/adapters/discord.js +11 -3
  67. package/dist/channel/adapters/discord.js.map +1 -1
  68. package/dist/channel/adapters/telegram.d.ts +51 -0
  69. package/dist/channel/adapters/telegram.js +235 -17
  70. package/dist/channel/adapters/telegram.js.map +1 -1
  71. package/dist/channel/ipc-bridge.d.ts +0 -2
  72. package/dist/channel/mcp-tools.js +3 -3
  73. package/dist/channel/mcp-tools.js.map +1 -1
  74. package/dist/channel/types.d.ts +2 -0
  75. package/dist/classic-channel-manager.d.ts +2 -0
  76. package/dist/classic-channel-manager.js +5 -1
  77. package/dist/classic-channel-manager.js.map +1 -1
  78. package/dist/cli.js +14 -10
  79. package/dist/cli.js.map +1 -1
  80. package/dist/config-validator.js +30 -71
  81. package/dist/config-validator.js.map +1 -1
  82. package/dist/config.js +3 -17
  83. package/dist/config.js.map +1 -1
  84. package/dist/cross-instance-notice.d.ts +10 -0
  85. package/dist/cross-instance-notice.js +67 -5
  86. package/dist/cross-instance-notice.js.map +1 -1
  87. package/dist/daemon.d.ts +70 -68
  88. package/dist/daemon.js +774 -846
  89. package/dist/daemon.js.map +1 -1
  90. package/dist/dashboard-permissions.d.ts +8 -0
  91. package/dist/dashboard-permissions.js +16 -0
  92. package/dist/dashboard-permissions.js.map +1 -1
  93. package/dist/delivery-consumed-watch.d.ts +26 -16
  94. package/dist/delivery-consumed-watch.js +31 -26
  95. package/dist/delivery-consumed-watch.js.map +1 -1
  96. package/dist/delivery-outbox.d.ts +0 -5
  97. package/dist/delivery-outbox.js +4 -32
  98. package/dist/delivery-outbox.js.map +1 -1
  99. package/dist/delivery-reconciliation.d.ts +42 -2
  100. package/dist/delivery-reconciliation.js +164 -2
  101. package/dist/delivery-reconciliation.js.map +1 -1
  102. package/dist/export-import.d.ts +7 -0
  103. package/dist/export-import.js +44 -10
  104. package/dist/export-import.js.map +1 -1
  105. package/dist/fleet-context.d.ts +4 -2
  106. package/dist/fleet-level-config.d.ts +1 -1
  107. package/dist/fleet-level-config.js +0 -2
  108. package/dist/fleet-level-config.js.map +1 -1
  109. package/dist/fleet-manager.d.ts +108 -245
  110. package/dist/fleet-manager.js +656 -2028
  111. package/dist/fleet-manager.js.map +1 -1
  112. package/dist/general-instance.d.ts +0 -7
  113. package/dist/general-instance.js +3 -20
  114. package/dist/general-instance.js.map +1 -1
  115. package/dist/general-knowledge/skills/concepts/SKILL.md +393 -0
  116. package/dist/general-knowledge/skills/cross-instance-messaging/SKILL.md +1 -0
  117. package/dist/general-knowledge/skills/instance-lifecycle/SKILL.md +3 -1
  118. package/dist/general-knowledge/skills/kiro-engine-migration/SKILL.md +41 -4
  119. package/dist/general-knowledge/skills/web-dashboard/SKILL.md +9 -3
  120. package/dist/general-knowledge/skills/worker-collaboration/SKILL.md +1 -1
  121. package/dist/instance-config-impact.js +6 -7
  122. package/dist/instance-config-impact.js.map +1 -1
  123. package/dist/instance-lifecycle.d.ts +19 -23
  124. package/dist/instance-lifecycle.js +216 -383
  125. package/dist/instance-lifecycle.js.map +1 -1
  126. package/dist/instance-topic-delete.d.ts +77 -0
  127. package/dist/instance-topic-delete.js +123 -0
  128. package/dist/instance-topic-delete.js.map +1 -0
  129. package/dist/instructions.d.ts +1 -3
  130. package/dist/instructions.js +1 -7
  131. package/dist/instructions.js.map +1 -1
  132. package/dist/kiro-engine-status.d.ts +11 -0
  133. package/dist/kiro-engine-status.js +6 -0
  134. package/dist/kiro-engine-status.js.map +1 -1
  135. package/dist/locale.js +63 -86
  136. package/dist/locale.js.map +1 -1
  137. package/dist/log-service.d.ts +28 -0
  138. package/dist/log-service.js +29 -0
  139. package/dist/log-service.js.map +1 -1
  140. package/dist/log-steps.d.ts +4 -3
  141. package/dist/log-steps.js +32 -7
  142. package/dist/log-steps.js.map +1 -1
  143. package/dist/logger.d.ts +16 -2
  144. package/dist/logger.js +346 -66
  145. package/dist/logger.js.map +1 -1
  146. package/dist/login-flows.d.ts +7 -0
  147. package/dist/login-flows.js +5 -2
  148. package/dist/login-flows.js.map +1 -1
  149. package/dist/login-manager.js +25 -4
  150. package/dist/login-manager.js.map +1 -1
  151. package/dist/missed-offline.d.ts +25 -0
  152. package/dist/missed-offline.js +79 -0
  153. package/dist/missed-offline.js.map +1 -0
  154. package/dist/muse-usage-relay.d.ts +2 -0
  155. package/dist/muse-usage-relay.js +5 -3
  156. package/dist/muse-usage-relay.js.map +1 -1
  157. package/dist/needs-you-hub.d.ts +6 -3
  158. package/dist/needs-you-hub.js +31 -9
  159. package/dist/needs-you-hub.js.map +1 -1
  160. package/dist/needs-you.d.ts +20 -18
  161. package/dist/needs-you.js +18 -14
  162. package/dist/needs-you.js.map +1 -1
  163. package/dist/office-share-page.js +1 -1
  164. package/dist/office-share-page.js.map +1 -1
  165. package/dist/outbound-handlers.d.ts +2 -16
  166. package/dist/outbound-handlers.js +10 -72
  167. package/dist/outbound-handlers.js.map +1 -1
  168. package/dist/outbound-schemas.d.ts +0 -38
  169. package/dist/outbound-schemas.js +5 -14
  170. package/dist/outbound-schemas.js.map +1 -1
  171. package/dist/pane-quota-history.d.ts +7 -0
  172. package/dist/pane-quota-history.js +47 -0
  173. package/dist/pane-quota-history.js.map +1 -0
  174. package/dist/platform-general.d.ts +46 -0
  175. package/dist/platform-general.js +91 -0
  176. package/dist/platform-general.js.map +1 -0
  177. package/dist/public-web-gateway.js +0 -9
  178. package/dist/public-web-gateway.js.map +1 -1
  179. package/dist/public-web-link.d.ts +0 -11
  180. package/dist/public-web-link.js +0 -13
  181. package/dist/public-web-link.js.map +1 -1
  182. package/dist/queued-handoffs.d.ts +33 -0
  183. package/dist/queued-handoffs.js +75 -0
  184. package/dist/queued-handoffs.js.map +1 -0
  185. package/dist/quickstart-api.js +5 -9
  186. package/dist/quickstart-api.js.map +1 -1
  187. package/dist/quickstart.d.ts +8 -1
  188. package/dist/quickstart.js +42 -4
  189. package/dist/quickstart.js.map +1 -1
  190. package/dist/quota-notice-config.d.ts +22 -0
  191. package/dist/quota-notice-config.js +41 -0
  192. package/dist/quota-notice-config.js.map +1 -0
  193. package/dist/quota-notice.d.ts +7 -0
  194. package/dist/quota-notice.js +40 -0
  195. package/dist/quota-notice.js.map +1 -1
  196. package/dist/reply-buttons-controller.js +10 -6
  197. package/dist/reply-buttons-controller.js.map +1 -1
  198. package/dist/reply-polls.d.ts +2 -2
  199. package/dist/reply-polls.js +3 -3
  200. package/dist/reply-polls.js.map +1 -1
  201. package/dist/scheduler/db.d.ts +2 -1
  202. package/dist/scheduler/db.js +23 -9
  203. package/dist/scheduler/db.js.map +1 -1
  204. package/dist/scheduler/task-board.d.ts +9 -0
  205. package/dist/scheduler/task-board.js +19 -0
  206. package/dist/scheduler/task-board.js.map +1 -1
  207. package/dist/settings-api.d.ts +13 -5
  208. package/dist/settings-api.js +26 -96
  209. package/dist/settings-api.js.map +1 -1
  210. package/dist/settings-baseline.d.ts +0 -1
  211. package/dist/settings-baseline.js +1 -1
  212. package/dist/settings-baseline.js.map +1 -1
  213. package/dist/settings-change.js +23 -28
  214. package/dist/settings-change.js.map +1 -1
  215. package/dist/settings-confirmation.d.ts +1 -16
  216. package/dist/settings-confirmation.js +9 -47
  217. package/dist/settings-confirmation.js.map +1 -1
  218. package/dist/settings-effect.d.ts +0 -4
  219. package/dist/settings-effect.js +1 -58
  220. package/dist/settings-effect.js.map +1 -1
  221. package/dist/settings-http-confirmation.d.ts +0 -4
  222. package/dist/settings-http-confirmation.js +3 -31
  223. package/dist/settings-http-confirmation.js.map +1 -1
  224. package/dist/settings-instance-patch.js +28 -1
  225. package/dist/settings-instance-patch.js.map +1 -1
  226. package/dist/settings-request-capability.d.ts +0 -2
  227. package/dist/settings-request-capability.js +0 -4
  228. package/dist/settings-request-capability.js.map +1 -1
  229. package/dist/settings-transaction.d.ts +0 -4
  230. package/dist/settings-transaction.js +0 -9
  231. package/dist/settings-transaction.js.map +1 -1
  232. package/dist/setup-form.js +3 -6
  233. package/dist/setup-form.js.map +1 -1
  234. package/dist/setup-i18n.js +0 -3
  235. package/dist/setup-i18n.js.map +1 -1
  236. package/dist/task-board-tool.d.ts +11 -0
  237. package/dist/task-board-tool.js +44 -0
  238. package/dist/task-board-tool.js.map +1 -1
  239. package/dist/task-board-waker.d.ts +6 -0
  240. package/dist/task-board-waker.js +4 -0
  241. package/dist/task-board-waker.js.map +1 -1
  242. package/dist/tmux-control.d.ts +1 -2
  243. package/dist/tmux-control.js.map +1 -1
  244. package/dist/tmux-manager.d.ts +1 -2
  245. package/dist/tmux-manager.js.map +1 -1
  246. package/dist/tool-permissions.d.ts +5 -2
  247. package/dist/tool-permissions.js +7 -7
  248. package/dist/tool-permissions.js.map +1 -1
  249. package/dist/tool-progress.d.ts +2 -0
  250. package/dist/tool-progress.js +19 -3
  251. package/dist/tool-progress.js.map +1 -1
  252. package/dist/topic-commands.js +4 -3
  253. package/dist/topic-commands.js.map +1 -1
  254. package/dist/transcript-delta-reader.d.ts +1 -1
  255. package/dist/transcript-delta-reader.js +1 -1
  256. package/dist/transcript-delta-reader.js.map +1 -1
  257. package/dist/transcript-monitor.d.ts +20 -3
  258. package/dist/transcript-monitor.js +92 -24
  259. package/dist/transcript-monitor.js.map +1 -1
  260. package/dist/transcript-sources.d.ts +0 -5
  261. package/dist/transcript-sources.js +79 -8
  262. package/dist/transcript-sources.js.map +1 -1
  263. package/dist/types.d.ts +3 -23
  264. package/dist/ui/app.html +8 -1
  265. package/dist/ui/backend-signin.js +21 -36
  266. package/dist/ui/chat-md-strings.js +9 -0
  267. package/dist/ui/chat-store.js +2 -13
  268. package/dist/ui/chat-strings.js +2 -50
  269. package/dist/ui/chat-thread.js +53 -3
  270. package/dist/ui/fleet-task-card.js +3 -3
  271. package/dist/ui/fleet-task-common.js +10 -0
  272. package/dist/ui/fleet-tasks.js +7 -5
  273. package/dist/ui/fleet-usage.js +90 -27
  274. package/dist/ui/panel-chat.js +37 -66
  275. package/dist/ui/panel-details.js +1 -2
  276. package/dist/ui/panel-fleet.js +88 -107
  277. package/dist/ui/panel-needs.js +21 -163
  278. package/dist/ui/panel-notices.js +4 -3
  279. package/dist/ui/panel-settings.js +149 -239
  280. package/dist/ui/preview-panel.js +84 -6
  281. package/dist/ui/search-dialog.js +3 -2
  282. package/dist/ui/settings-appearance.js +23 -122
  283. package/dist/ui/settings-catalog.js +10 -37
  284. package/dist/ui/settings-codex-copy.js +19 -0
  285. package/dist/ui/settings-confirm.js +1 -3
  286. package/dist/ui/settings-dialogs.js +20 -27
  287. package/dist/ui/settings-guests.js +14 -27
  288. package/dist/ui/settings-model.js +17 -12
  289. package/dist/ui/settings-quota-notice.js +100 -0
  290. package/dist/ui/settings-registry.js +4 -11
  291. package/dist/ui/settings-strings.js +4 -113
  292. package/dist/ui/settings-web-authority.js +13 -15
  293. package/dist/ui/shared/app-i18n.js +2 -2
  294. package/dist/ui/shared/app-needs.js +1 -1
  295. package/dist/ui/shared/app-route.js +2 -6
  296. package/dist/ui/shared/app-shell.js +18 -23
  297. package/dist/ui/shared/app-store.js +2 -3
  298. package/dist/ui/shared/app-stream.js +1 -3
  299. package/dist/ui/shared/app.css +40 -1312
  300. package/dist/ui/shared/app.js +2 -5
  301. package/dist/ui/shared/header-tools.js +4 -6
  302. package/dist/ui/shared/instance-nav.js +7 -34
  303. package/dist/ui/shared/instance-switch.js +3 -4
  304. package/dist/ui/shared/loading.css +37 -0
  305. package/dist/ui/shared/panel-view.js +77 -4
  306. package/dist/ui/shared/signin.js +6 -39
  307. package/dist/ui/shared/tokens.css +0 -1
  308. package/dist/ui/shared/ui-dialog.js +2 -2
  309. package/dist/ui/shared/ui-menu.js +10 -30
  310. package/dist/ui/shared/ui-states.js +14 -3
  311. package/dist/ui/shared/usage-dialog.js +18 -1
  312. package/dist/ui/shared/vendor/vendor.json +2 -19
  313. package/dist/ui/shared/view-history.css +17 -0
  314. package/dist/ui/shared/view-history.js +438 -0
  315. package/dist/ui/shared/view-strings.js +16 -8
  316. package/dist/ui/signin.html +5 -2
  317. package/dist/unattended-install.d.ts +11 -2
  318. package/dist/unattended-install.js +39 -5
  319. package/dist/unattended-install.js.map +1 -1
  320. package/dist/usage/capacity.d.ts +69 -0
  321. package/dist/usage/capacity.js +119 -0
  322. package/dist/usage/capacity.js.map +1 -0
  323. package/dist/usage/i18n-keys.d.ts +1 -1
  324. package/dist/usage/i18n-keys.js +3 -0
  325. package/dist/usage/i18n-keys.js.map +1 -1
  326. package/dist/usage/profile-timeline.d.ts +16 -0
  327. package/dist/usage/profile-timeline.js +58 -0
  328. package/dist/usage/profile-timeline.js.map +1 -0
  329. package/dist/usage/providers.d.ts +5 -0
  330. package/dist/usage/providers.js +5 -0
  331. package/dist/usage/providers.js.map +1 -1
  332. package/dist/usage/quota-history.d.ts +43 -0
  333. package/dist/usage/quota-history.js +168 -0
  334. package/dist/usage/quota-history.js.map +1 -0
  335. package/dist/usage/quota-notices.d.ts +38 -0
  336. package/dist/usage/quota-notices.js +160 -0
  337. package/dist/usage/quota-notices.js.map +1 -0
  338. package/dist/usage/usage-api.d.ts +32 -0
  339. package/dist/usage/usage-api.js +96 -1
  340. package/dist/usage/usage-api.js.map +1 -1
  341. package/dist/usage-report.d.ts +25 -1
  342. package/dist/usage-report.js +55 -4
  343. package/dist/usage-report.js.map +1 -1
  344. package/dist/usage-rollup.d.ts +6 -1
  345. package/dist/usage-rollup.js +16 -4
  346. package/dist/usage-rollup.js.map +1 -1
  347. package/dist/view-api.d.ts +16 -0
  348. package/dist/view-api.js +100 -16
  349. package/dist/view-api.js.map +1 -1
  350. package/dist/view-history.d.ts +84 -0
  351. package/dist/view-history.js +116 -0
  352. package/dist/view-history.js.map +1 -0
  353. package/dist/web-api.d.ts +6 -38
  354. package/dist/web-api.js +20 -255
  355. package/dist/web-api.js.map +1 -1
  356. package/dist/web-chat-history.d.ts +2 -19
  357. package/dist/web-chat-history.js +3 -72
  358. package/dist/web-chat-history.js.map +1 -1
  359. package/dist/web-only-fleet.d.ts +0 -20
  360. package/dist/web-only-fleet.js +0 -21
  361. package/dist/web-only-fleet.js.map +1 -1
  362. package/dist/web-session-authorization.d.ts +13 -2
  363. package/dist/web-session-authorization.js +10 -3
  364. package/dist/web-session-authorization.js.map +1 -1
  365. package/dist/web-session.d.ts +0 -7
  366. package/dist/web-session.js +0 -2
  367. package/dist/web-session.js.map +1 -1
  368. package/dist/web-shell-routes.d.ts +1 -4
  369. package/dist/web-shell-routes.js +2 -7
  370. package/dist/web-shell-routes.js.map +1 -1
  371. package/launcher/private-home.cjs +1 -1
  372. package/package.json +3 -9
  373. package/dist/agent-runtime-api.d.ts +0 -4
  374. package/dist/agent-runtime-api.js +0 -59
  375. package/dist/agent-runtime-api.js.map +0 -1
  376. package/dist/agent-runtime-change.d.ts +0 -74
  377. package/dist/agent-runtime-change.js +0 -102
  378. package/dist/agent-runtime-change.js.map +0 -1
  379. package/dist/backend/grok-model-cache.d.ts +0 -7
  380. package/dist/backend/grok-model-cache.js +0 -65
  381. package/dist/backend/grok-model-cache.js.map +0 -1
  382. package/dist/backend/native-pane.d.ts +0 -9
  383. package/dist/backend/native-pane.js +0 -59
  384. package/dist/backend/native-pane.js.map +0 -1
  385. package/dist/fleet-windows-runtime.d.ts +0 -97
  386. package/dist/fleet-windows-runtime.js +0 -449
  387. package/dist/fleet-windows-runtime.js.map +0 -1
  388. package/dist/general-binding.d.ts +0 -85
  389. package/dist/general-binding.js +0 -298
  390. package/dist/general-binding.js.map +0 -1
  391. package/dist/general-host-owner.d.ts +0 -8
  392. package/dist/general-host-owner.js +0 -26
  393. package/dist/general-host-owner.js.map +0 -1
  394. package/dist/general-role.d.ts +0 -5
  395. package/dist/general-role.js +0 -26
  396. package/dist/general-role.js.map +0 -1
  397. package/dist/local-pane-endpoint.d.ts +0 -46
  398. package/dist/local-pane-endpoint.js +0 -189
  399. package/dist/local-pane-endpoint.js.map +0 -1
  400. package/dist/local-pane-launcher.d.ts +0 -2
  401. package/dist/local-pane-launcher.js +0 -38
  402. package/dist/local-pane-launcher.js.map +0 -1
  403. package/dist/local-pane-stage.ps1 +0 -101
  404. package/dist/model-catalog-defaults.d.ts +0 -14
  405. package/dist/model-catalog-defaults.js +0 -20
  406. package/dist/model-catalog-defaults.js.map +0 -1
  407. package/dist/native-agent-admission.d.ts +0 -7
  408. package/dist/native-agent-admission.js +0 -26
  409. package/dist/native-agent-admission.js.map +0 -1
  410. package/dist/native-daemon-client.d.ts +0 -13
  411. package/dist/native-daemon-client.js +0 -28
  412. package/dist/native-daemon-client.js.map +0 -1
  413. package/dist/native-instance-api.d.ts +0 -14
  414. package/dist/native-instance-api.js +0 -205
  415. package/dist/native-instance-api.js.map +0 -1
  416. package/dist/native-instance-input.d.ts +0 -84
  417. package/dist/native-instance-input.js +0 -54
  418. package/dist/native-instance-input.js.map +0 -1
  419. package/dist/native-instance-registry.d.ts +0 -32
  420. package/dist/native-instance-registry.js +0 -105
  421. package/dist/native-instance-registry.js.map +0 -1
  422. package/dist/native-mcp.d.ts +0 -40
  423. package/dist/native-mcp.js +0 -278
  424. package/dist/native-mcp.js.map +0 -1
  425. package/dist/native-model-catalog.d.ts +0 -5
  426. package/dist/native-model-catalog.js +0 -76
  427. package/dist/native-model-catalog.js.map +0 -1
  428. package/dist/native-pane-crash-budget.d.ts +0 -20
  429. package/dist/native-pane-crash-budget.js +0 -60
  430. package/dist/native-pane-crash-budget.js.map +0 -1
  431. package/dist/native-pane-create.d.ts +0 -26
  432. package/dist/native-pane-create.js +0 -53
  433. package/dist/native-pane-create.js.map +0 -1
  434. package/dist/native-pane-lifecycle.d.ts +0 -65
  435. package/dist/native-pane-lifecycle.js +0 -230
  436. package/dist/native-pane-lifecycle.js.map +0 -1
  437. package/dist/native-pane-manager.d.ts +0 -59
  438. package/dist/native-pane-manager.js +0 -584
  439. package/dist/native-pane-manager.js.map +0 -1
  440. package/dist/native-pane-output-log.d.ts +0 -15
  441. package/dist/native-pane-output-log.js +0 -108
  442. package/dist/native-pane-output-log.js.map +0 -1
  443. package/dist/native-pane-reconciliation.d.ts +0 -4
  444. package/dist/native-pane-reconciliation.js +0 -40
  445. package/dist/native-pane-reconciliation.js.map +0 -1
  446. package/dist/native-pane-recovery.d.ts +0 -12
  447. package/dist/native-pane-recovery.js +0 -10
  448. package/dist/native-pane-recovery.js.map +0 -1
  449. package/dist/native-pane-tools.d.ts +0 -2
  450. package/dist/native-pane-tools.js +0 -14
  451. package/dist/native-pane-tools.js.map +0 -1
  452. package/dist/pane-port.d.ts +0 -118
  453. package/dist/pane-port.js +0 -2
  454. package/dist/pane-port.js.map +0 -1
  455. package/dist/runtime-api.d.ts +0 -8
  456. package/dist/runtime-api.js +0 -171
  457. package/dist/runtime-api.js.map +0 -1
  458. package/dist/runtime-assets/@xterm/addon-serialize/LICENSE +0 -21
  459. package/dist/runtime-assets/@xterm/addon-serialize/lib/addon-serialize.js +0 -2
  460. package/dist/runtime-assets/@xterm/addon-serialize/lib/addon-serialize.mjs +0 -19
  461. package/dist/runtime-assets/@xterm/addon-serialize/package.json +0 -29
  462. package/dist/runtime-assets/@xterm/headless/LICENSE +0 -21
  463. package/dist/runtime-assets/@xterm/headless/lib-headless/xterm-headless.js +0 -2
  464. package/dist/runtime-assets/@xterm/headless/lib-headless/xterm-headless.mjs +0 -46
  465. package/dist/runtime-assets/@xterm/headless/package.json +0 -29
  466. package/dist/runtime-assets/node-pty/CONPTY-LICENSE +0 -21
  467. package/dist/runtime-assets/node-pty/CONPTY-NOTICE.md +0 -503
  468. package/dist/runtime-assets/node-pty/LICENSE +0 -69
  469. package/dist/runtime-assets/node-pty/lib/conpty_console_list_agent.js +0 -16
  470. package/dist/runtime-assets/node-pty/lib/eventEmitter2.js +0 -47
  471. package/dist/runtime-assets/node-pty/lib/index.js +0 -52
  472. package/dist/runtime-assets/node-pty/lib/interfaces.js +0 -7
  473. package/dist/runtime-assets/node-pty/lib/shared/conout.js +0 -11
  474. package/dist/runtime-assets/node-pty/lib/terminal.js +0 -190
  475. package/dist/runtime-assets/node-pty/lib/types.js +0 -7
  476. package/dist/runtime-assets/node-pty/lib/unixTerminal.js +0 -346
  477. package/dist/runtime-assets/node-pty/lib/utils.js +0 -39
  478. package/dist/runtime-assets/node-pty/lib/windowsConoutConnection.js +0 -125
  479. package/dist/runtime-assets/node-pty/lib/windowsPtyAgent.js +0 -320
  480. package/dist/runtime-assets/node-pty/lib/windowsTerminal.js +0 -199
  481. package/dist/runtime-assets/node-pty/lib/worker/conoutSocketWorker.js +0 -22
  482. package/dist/runtime-assets/node-pty/package.json +0 -64
  483. package/dist/runtime-assets/node-pty/prebuilds/win32-arm64/conpty/OpenConsole.exe +0 -0
  484. package/dist/runtime-assets/node-pty/prebuilds/win32-arm64/conpty/conpty.dll +0 -0
  485. package/dist/runtime-assets/node-pty/prebuilds/win32-arm64/conpty.node +0 -0
  486. package/dist/runtime-assets/node-pty/prebuilds/win32-arm64/conpty_console_list.node +0 -0
  487. package/dist/runtime-assets/node-pty/prebuilds/win32-x64/conpty/OpenConsole.exe +0 -0
  488. package/dist/runtime-assets/node-pty/prebuilds/win32-x64/conpty/conpty.dll +0 -0
  489. package/dist/runtime-assets/node-pty/prebuilds/win32-x64/conpty.node +0 -0
  490. package/dist/runtime-assets/node-pty/prebuilds/win32-x64/conpty_console_list.node +0 -0
  491. package/dist/runtime-build-info.d.ts +0 -9
  492. package/dist/runtime-build-info.js +0 -57
  493. package/dist/runtime-build-info.js.map +0 -1
  494. package/dist/runtime-bundle.d.ts +0 -19
  495. package/dist/runtime-bundle.js +0 -156
  496. package/dist/runtime-bundle.js.map +0 -1
  497. package/dist/runtime-cli.d.ts +0 -7
  498. package/dist/runtime-cli.js +0 -152
  499. package/dist/runtime-cli.js.map +0 -1
  500. package/dist/runtime-client-store.d.ts +0 -68
  501. package/dist/runtime-client-store.js +0 -344
  502. package/dist/runtime-client-store.js.map +0 -1
  503. package/dist/runtime-client.d.ts +0 -112
  504. package/dist/runtime-client.js +0 -736
  505. package/dist/runtime-client.js.map +0 -1
  506. package/dist/runtime-connection.d.ts +0 -22
  507. package/dist/runtime-connection.js +0 -93
  508. package/dist/runtime-connection.js.map +0 -1
  509. package/dist/runtime-coordinator.d.ts +0 -91
  510. package/dist/runtime-coordinator.js +0 -911
  511. package/dist/runtime-coordinator.js.map +0 -1
  512. package/dist/runtime-general-protocol.d.ts +0 -22
  513. package/dist/runtime-general-protocol.js +0 -57
  514. package/dist/runtime-general-protocol.js.map +0 -1
  515. package/dist/runtime-general-workspace.d.ts +0 -17
  516. package/dist/runtime-general-workspace.js +0 -213
  517. package/dist/runtime-general-workspace.js.map +0 -1
  518. package/dist/runtime-pane-assets.d.ts +0 -17
  519. package/dist/runtime-pane-assets.js +0 -23
  520. package/dist/runtime-pane-assets.js.map +0 -1
  521. package/dist/runtime-pane-boot.d.ts +0 -9
  522. package/dist/runtime-pane-boot.js +0 -47
  523. package/dist/runtime-pane-boot.js.map +0 -1
  524. package/dist/runtime-pane-codex-index.d.ts +0 -1
  525. package/dist/runtime-pane-codex-index.js +0 -47
  526. package/dist/runtime-pane-codex-index.js.map +0 -1
  527. package/dist/runtime-pane-config.d.ts +0 -16
  528. package/dist/runtime-pane-config.js +0 -54
  529. package/dist/runtime-pane-config.js.map +0 -1
  530. package/dist/runtime-pane-host.d.ts +0 -44
  531. package/dist/runtime-pane-host.js +0 -424
  532. package/dist/runtime-pane-host.js.map +0 -1
  533. package/dist/runtime-pane-job-owner.d.ts +0 -1
  534. package/dist/runtime-pane-job-owner.js +0 -29
  535. package/dist/runtime-pane-job-owner.js.map +0 -1
  536. package/dist/runtime-pane-job.ps1 +0 -116
  537. package/dist/runtime-pane-link.d.ts +0 -40
  538. package/dist/runtime-pane-link.js +0 -246
  539. package/dist/runtime-pane-link.js.map +0 -1
  540. package/dist/runtime-pane-mcp-protocol.d.ts +0 -32
  541. package/dist/runtime-pane-mcp-protocol.js +0 -39
  542. package/dist/runtime-pane-mcp-protocol.js.map +0 -1
  543. package/dist/runtime-pane-mcp-relay.d.ts +0 -17
  544. package/dist/runtime-pane-mcp-relay.js +0 -70
  545. package/dist/runtime-pane-mcp-relay.js.map +0 -1
  546. package/dist/runtime-pane-mcp.d.ts +0 -51
  547. package/dist/runtime-pane-mcp.js +0 -150
  548. package/dist/runtime-pane-mcp.js.map +0 -1
  549. package/dist/runtime-pane-native.d.ts +0 -45
  550. package/dist/runtime-pane-native.js +0 -65
  551. package/dist/runtime-pane-native.js.map +0 -1
  552. package/dist/runtime-pane-output.d.ts +0 -19
  553. package/dist/runtime-pane-output.js +0 -53
  554. package/dist/runtime-pane-output.js.map +0 -1
  555. package/dist/runtime-pane-port.d.ts +0 -139
  556. package/dist/runtime-pane-port.js +0 -558
  557. package/dist/runtime-pane-port.js.map +0 -1
  558. package/dist/runtime-pane-private.d.ts +0 -14
  559. package/dist/runtime-pane-private.js +0 -51
  560. package/dist/runtime-pane-private.js.map +0 -1
  561. package/dist/runtime-pane-private.ps1 +0 -14
  562. package/dist/runtime-pane-process.d.ts +0 -4
  563. package/dist/runtime-pane-process.js +0 -108
  564. package/dist/runtime-pane-process.js.map +0 -1
  565. package/dist/runtime-pane-protocol.d.ts +0 -172
  566. package/dist/runtime-pane-protocol.js +0 -195
  567. package/dist/runtime-pane-protocol.js.map +0 -1
  568. package/dist/runtime-pane-screen.d.ts +0 -19
  569. package/dist/runtime-pane-screen.js +0 -76
  570. package/dist/runtime-pane-screen.js.map +0 -1
  571. package/dist/runtime-pane-service.d.ts +0 -11
  572. package/dist/runtime-pane-service.js +0 -221
  573. package/dist/runtime-pane-service.js.map +0 -1
  574. package/dist/runtime-pane-stdio-protocol.d.ts +0 -54
  575. package/dist/runtime-pane-stdio-protocol.js +0 -94
  576. package/dist/runtime-pane-stdio-protocol.js.map +0 -1
  577. package/dist/runtime-pane-stdio.d.ts +0 -3
  578. package/dist/runtime-pane-stdio.js +0 -123
  579. package/dist/runtime-pane-stdio.js.map +0 -1
  580. package/dist/runtime-pane-store.d.ts +0 -33
  581. package/dist/runtime-pane-store.js +0 -164
  582. package/dist/runtime-pane-store.js.map +0 -1
  583. package/dist/runtime-pane-transcript-protocol.d.ts +0 -43
  584. package/dist/runtime-pane-transcript-protocol.js +0 -58
  585. package/dist/runtime-pane-transcript-protocol.js.map +0 -1
  586. package/dist/runtime-pane-transcript.d.ts +0 -45
  587. package/dist/runtime-pane-transcript.js +0 -605
  588. package/dist/runtime-pane-transcript.js.map +0 -1
  589. package/dist/runtime-pane-worker.d.ts +0 -1
  590. package/dist/runtime-pane-worker.js +0 -154
  591. package/dist/runtime-pane-worker.js.map +0 -1
  592. package/dist/runtime-protocol.d.ts +0 -162
  593. package/dist/runtime-protocol.js +0 -37
  594. package/dist/runtime-protocol.js.map +0 -1
  595. package/dist/runtime-switches.d.ts +0 -79
  596. package/dist/runtime-switches.js +0 -90
  597. package/dist/runtime-switches.js.map +0 -1
  598. package/dist/runtime-transcript-delta-reader.d.ts +0 -23
  599. package/dist/runtime-transcript-delta-reader.js +0 -74
  600. package/dist/runtime-transcript-delta-reader.js.map +0 -1
  601. package/dist/runtime-transcript-source.d.ts +0 -36
  602. package/dist/runtime-transcript-source.js +0 -189
  603. package/dist/runtime-transcript-source.js.map +0 -1
  604. package/dist/runtime-windows-bridge.d.ts +0 -41
  605. package/dist/runtime-windows-bridge.js +0 -157
  606. package/dist/runtime-windows-bridge.js.map +0 -1
  607. package/dist/settings-route-lifetime.d.ts +0 -14
  608. package/dist/settings-route-lifetime.js +0 -48
  609. package/dist/settings-route-lifetime.js.map +0 -1
  610. package/dist/tmux-pane-host.d.ts +0 -26
  611. package/dist/tmux-pane-host.js +0 -25
  612. package/dist/tmux-pane-host.js.map +0 -1
  613. package/dist/transcript-needles.d.ts +0 -35
  614. package/dist/transcript-needles.js +0 -158
  615. package/dist/transcript-needles.js.map +0 -1
  616. package/dist/transcript-records.d.ts +0 -21
  617. package/dist/transcript-records.js +0 -140
  618. package/dist/transcript-records.js.map +0 -1
  619. package/dist/ui/agent-proposals.js +0 -90
  620. package/dist/ui/agent-runtime-settings.js +0 -67
  621. package/dist/ui/agent-runtime.js +0 -124
  622. package/dist/ui/cli-picker.js +0 -42
  623. package/dist/ui/general-location.js +0 -71
  624. package/dist/ui/native-instance-settings.js +0 -44
  625. package/dist/ui/native-pane-recovery.js +0 -45
  626. package/dist/ui/panel-runtimes.js +0 -334
  627. package/dist/ui/panel-windows-agent.js +0 -86
  628. package/dist/ui/panel-windows-cli.js +0 -179
  629. package/dist/ui/provider-marks.js +0 -83
  630. package/dist/ui/runtime-catalog.js +0 -55
  631. package/dist/ui/settings-agent-filters.js +0 -94
  632. package/dist/ui/settings-layout.js +0 -245
  633. package/dist/ui/settings-outside.js +0 -176
  634. package/dist/ui/settings-shortcuts.js +0 -65
  635. package/dist/ui/shared/machine-name.js +0 -13
  636. package/dist/ui/shared/qrcode.module.js +0 -2237
  637. package/dist/ui/shared/settings-width.js +0 -31
  638. package/dist/ui/shared/vendor/qrcode-generator.LICENSE +0 -27
  639. package/dist/ui/windows-agents-nav.js +0 -2
  640. package/dist/ui/windows-cli-catalog.js +0 -108
  641. package/dist/web-remote-access.d.ts +0 -152
  642. package/dist/web-remote-access.js +0 -368
  643. package/dist/web-remote-access.js.map +0 -1
  644. package/dist/windows-agents.d.ts +0 -126
  645. package/dist/windows-agents.js +0 -490
  646. package/dist/windows-agents.js.map +0 -1
  647. package/dist/windows-cli-api.d.ts +0 -23
  648. package/dist/windows-cli-api.js +0 -159
  649. package/dist/windows-cli-api.js.map +0 -1
  650. package/dist/windows-cli-providers.d.ts +0 -115
  651. package/dist/windows-cli-providers.js +0 -429
  652. package/dist/windows-cli-providers.js.map +0 -1
  653. package/dist/windows-cli-worker.d.ts +0 -59
  654. package/dist/windows-cli-worker.js +0 -479
  655. package/dist/windows-cli-worker.js.map +0 -1
  656. package/dist/windows-cli.d.ts +0 -116
  657. package/dist/windows-cli.js +0 -407
  658. package/dist/windows-cli.js.map +0 -1
  659. package/dist/windows-native-mcp.d.ts +0 -19
  660. package/dist/windows-native-mcp.js +0 -143
  661. package/dist/windows-native-mcp.js.map +0 -1
  662. package/dist/windows-pane-mcp.d.ts +0 -26
  663. package/dist/windows-pane-mcp.js +0 -187
  664. package/dist/windows-pane-mcp.js.map +0 -1
  665. package/templates/runtime-assets/conpty-LICENSE +0 -21
  666. package/templates/runtime-assets/conpty-NOTICE.md +0 -503
  667. package/templates/runtime-assets/local-pane-stage.ps1 +0 -101
  668. package/templates/runtime-assets/runtime-pane-job.ps1 +0 -116
  669. package/templates/runtime-assets/runtime-pane-private.ps1 +0 -14
  670. package/templates/runtime-assets/xterm-LICENSE +0 -21
@@ -285,17 +285,21 @@ html:has(.shell), html:has(.shell) body { overflow: hidden; }
285
285
  .panel-title { flex: 1; min-width: 0; display: flex; align-items: center; gap: var(--s-3); min-height: calc(var(--header-h) - 2 * var(--s-1)); }
286
286
  .panel-title h1 { font-size: var(--fs-lg); line-height: var(--lh-lg); font-weight: var(--fw-semibold); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; outline: none; }
287
287
  .panel-sub { color: var(--text-2); font-size: var(--fs-sm); white-space: nowrap; }
288
- /* S-30: on a phone the chat's state and chips (Windows, computer, model…) left the agent's name two letters. There the
289
- header keeps the name (at least ~10 characters) and the state ("idle", "閒置"); the chips are on the sidebar row and
290
- in Details. */
291
- @media (max-width: 479px) {
292
- .p-chat .panel-title h1 { flex: 0 1 auto; min-width: min(10ch, 45%); }
293
- .p-chat .panel-sub { flex: 0 0 auto; }
294
- .p-chat .panel-sub > :not(.status) { display: none; }
295
- }
296
288
  .status { display: inline-flex; align-items: center; gap: 6px; }
297
289
  /* #2015: the largest processes, after the host memory chip's text. */
298
290
  .host-mem-top { margin-left: var(--s-2); opacity: 0.8; overflow-wrap: anywhere; }
291
+ /* M-2556: bound Fleet's warning independently of tab placement. Cached panels without a tooltip keep wrapping. */
292
+ .p-fleet .panel-sub:has(.host-mem) { flex: 0 1 16rem; width: 16rem; min-width: 0; max-width: 100%; white-space: normal; }
293
+ .p-fleet .host-mem { --fleet-memory-header: 1; display: grid; grid-template-columns: 6px minmax(0, 1fr); gap: 2px 6px; min-width: 0; max-width: 100%; white-space: normal; }
294
+ .p-fleet .host-mem > .dot { margin-top: 6px; }
295
+ .p-fleet .host-mem-top { grid-column: 2; min-width: 0; max-width: 100%; margin-left: 0; }
296
+ .p-fleet .host-mem-top[title] { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
297
+ @media (max-width: 899px) {
298
+ .p-fleet .panel-head:has(.host-mem) { flex-wrap: wrap; }
299
+ .p-fleet .panel-title:has(.host-mem) { display: contents; }
300
+ .p-fleet .panel-title:has(.host-mem) > h1 { flex: 1; }
301
+ .p-fleet .panel-sub:has(.host-mem) { order: 1; flex: 1 0 100%; width: 100%; }
302
+ }
299
303
  .panel-actions { display: flex; align-items: center; gap: var(--s-1); }
300
304
  /* #1523 N2: the instance view switch — beside the title on a wide screen; on a phone, a row of tabs under the header. */
301
305
  .inst-switch.seg { padding: 0; margin: 0; width: auto; max-width: none; flex-shrink: 0; }
@@ -351,6 +355,11 @@ html:has(.shell), html:has(.shell) body { overflow: hidden; }
351
355
  its row (a phone puts them on a row of their own, under it). */
352
356
  .panel-head .btn-sm { min-height: 36px; }
353
357
  @media (min-width: 900px) { .panel-head .inst-switch .seg-item { min-height: 36px; } }
358
+ /* M-2542: Fleet's tabs on its title row — the title, then the tabs (scrolling sideways if they do not fit), then the
359
+ header's tools; under 900 px a row of their own under the header, as the instance tabs. Never wider than the page. */
360
+ .p-fleet .panel-head .panel-title:has(+ .fleet-tabs) { flex: 0 1 auto; } /* M-2542: only when everything fits (panel-fleet) */
361
+ .fleet-tabs { display: flex; gap: var(--s-1); flex: 1 1 auto; min-width: 0; overflow-x: auto; }
362
+ .panel-head .fleet-tabs .seg-item { min-height: 36px; flex-shrink: 0; }
354
363
  @media (max-width: 899px) {
355
364
  .panel-head:has(.inst-switch) { flex-wrap: wrap; }
356
365
  .inst-switch.seg { order: 3; flex-basis: 100%; display: grid; grid-template-columns: repeat(4, 1fr); padding: 0 0 var(--s-1); }
@@ -433,9 +442,6 @@ html:has(.shell), html:has(.shell) body { overflow: hidden; }
433
442
  /* #2072: a model field — the list, and the text box "Other…" opens under it. */
434
443
  .model-pick { display: flex; flex-direction: column; gap: var(--s-1); min-width: 0; }
435
444
  .model-pick > select, .model-pick > input { width: 100%; }
436
- .model-catalog-status { display: flex; gap: var(--s-2); align-items: center; justify-content: space-between; }
437
- .model-catalog-status > .note { line-height: 1.5; }
438
- .model-catalog-status > button { flex-shrink: 0; }
439
445
  .note { font-size: var(--fs-xs); color: var(--text-3); }
440
446
  .checks { display: flex; flex-direction: column; gap: var(--s-1); max-height: 180px; overflow-y: auto; }
441
447
  .check { display: flex; gap: var(--s-2); align-items: center; font-size: var(--fs-sm); }
@@ -499,57 +505,6 @@ html:has(.shell), html:has(.shell) body { overflow: hidden; }
499
505
  .p-settings > .s-nav .s-nav-groups { flex-wrap: nowrap; overflow-x: auto; }
500
506
  .p-settings > .s-nav .s-nav-group { flex-wrap: nowrap; flex-shrink: 0; }
501
507
  }
502
- /* Settings share the available management workspace, independently of the chat's reading width.
503
- Keep fieldsets as real boxes so disabled forms and their confirmation boundaries stay intact. */
504
- .p-settings > .panel-body > .col { width: 100%; max-width: var(--settings-width); min-width: 0; margin: 0 auto; container: settings-page / inline-size; }
505
- .s-page-head { display: flex; align-items: flex-start; justify-content: space-between; flex-wrap: wrap; gap: 16px; margin: 0 0 24px; }
506
- .s-page-title { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; }
507
- .s-page-head h2 { margin: 0; color: var(--text); font-size: 24px; font-weight: var(--fw-semibold); line-height: 1.35; letter-spacing: -0.02em; }
508
- .s-page-lead { max-width: 68ch; margin: 8px 0 0; color: var(--text-3); font-size: var(--fs-sm); line-height: 1.6; }
509
- .s-scope { display: inline-flex; align-items: center; gap: 6px; padding: 3px 8px; border-radius: 6px; background: var(--surface-2); color: var(--text-2); font-size: var(--fs-xs); font-weight: var(--fw-medium); white-space: nowrap; }
510
- .s-section-layout { display: flex; flex-direction: column; gap: 24px; min-width: 0; }
511
- .s-section-layout > *, .s-section-layout :is(.s-yaml-lock, .s-general, .s-web, .s-web-fields, .card) { min-width: 0; }
512
- .s-section-layout .card { margin-bottom: 0; padding: 20px; border: 1px solid var(--border); border-radius: 10px; box-shadow: none; }
513
- .s-section-layout .card > h3, .s-section-layout .s-ap-group { color: var(--text); font-size: var(--fs-lg); text-transform: none; letter-spacing: 0; }
514
- .s-section-layout .s-ap-group { margin: 0 0 16px; }
515
- .s-section-layout :is(.s-general, .s-web) { gap: 20px; }
516
- .s-section-layout .grid2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
517
- .s-section-layout .field { min-width: 0; }
518
- .s-section-layout .field > label { overflow-wrap: anywhere; }
519
- .s-ui-disclosure { min-width: 0; border: 1px solid var(--border); border-radius: 10px; background: var(--surface); }
520
- .s-ui-disclosure > summary { display: block; position: relative; padding: 16px 44px 16px 20px; color: var(--text); font-size: var(--fs-sm); font-weight: var(--fw-semibold); cursor: pointer; list-style: none; }
521
- .s-ui-disclosure > summary::-webkit-details-marker { display: none; }
522
- .s-ui-disclosure > summary::after { content: ""; position: absolute; top: 21px; right: 22px; width: 7px; height: 7px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg); }
523
- .s-ui-disclosure[open] > summary::after { top: 24px; transform: rotate(225deg); }
524
- .s-ui-disclosure > summary small { display: block; margin-top: 4px; color: var(--text-3); font-size: var(--fs-xs); font-weight: var(--fw-regular); line-height: 1.5; }
525
- .s-disclosure-body { display: flex; flex-direction: column; gap: 20px; min-width: 0; padding: 0 20px 20px; }
526
- .s-disclosure-body > .card { padding: 0; border: 0; }
527
- .s-page-tabs { display: flex; flex-wrap: wrap; gap: 4px; min-width: 0; border-bottom: 1px solid var(--border); margin-bottom: 20px; }
528
- .s-page-tabs > button { appearance: none; border: 0; border-bottom: 2px solid transparent; border-radius: 0; padding: 12px 14px; background: transparent; color: var(--text-2); font: inherit; font-size: var(--fs-sm); font-weight: var(--fw-medium); cursor: pointer; }
529
- .s-page-tabs > button:hover { color: var(--text); background: var(--surface); }
530
- .s-page-tabs > button.on { color: var(--accent); border-bottom-color: var(--accent); }
531
- .s-tab-panel { min-width: 0; }
532
- .s-tab-panel[hidden] { display: none !important; }
533
- .s-setting-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 12px 20px; min-width: 0; padding: 14px 0; }
534
- .s-setting-row + .s-setting-row { border-top: 1px solid var(--border); }
535
- .s-setting-row .note { margin: 5px 0 0; }
536
- .p-settings input.s-ui-toggle { appearance: none; position: relative; display: inline-block; flex: none; width: 38px; height: 22px; min-height: 0; margin: 0; padding: 0; border: 1px solid var(--border-strong); border-radius: 20px; background: var(--surface-3, var(--surface-2)); cursor: pointer; }
537
- .p-settings input.s-ui-toggle::after { content: ""; position: absolute; top: 2px; left: 2px; width: 16px; height: 16px; border-radius: 50%; background: var(--text-3); transition: transform var(--t-fast); }
538
- .p-settings input.s-ui-toggle:checked { background: var(--accent); border-color: var(--accent); }
539
- .p-settings input.s-ui-toggle:checked::after { background: var(--on-accent, #fff); transform: translateX(16px); }
540
- .p-settings input.s-ui-toggle:disabled { cursor: default; opacity: 0.55; }
541
- .p-settings input.s-ui-toggle:focus-visible { outline: 2px solid var(--focus); outline-offset: 3px; }
542
- .s-classic-area { display: flex; flex-direction: column; gap: 16px; }
543
- .s-classic-area > .s-ap-group { margin-bottom: 0; }
544
- @media (max-width: 600px) {
545
- .s-page-head { margin-bottom: 20px; }
546
- .s-page-head h2 { font-size: 22px; }
547
- .s-section-layout { gap: 20px; }
548
- .s-section-layout .grid2 { grid-template-columns: minmax(0, 1fr); }
549
- .s-section-layout .card { padding: 16px; }
550
- .s-page-tabs > button { flex: 1 1 auto; padding: 11px 8px; font-size: var(--fs-xs); }
551
- .s-disclosure-body { padding: 0 16px 16px; }
552
- }
553
508
  /* #2347 §7: on a phone (the app's narrow layout) Settings itself (/settings) is the list of sections — search on top,
554
509
  the two groups as full-width rows — and a section opens on its own with "‹ Settings" back to the list. The strip
555
510
  that scrolled sideways (and cut its ends) is gone there. Wider screens keep the list beside the section. */
@@ -878,6 +833,10 @@ img.amb-p { object-fit: contain; }
878
833
  .pv-panel-body { flex: 1; min-height: 0; display: flex; flex-direction: column; padding: 0 var(--s-3) var(--s-3); }
879
834
  .pv-panel-body .pv-holder { flex: 1; min-height: 0; margin: 0; display: flex; flex-direction: column; }
880
835
  .pv-panel-body.show-code .pv-holder { display: none; }
836
+ /* M-2448: a Markdown file in the panel — the chat's Markdown look, scrolling inside the panel (never the page). */
837
+ .pv-code.pv-md { font-family: var(--font-ui); font-size: var(--fs-md); line-height: 1.6; white-space: normal; padding: var(--s-3) var(--s-4); }
838
+ .pv-md .md { max-width: 860px; overflow-wrap: anywhere; }
839
+ .pv-md .tc-pre { white-space: pre-wrap; font-family: var(--font-mono); font-size: var(--fs-xs); }
881
840
  .preview-frame.fill { flex: 1; height: 100%; min-height: 0; }
882
841
  .pv-code { flex: 1; min-height: 0; margin: 0; overflow: auto; font-family: var(--font-mono); font-size: var(--fs-xs); line-height: 1.5;
883
842
  background: var(--surface); border-radius: var(--r-sm); padding: var(--s-3); white-space: pre-wrap; overflow-wrap: anywhere; color: var(--text); }
@@ -907,7 +866,7 @@ img.amb-p { object-fit: contain; }
907
866
  /* #2911 (6): the thread's pages. */
908
867
  .pv-pages { list-style: none; margin: 0; padding: 0; overflow: auto; display: flex; flex-direction: column; gap: var(--s-1); }
909
868
  .pv-page { width: 100%; display: flex; align-items: center; gap: var(--s-2); padding: var(--s-2) var(--s-3); border: 1px solid var(--border);
910
- border-radius: var(--r-sm); background: var(--surface); color: var(--text); font-family: var(--font-ui); font-size: var(--fs-sm); text-align: left; cursor: pointer; }
869
+ border-radius: var(--r-sm); background: var(--surface); color: var(--text); font: inherit; font-size: var(--fs-sm); text-align: left; cursor: pointer; }
911
870
  .pv-page.on { border-color: var(--accent); }
912
871
  .pv-page-name { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
913
872
  .pv-page-meta { flex: none; color: var(--text-3); font-size: var(--fs-xs); }
@@ -998,8 +957,6 @@ img.amb-p { object-fit: contain; }
998
957
  .failed-send { padding: var(--s-2) var(--s-3); border-radius: var(--r-md); font-size: var(--fs-xs); background: var(--danger-bg); border: 1px solid var(--danger-line); display: flex; gap: var(--s-2); align-items: center; flex-wrap: wrap; }
999
958
  .failed-send .txt { flex: 1; min-width: 120px; white-space: pre-wrap; overflow-wrap: anywhere; max-height: 4.5em; overflow: hidden; }
1000
959
  .composer-box { background: var(--surface); border-radius: var(--r-xl); box-shadow: var(--shadow-1); }
1001
- /* S-30: a state note above the composer ("Connection revoked…", "still working") sat flush on the box's edge. */
1002
- .composer-box > .note { margin: 0; padding: var(--s-2) var(--s-3) 0; }
1003
960
  .composer-box:focus-within { box-shadow: 0 0 0 1px var(--border-strong), var(--shadow-1); }
1004
961
  .composer { display: flex; align-items: flex-end; gap: var(--s-1); padding: var(--s-2); }
1005
962
  .composer textarea {
@@ -1456,6 +1413,11 @@ body.side-resizing, body.side-resizing * { cursor: col-resize !important; user-s
1456
1413
  .u-stale { font-weight: var(--fw-semibold); }
1457
1414
  .u-stale-detail { color: var(--text-3); font-size: var(--fs-xs); }
1458
1415
  .u-sub { color: var(--text-3); font-size: var(--fs-xs); font-variant-numeric: tabular-nums; }
1416
+ /* #3066 §1: a weekly quota's measured 100% under its bar, and its notes (the fleet-only limit always). */
1417
+ .u-cap { margin-top: 4px; font-size: var(--fs-xs); }
1418
+ .u-cap-line { color: var(--text-2); font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
1419
+ .u-cap-wait .u-cap-line { color: var(--text-3); }
1420
+ .u-cap-note { color: var(--text-3); overflow-wrap: anywhere; }
1459
1421
  .u-err { color: var(--warn); font-size: var(--fs-sm); }
1460
1422
  .u-foot { display: flex; align-items: center; justify-content: space-between; gap: var(--s-2); }
1461
1423
  /* #1673: the usage rail beside the page on a wide screen (header-tools.js UsageRail; shown only at min-width 1200px). */
@@ -1693,28 +1655,6 @@ textarea.s-yaml { white-space: pre; overflow-x: auto; }
1693
1655
  .signin-list { margin-top: var(--s-4); }
1694
1656
  .signin-list code { font-size: var(--fs-xs); word-break: break-all; }
1695
1657
  .signin-list .s-meta { white-space: normal; max-width: none; overflow: visible; }
1696
- /* The setup widget also lives in dashboard dialogs, outside Settings. Keep these styles local to its host. */
1697
- .signin-browser { display: flex; flex-direction: column; gap: var(--s-3); min-width: 0; }
1698
- .signin-browser h2 { font-size: var(--fs-md); font-weight: var(--fw-semibold); line-height: var(--lh-md); }
1699
- .signin-browser p { color: var(--text-2); font-size: var(--fs-sm); line-height: 1.65; overflow-wrap: anywhere; }
1700
- .signin-browser > section { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-3); min-width: 0; padding: var(--s-4); border: 1px solid var(--border); border-radius: var(--r-md); background: var(--surface); }
1701
- .signin-browser > section > :is(h3, p, label, code) { flex-basis: 100%; min-width: 0; }
1702
- .signin-browser h3 { font-size: var(--fs-md); font-weight: var(--fw-semibold); }
1703
- .signin-browser :is(button, a) { display: inline-flex; align-items: center; justify-content: center; min-height: 36px; max-width: 100%; padding: var(--s-2) var(--s-4); border: 1px solid var(--border-strong); border-radius: var(--r-full); background: var(--bg); color: var(--text); font-size: var(--fs-sm); font-weight: var(--fw-semibold); line-height: var(--lh-md); text-align: center; overflow-wrap: anywhere; cursor: pointer; }
1704
- .signin-browser :is(button, a):hover:not(:disabled) { background: var(--surface-2); }
1705
- .signin-browser button:disabled { opacity: 0.45; cursor: default; }
1706
- .signin-browser > button { align-self: flex-start; }
1707
- .signin-browser section > a { background: var(--accent-fill); color: var(--on-accent); border-color: transparent; }
1708
- .signin-browser section > a:hover { background: var(--accent-fill); opacity: 0.88; }
1709
- .signin-browser label { display: flex; flex-direction: column; gap: var(--s-2); font-size: var(--fs-sm); color: var(--text-2); }
1710
- .signin-browser input { width: 100%; min-width: 0; min-height: 40px; padding: var(--s-2) var(--s-3); border: 1px solid var(--border-strong); border-radius: var(--r-sm); background: var(--bg); color: var(--text); font-size: var(--fs-md); }
1711
- .signin-browser code { padding: var(--s-2) var(--s-3); border-radius: var(--r-sm); background: var(--bg); font-family: var(--font-mono); overflow-wrap: anywhere; user-select: all; }
1712
- .signin-browser [role="alert"] { padding: var(--s-3); border: 1px solid var(--danger-line); border-radius: var(--r-sm); background: var(--danger-bg); color: var(--danger); }
1713
- .signin-browser-actions { display: flex; flex: 1; flex-wrap: wrap; justify-content: flex-end; gap: var(--s-2); min-width: 0; }
1714
- .signin-browser-actions .btn { max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
1715
- @media (pointer: coarse), (max-width: 899px) {
1716
- .signin-browser :is(button, a), .signin-browser-actions .btn { min-height: var(--tap); }
1717
- }
1718
1658
  @media (max-width: 899px) {
1719
1659
  .grid2 { grid-template-columns: minmax(0, 1fr); }
1720
1660
  .se-row { grid-template-columns: minmax(0, 1fr) auto auto; }
@@ -2197,6 +2137,16 @@ html.oo-immersive .p-fleet > .panel-body { z-index: 50; }
2197
2137
  .us-meta { display: block; font-size: var(--fs-xs); color: var(--text-3); overflow-wrap: anywhere; }
2198
2138
  .us-est { display: block; font-size: var(--fs-xs); font-weight: var(--fw-regular); color: var(--text-3); }
2199
2139
  .us-flags { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 4px; }
2140
+ /* #3066 §3: a row's numbers carry small marks (◐ partly priced, † the CLI's amount, ≈ estimated) and "—" with a reason,
2141
+ each said in its tooltip; the key under the table names only the marks that appear. */
2142
+ .us-mark { margin-left: 2px; color: var(--text-3); font-size: var(--fs-xs); cursor: help; }
2143
+ .us-mark.us-approx { margin-left: 0; margin-right: 1px; }
2144
+ .us-none { cursor: help; }
2145
+ .us-key { margin-top: 6px; }
2146
+ /* #3066 §2: each model's speed after the first token. */
2147
+ .us-speed { margin-top: 12px; }
2148
+ .us-speed .row-item { gap: 8px; flex-wrap: wrap; }
2149
+ .us-speed .num { font-variant-numeric: tabular-nums; }
2200
2150
  .us-trend, .us-heat { display: flex; flex-direction: column; gap: var(--s-2); min-width: 0; }
2201
2151
  .us-trend h3, .us-heat h3, .us-rest h3 { font-size: var(--fs-sm); font-weight: var(--fw-semibold); }
2202
2152
  .us-scroll { overflow-x: auto; max-width: 100%; }
@@ -2670,7 +2620,7 @@ html.oo-immersive .p-fleet > .panel-body { z-index: 50; }
2670
2620
  .tc-dep.waiting { border-color: var(--warn); color: var(--warn); }
2671
2621
  .tc-field h3 { margin: 0 0 var(--s-1); font-size: var(--fs-xs); font-weight: var(--fw-semibold); color: var(--text-2); text-transform: uppercase; letter-spacing: 0.04em; }
2672
2622
  .tc-field.tone-blocked h3 { color: var(--danger); }
2673
- .tc-text { display: block; width: 100%; padding: var(--s-2); background: none; border: 1px solid transparent; border-radius: var(--r-sm); color: var(--text); font-family: var(--font-ui); font-size: var(--fs-sm); text-align: left; white-space: pre-wrap; overflow-wrap: anywhere; cursor: text; }
2623
+ .tc-text { display: block; width: 100%; padding: var(--s-2); background: none; border: 1px solid transparent; border-radius: var(--r-sm); color: var(--text); font: inherit; font-size: var(--fs-sm); text-align: left; white-space: pre-wrap; overflow-wrap: anywhere; cursor: text; }
2674
2624
  .tc-text:hover { border-color: var(--border); background: var(--surface); }
2675
2625
  .tc-text.empty { color: var(--text-3); }
2676
2626
  .tc-edit textarea, .tc-composer textarea, .tc-quick-add { width: 100%; padding: var(--s-2); border: 1px solid var(--border); border-radius: var(--r-sm); background: var(--bg); color: var(--text); font-size: var(--fs-sm); resize: vertical; }
@@ -2759,1228 +2709,6 @@ html.oo-immersive .p-fleet > .panel-body { z-index: 50; }
2759
2709
  .os-none { margin: 0; }
2760
2710
  .os-form .os-err { grid-column: 1 / -1; margin: 0; padding: var(--s-2) var(--s-3); border: 1px solid var(--danger); border-radius: var(--r-sm); }
2761
2711
  @media (max-width: 480px) { .os-form { grid-template-columns: 1fr; } }
2762
- /* Windows CLI preview: local providers, a task composer and a compact execution history. */
2763
- .p-windows-cli .windows-cli-content { width: 100%; max-width: 1160px; margin: 0 auto; padding: 28px 28px 48px; }
2764
- .p-windows-cli .windows-cli-intro { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 24px; }
2765
- .p-windows-cli .windows-cli-eyebrow { display: inline-flex; align-items: center; gap: 6px; color: var(--text-2); font-size: 11px; font-weight: 600; letter-spacing: .06em; }
2766
- .p-windows-cli .windows-cli-intro h2 { margin-top: 7px; font-size: 26px; font-weight: 600; line-height: 1.3; letter-spacing: -.04em; }
2767
- .p-windows-cli .windows-cli-intro p { margin-top: 7px; font-size: 13px; color: var(--text-2); line-height: 1.7; }
2768
- .p-windows-cli .windows-cli-probe { flex-shrink: 0; min-height: 38px; border-radius: 9px; }
2769
- .windows-cli-target { display: flex; align-items: flex-start; gap: 12px; min-width: 0; margin: 0 0 20px; padding: 14px 16px; border: 1px solid var(--border); border-radius: 10px; background: var(--bg); }
2770
- .windows-cli-target > svg { flex-shrink: 0; margin-top: 3px; color: var(--text-2); }
2771
- .windows-cli-target > div { min-width: 0; }
2772
- .windows-cli-target-label { display: block; color: var(--text-2); font-size: 11px; line-height: 1.5; }
2773
- .windows-cli-target-name { display: block; margin-top: 3px; font-size: 15px; overflow-wrap: anywhere; }
2774
- .windows-cli-target p { margin: 5px 0 0; color: var(--text-2); font-size: 12px; line-height: 1.6; }
2775
- .windows-cli-target.is-compact { margin: 12px 0; padding: 0; border: 0; background: none; gap: 8px; }
2776
- .windows-cli-target.is-compact .windows-cli-target-name { margin-top: 1px; font-size: 13px; }
2777
- .p-windows-cli .windows-cli-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-bottom: 24px; }
2778
- .p-windows-cli .windows-cli-provider { min-width: 0; padding: 20px 20px 0; border: 1px solid var(--border); border-radius: 14px; background: var(--bg); }
2779
- .p-windows-cli .windows-cli-provider-head { display: flex; align-items: center; gap: 12px; }
2780
- .p-windows-cli .windows-cli-brand { width: 48px; height: 48px; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; border-radius: 12px; }
2781
- .p-windows-cli .brand-openai { color: #fff; background: #141413; }
2782
- .p-windows-cli .brand-anthropic { color: #141413; background: #f0e9df; }
2783
- .p-windows-cli .windows-cli-provider-name { flex: 1; min-width: 0; }
2784
- .p-windows-cli .windows-cli-provider-name > span { font-size: 11px; color: var(--text-2); }
2785
- .p-windows-cli .windows-cli-provider-name h3 { font-size: 18px; line-height: 1.4; font-weight: 600; letter-spacing: -.025em; }
2786
- .p-windows-cli .windows-cli-badge { display: inline-flex; align-items: center; flex-shrink: 0; padding: 3px 8px; border-radius: 6px; font-size: 11px; font-weight: 600; }
2787
- .p-windows-cli .tone-ready { color: var(--ok); }
2788
- .p-windows-cli .tone-neutral { color: var(--text-2); }
2789
- .p-windows-cli .tone-failed { color: var(--danger); }
2790
- .p-windows-cli .tone-working { color: var(--accent); }
2791
- .p-windows-cli .windows-cli-badge.tone-ready { background: var(--ok-bg); }
2792
- .p-windows-cli .windows-cli-badge.tone-neutral { background: var(--surface); }
2793
- .p-windows-cli .windows-cli-provider-status { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 6px 14px; margin: 17px 0 14px; font-size: 12px; }
2794
- .p-windows-cli .windows-cli-auth, .p-windows-cli .windows-cli-readiness, .p-windows-cli .windows-cli-task-state { display: inline-flex; align-items: center; gap: 7px; }
2795
- .p-windows-cli .windows-cli-dot { width: 6px; height: 6px; border-radius: 50%; background: currentColor; flex-shrink: 0; }
2796
- .p-windows-cli .windows-cli-version { color: var(--text-3); font-family: var(--font-mono); font-size: 11px; overflow-wrap: anywhere; }
2797
- .p-windows-cli .windows-cli-location { border-top: 1px solid var(--border); }
2798
- .p-windows-cli summary { cursor: pointer; list-style: none; }
2799
- .p-windows-cli summary::-webkit-details-marker { display: none; }
2800
- .p-windows-cli .windows-cli-location summary { display: flex; justify-content: space-between; align-items: center; min-height: 37px; color: var(--text-2); font-size: 11px; }
2801
- .p-windows-cli details[open] > summary > .icon:last-child { transform: rotate(180deg); }
2802
- .p-windows-cli .windows-cli-path { display: block; white-space: pre-wrap; overflow-wrap: anywhere; font: 11px/1.7 var(--font-mono); color: var(--text-2); }
2803
- .p-windows-cli .windows-cli-location .windows-cli-path { padding: 0 0 12px; }
2804
- .p-windows-cli .windows-cli-workbench { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); align-items: start; gap: 20px; }
2805
- .p-windows-cli .windows-cli-card { min-width: 0; border: 1px solid var(--border); border-radius: 14px; background: var(--bg); }
2806
- .p-windows-cli .windows-cli-composer { padding: 22px; }
2807
- .p-windows-cli .windows-cli-section-head { display: flex; align-items: center; gap: 10px; margin-bottom: 22px; }
2808
- .p-windows-cli .windows-cli-section-icon { display: flex; align-items: center; justify-content: center; flex-shrink: 0; width: 34px; height: 34px; border-radius: 9px; background: var(--surface); color: var(--text-2); }
2809
- .p-windows-cli .windows-cli-section-head > div { flex: 1; min-width: 0; }
2810
- .p-windows-cli .windows-cli-section-head h2 { display: flex; align-items: center; gap: 7px; font-size: 15px; line-height: 1.4; font-weight: 600; letter-spacing: -.02em; }
2811
- .p-windows-cli .windows-cli-section-head p { margin-top: 4px; color: var(--text-2); font-size: 11px; line-height: 1.6; }
2812
- .p-windows-cli .windows-cli-field { margin-bottom: 18px; }
2813
- .p-windows-cli .windows-cli-field > label, .p-windows-cli .windows-cli-access > legend { display: block; margin-bottom: 8px; font-size: 12px; font-weight: 600; }
2814
- .p-windows-cli .windows-cli-field > input, .p-windows-cli .windows-cli-field > textarea { display: block; width: 100%; max-width: 100%; padding: 10px 12px; border: 1px solid var(--border-strong); border-radius: 8px; background: var(--bg); color: var(--text); font-size: var(--fs-sm); line-height: 1.6; }
2815
- .p-windows-cli .windows-cli-field > input:focus, .p-windows-cli .windows-cli-field > textarea:focus { border-color: var(--focus); outline: none; box-shadow: 0 0 0 3px var(--accent-dim); }
2816
- .p-windows-cli .windows-cli-field > textarea { min-height: 120px; resize: vertical; }
2817
- .p-windows-cli .windows-cli-field .windows-cli-directory { font-family: var(--font-mono); font-size: var(--fs-xs); }
2818
- .p-windows-cli .windows-cli-field > p { margin-top: 6px; font-size: 11px; line-height: 1.6; color: var(--text-3); }
2819
- .p-windows-cli .windows-cli-field ::placeholder { color: var(--text-3); }
2820
- .p-windows-cli .windows-cli-access-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
2821
- .p-windows-cli .windows-cli-access-option { display: flex; align-items: flex-start; gap: 8px; padding: 11px 10px; border: 1px solid var(--border); border-radius: 9px; cursor: pointer; }
2822
- .p-windows-cli .windows-cli-access-option.selected { background: var(--accent-dim); border-color: var(--focus); }
2823
- .p-windows-cli .windows-cli-access-option input { margin: 3px 0 0; accent-color: var(--accent); width: 13px; height: 13px; flex-shrink: 0; }
2824
- .p-windows-cli .windows-cli-access-option strong { display: flex; align-items: center; gap: 5px; font-size: 12px; line-height: 1.6; font-weight: 600; }
2825
- .p-windows-cli .windows-cli-access-option small { display: block; margin-top: 3px; font-size: 10px; line-height: 1.6; color: var(--text-2); }
2826
- .p-windows-cli .windows-cli-policy { margin-top: 14px; color: var(--text-2); font-size: 11px; }
2827
- .p-windows-cli .windows-cli-policy summary { display: flex; align-items: center; gap: 6px; min-height: 28px; }
2828
- .p-windows-cli .windows-cli-policy p { padding: 4px 0 10px; line-height: 1.8; }
2829
- .p-windows-cli .windows-cli-submit { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; padding-top: 16px; margin-top: 10px; border-top: 1px solid var(--border); }
2830
- .p-windows-cli .windows-cli-readiness { font-size: 11px; line-height: 1.6; }
2831
- .p-windows-cli .windows-cli-submit .btn { min-height: 40px; border-radius: 8px; }
2832
- .p-windows-cli .windows-cli-limits { display: flex; align-items: center; gap: 5px; margin-top: 10px; color: var(--text-3); font-size: 10px; line-height: 1.6; }
2833
- .p-windows-cli .windows-cli-history { padding: 22px 20px 0; }
2834
- .p-windows-cli .windows-cli-history .windows-cli-section-head { margin-bottom: 18px; }
2835
- .p-windows-cli .windows-cli-history .icon-btn { width: 30px; height: 30px; }
2836
- .p-windows-cli .windows-cli-count { color: var(--text-2); background: var(--surface); padding: 1px 6px; border-radius: 5px; font-size: 10px; font-weight: 500; }
2837
- .p-windows-cli .windows-cli-task { margin-top: 10px; border: 1px solid var(--border); border-radius: 9px; overflow: hidden; }
2838
- .p-windows-cli .windows-cli-task > summary { display: flex; align-items: center; gap: 10px; padding: 12px; font-size: 12px; }
2839
- .p-windows-cli .windows-cli-task > summary:hover { background: var(--surface); }
2840
- .p-windows-cli .windows-cli-task-state { flex: 1; font-weight: 600; }
2841
- .p-windows-cli .windows-cli-task time { font-size: 10px; color: var(--text-3); font-variant-numeric: tabular-nums; }
2842
- .p-windows-cli .windows-cli-task-cwd { padding: 0 12px 12px; font-size: 10px; }
2843
- .p-windows-cli .windows-cli-task-detail { padding: 0 12px 12px; }
2844
- .p-windows-cli .windows-cli-output-label { display: flex; align-items: center; gap: 5px; padding: 9px 10px; border-radius: 6px 6px 0 0; background: var(--code-head); color: var(--text-2); font-size: 10px; }
2845
- .p-windows-cli .windows-cli-output { padding: 12px; margin: 0; max-height: 320px; overflow: auto; border-radius: 0 0 6px 6px; background: var(--code-bg); white-space: pre-wrap; overflow-wrap: anywhere; font: 11px/1.8 var(--font-mono); }
2846
- .p-windows-cli .windows-cli-task-detail > .btn { margin-top: 10px; }
2847
- .p-windows-cli .windows-cli-history-note { margin-top: 18px; padding: 12px 0; border-top: 1px solid var(--border); color: var(--text-3); text-align: center; font-size: 10px; }
2848
- .p-windows-cli .windows-cli-empty { display: flex; flex-direction: column; align-items: center; padding: 42px 16px; text-align: center; }
2849
- .p-windows-cli .windows-cli-empty > span { display: grid; place-items: center; width: 58px; height: 58px; border-radius: 16px; background: var(--surface); color: var(--text-3); margin-bottom: 16px; }
2850
- .p-windows-cli .windows-cli-empty h3 { font-size: 13px; font-weight: 600; }
2851
- .p-windows-cli .windows-cli-empty p { max-width: 220px; margin-top: 7px; font-size: 12px; line-height: 1.8; color: var(--text-3); }
2852
- .p-windows-cli .error { white-space: pre-wrap; overflow-wrap: anywhere; color: var(--danger); font-size: 12px; }
2853
- .p-windows-cli .windows-cli-error { display: flex; align-items: flex-start; gap: 10px; margin-bottom: 20px; padding: 14px; border-radius: 10px; background: var(--danger-bg); }
2854
- .p-windows-cli .windows-cli-error .icon { margin-top: 2px; }
2855
- .p-windows-cli .windows-cli-spin { animation: windows-cli-rotate 1.4s linear infinite; }
2856
- @keyframes windows-cli-rotate { to { transform: rotate(360deg); } }
2857
- @media (max-width: 1130px) { .p-windows-cli .windows-cli-workbench { grid-template-columns: minmax(0, 1fr); } }
2858
- @media (max-width: 620px) {
2859
- .p-windows-cli .windows-cli-content { padding: 20px 16px 32px; }
2860
- .p-windows-cli .windows-cli-intro { flex-direction: column; align-items: flex-start; gap: 14px; margin-bottom: 20px; }
2861
- .p-windows-cli .windows-cli-intro h2 { font-size: 23px; }
2862
- .p-windows-cli .windows-cli-cards { grid-template-columns: minmax(0, 1fr); gap: 12px; margin-bottom: 20px; }
2863
- .p-windows-cli .windows-cli-provider { padding: 16px 16px 0; }
2864
- .p-windows-cli .windows-cli-composer, .p-windows-cli .windows-cli-history { padding: 18px 16px; }
2865
- .p-windows-cli .windows-cli-history { padding-bottom: 0; }
2866
- .p-windows-cli .windows-cli-field > input, .p-windows-cli .windows-cli-field > textarea { font-size: 16px; }
2867
- .p-windows-cli .windows-cli-submit { flex-direction: column; align-items: stretch; }
2868
- .p-windows-cli .windows-cli-access-option { padding: 10px 8px; }
2869
- .p-windows-cli .windows-cli-access-option strong { font-size: 11px; }
2870
- }
2871
- @media (prefers-reduced-motion: reduce) { .p-windows-cli .windows-cli-spin { animation: none; } }
2872
- .p-windows-cli.windows-cli-settings .windows-cli-content { padding: 0; }
2873
- .p-settings .windows-cli-settings .windows-cli-workbench { grid-template-columns: minmax(0, 1fr); }
2874
- @container settings-page (min-width: 1040px) { .p-settings .windows-cli-settings .windows-cli-workbench { grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); } }
2875
- /* Runtime-first agent creation and native Windows conversations. */
2876
- .agent-runtime-picker > legend, .agent-runtime-fields > legend { font-size: 13px; font-weight: 600; margin-bottom: 12px; }
2877
- .agent-runtime-picker > div { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
2878
- .agent-runtime-choice { display: flex; align-items: center; gap: 9px; padding: 14px 11px; border: 1px solid var(--border); border-radius: 10px; cursor: pointer; }
2879
- .agent-runtime-choice.selected { border-color: var(--focus); background: var(--accent-dim); }
2880
- .agent-runtime-choice > input { width: 13px; height: 13px; margin: 0; accent-color: var(--accent); flex-shrink: 0; }
2881
- .agent-runtime-choice > span { min-width: 0; }
2882
- .agent-runtime-choice strong { display: block; font-size: 12px; line-height: 1.6; }
2883
- .agent-runtime-choice small { display: block; margin-top: 3px; color: var(--text-2); font-size: 10px; line-height: 1.6; }
2884
- .agent-runtime-fields { border-top: 1px solid var(--border); padding-top: 14px; }
2885
- .agent-draft-assistant { padding: 12px; border: 1px solid var(--border); border-radius: 9px; background: var(--surface); }
2886
- .agent-draft-assistant > summary { display: flex; align-items: center; gap: 7px; font-size: 12px; font-weight: 600; cursor: pointer; }
2887
- .agent-draft-assistant > .note { margin: 10px 0; font-size: 11px; }
2888
- .agent-draft-assistant .btn { margin-top: 10px; }
2889
- .agent-draft-assistant textarea { resize: vertical; }
2890
- .windows-agent-nav { flex-shrink: 0; padding: 8px; border-top: 1px solid var(--border); max-height: 25vh; overflow: auto; }
2891
- .windows-agent-nav h3 { padding: 0 12px 5px; color: var(--text-3); font-size: 11px; font-weight: 500; }
2892
- .windows-agent-nav svg { flex-shrink: 0; }
2893
- .p-windows-agent .windows-agent-conversation { max-width: 960px; }
2894
- .windows-agent-identity { display: flex; align-items: center; gap: 12px; padding: 16px 0; border-bottom: 1px solid var(--border); margin-bottom: 16px; }
2895
- .windows-agent-identity > span:first-child { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 10px; color: white; background: #141413; flex-shrink: 0; }
2896
- .windows-agent-identity > div { flex: 1; min-width: 0; }
2897
- .windows-agent-identity strong { font-size: 13px; }
2898
- .windows-agent-identity code { display: block; overflow-wrap: anywhere; color: var(--text-2); font: 11px/1.7 var(--font-mono); }
2899
- .windows-agent-empty { display: flex; flex-direction: column; align-items: center; text-align: center; padding: 60px 12px; color: var(--text-2); }
2900
- .windows-agent-empty h2 { margin: 18px 0 8px; color: var(--text); font-size: 20px; }
2901
- .windows-agent-empty p { max-width: 400px; font-size: 13px; line-height: 1.8; }
2902
- .windows-agent-turn { margin-bottom: 26px; }
2903
- .windows-agent-human { padding: 14px 18px; margin-left: 15%; border-radius: 12px; background: var(--surface); }
2904
- .windows-agent-human strong { font-size: 12px; }
2905
- .windows-agent-human p { white-space: pre-wrap; overflow-wrap: anywhere; margin-top: 6px; }
2906
- .windows-agent-reply { padding: 20px 0 0; }
2907
- .windows-agent-reply > strong { display: flex; gap: 8px; align-items: center; font-size: 13px; }
2908
- .windows-agent-reply pre { margin: 14px 0 7px; white-space: pre-wrap; overflow-wrap: anywhere; font: 13px/1.8 var(--font-mono); }
2909
- .windows-agent-reply small { color: var(--text-3); font-size: 11px; }
2910
- .windows-agent-composer { padding: 12px 24px 18px; border-top: 1px solid var(--border); }
2911
- .windows-agent-composer > div, .windows-agent-composer > p { max-width: 900px; margin-left: auto; margin-right: auto; }
2912
- .windows-agent-input { padding: 12px; background: var(--surface); border: 1px solid var(--border); border-radius: 12px; }
2913
- .windows-agent-input > textarea { display: block; width: 100%; border: 0; resize: vertical; padding: 4px; background: transparent; color: var(--text); font-family: var(--font-ui); font-size: var(--fs-md); min-height: 60px; max-height: 180px; }
2914
- .runtime-settings { width: 100%; max-width: none; min-width: 0; }
2915
- .runtime-heading, .runtime-heading > div:last-child, .runtime-machine > header, .runtime-machine-actions { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
2916
- .runtime-heading { justify-content: space-between; margin-bottom: 20px; }
2917
- .runtime-heading h2, .runtime-machine h3 { margin: 0; }
2918
- .runtime-local, .runtime-machine, .runtime-pairing { padding: 18px; margin: 16px 0; border: 1px solid var(--border); border-radius: 12px; background: var(--surface); }
2919
- .runtime-local h3 { display: flex; align-items: center; gap: 8px; }
2920
- /* M-2255: Settings → Runtime's switches. */
2921
- .runtime-switches { display: grid; grid-template-columns: minmax(0, 1fr); align-items: start; gap: 20px; margin: 16px 0; min-width: 0; }
2922
- .runtime-switches-main, .runtime-guide { min-width: 0; padding: 20px; border: 1px solid var(--border); border-radius: 12px; background: var(--surface); }
2923
- .runtime-switches-main > h3, .runtime-switches > h3 { margin: 0 0 6px; }
2924
- .runtime-switch { padding: 12px 0; border-bottom: 1px solid var(--border); }
2925
- .runtime-switch-row { display: flex; align-items: flex-start; gap: 12px; cursor: pointer; }
2926
- .runtime-switch-row input { flex: none; width: 20px; height: 20px; margin: 2px 0 0; accent-color: var(--accent); }
2927
- .runtime-switch-row input:disabled { cursor: not-allowed; }
2928
- .runtime-switch-row > span { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
2929
- .runtime-switch-row small { color: var(--text-3); font-size: var(--fs-sm); line-height: 1.5; overflow-wrap: anywhere; }
2930
- .runtime-switch-env, .runtime-switch-pending { display: block; margin: 8px 0 0 32px; font-size: var(--fs-sm); }
2931
- .runtime-switch-env { color: var(--warn); }
2932
- .runtime-switches-main > .note, .runtime-switches > .note { margin: 12px 0 0; font-size: var(--fs-sm); color: var(--text-3); }
2933
- .runtime-guide { margin: 0; font-size: var(--fs-sm); }
2934
- .runtime-guide > summary { cursor: pointer; font-weight: 600; padding: 4px 0; }
2935
- .runtime-guide p { margin: 8px 0; line-height: 1.5; }
2936
- /* A command wraps only between its words (never inside an address), so all of it is in view, on a phone too. */
2937
- .runtime-guide pre { margin: 6px 0 10px; padding: 8px 10px; border-radius: 8px; background: var(--bg); overflow-x: auto; white-space: pre-wrap; overflow-wrap: normal; word-break: normal; max-width: 100%; }
2938
- .runtime-guide-link { display: inline-flex; align-items: center; gap: 4px; color: var(--accent); text-decoration: underline; text-underline-offset: 2px; }
2939
- .runtime-guide-warn { color: var(--warn); }
2940
- .runtime-limit { display: flex; flex-direction: column; gap: 8px; padding: 12px 0; border-bottom: 1px solid var(--border); }
2941
- .runtime-limit label { display: flex; flex-direction: column; gap: 4px; }
2942
- .runtime-limit small { color: var(--text-3); font-size: var(--fs-sm); line-height: 1.5; }
2943
- .runtime-limit > div { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
2944
- .runtime-limit input { width: 6em; font-size: var(--fs-md); }
2945
- .runtime-machines { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; min-width: 0; }
2946
- .runtime-machines > .runtime-machine { min-width: 0; margin: 0; }
2947
- @container settings-page (min-width: 1040px) {
2948
- .runtime-switches { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 24px; }
2949
- .runtime-machines { grid-template-columns: repeat(2, minmax(0, 1fr)); }
2950
- }
2951
- @media (max-width: 600px) { .runtime-guide, .runtime-switch-env, .runtime-switch-pending { margin-left: 0; } }
2952
- .runtime-machine > header > div { flex: 1; min-width: 140px; }
2953
- .runtime-machine > header h3, .runtime-machine > header p { overflow-wrap: anywhere; }
2954
- .runtime-machine > header p, .runtime-machine .note { margin: 7px 0; font-size: var(--fs-sm); color: var(--text-3); }
2955
- .runtime-machine-icon { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 10px; background: var(--bg); }
2956
- .runtime-status { padding: 4px 10px; border: 1px solid var(--border); border-radius: 20px; font-size: var(--fs-sm); }
2957
- .runtime-status.is-online { color: var(--ok); }
2958
- .runtime-status.is-pending { color: var(--warn); }
2959
- .runtime-status.is-offline, .runtime-status.is-revoked { color: var(--text-3); }
2960
- .runtime-machine-id { display: block; margin: 8px 0; overflow-wrap: anywhere; }
2961
- .runtime-cli-list { padding: 0; margin: 14px 0; list-style: none; }
2962
- .runtime-cli-list li { display: flex; align-items: center; gap: 10px; padding: 10px 0; border-bottom: 1px solid var(--border); }
2963
- .runtime-cli-list li > span:nth-child(2) { flex: 1; }
2964
- .runtime-cli-list small { display: block; color: var(--text-3); font-size: var(--fs-sm); }
2965
- .runtime-machine-actions { margin-top: 14px; }
2966
- /* Connect a computer: numbered steps beside a pairing-code status card (stacked on a narrow page). */
2967
- .runtime-pairing > header h3 { margin: 0 0 4px; }
2968
- .runtime-pairing > header .note { margin: 0; }
2969
- .runtime-pairing-body { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; margin-top: 16px; min-width: 0; }
2970
- .runtime-steps { display: grid; gap: 16px; padding: 0; margin: 0; list-style: none; min-width: 0; }
2971
- .runtime-step { display: flex; align-items: flex-start; gap: 12px; min-width: 0; }
2972
- .runtime-step > div { flex: 1; min-width: 0; }
2973
- .runtime-step h4 { margin: 3px 0 6px; font-size: var(--fs-md); line-height: 1.4; }
2974
- .runtime-step .note { margin: 0 0 8px; font-size: var(--fs-sm); line-height: 1.5; color: var(--text-3); }
2975
- .runtime-step-n { display: grid; place-items: center; flex: none; width: 28px; height: 28px; border-radius: 50%; color: var(--text-3); background: var(--bg); border: 1px solid var(--border); font-size: var(--fs-sm); font-weight: var(--fw-semibold); }
2976
- .runtime-step[aria-current="step"] .runtime-step-n { color: var(--accent); background: var(--accent-dim); border-color: var(--accent); }
2977
- .runtime-step.is-done .runtime-step-n { color: var(--ok); border-color: var(--ok); }
2978
- .runtime-step.is-done h4 { color: var(--text-2); }
2979
- .runtime-step input[type=url], .runtime-step .runtime-command { max-width: 520px; }
2980
- .runtime-pair-card { align-self: start; min-width: 0; padding: 16px; border: 1px solid var(--border); border-radius: 10px; background: var(--bg); }
2981
- .runtime-pair-card.is-pending { border-color: var(--warn); }
2982
- .runtime-pair-card label { margin: 0 0 8px; }
2983
- .runtime-pair-code-row { display: flex; align-items: center; gap: 8px; }
2984
- .runtime-pair-code-row .runtime-pair-code { flex: 1; font-size: var(--fs-lg); font-weight: var(--fw-semibold); }
2985
- .runtime-pair-code-row .btn { flex: none; }
2986
- .runtime-pair-card .note { margin: 0 0 10px; font-size: var(--fs-sm); color: var(--text-3); }
2987
- .runtime-pair-status { display: flex; align-items: center; gap: 8px; margin: 0 0 12px; font-size: var(--fs-sm); color: var(--text-2); }
2988
- .runtime-pair-card.is-pending .runtime-pair-status { color: var(--warn); }
2989
- .runtime-pair-status .windows-cli-dot { width: 6px; height: 6px; border-radius: 50%; background: currentColor; flex-shrink: 0; }
2990
- .runtime-pair-actions { display: flex; flex-wrap: wrap; gap: 8px; }
2991
- @container settings-page (min-width: 860px) {
2992
- .runtime-pairing-body { grid-template-columns: minmax(0, 1fr) minmax(280px, 340px); gap: 24px; }
2993
- .runtime-pair-card { position: sticky; top: 12px; }
2994
- }
2995
- .runtime-pairing label, .runtime-rename label { display: flex; flex-direction: column; gap: 7px; margin: 12px 0; }
2996
- .runtime-pairing input, .runtime-rename input { width: 100%; min-width: 0; font-family: var(--font-ui); font-size: var(--fs-md); }
2997
- .runtime-pair-code { letter-spacing: .14em; }
2998
- .runtime-error { border: 1px solid var(--danger); padding: 12px; border-radius: 10px; overflow-wrap: anywhere; }
2999
- .runtime-local-diagnostics { margin-top: 22px; }
3000
- .runtime-local-diagnostics > summary { cursor: pointer; font-weight: 600; padding: 12px 0; }
3001
- .runtime-remote-targets { display: grid; gap: 8px; margin-top: 16px; }
3002
- .runtime-remote-targets h4 { margin: 0 0 4px; font-size: var(--fs-md); }
3003
- .runtime-remote-targets .agent-runtime-choice { min-width: 0; width: 100%; }
3004
- .runtime-remote-heading { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
3005
- .runtime-remote-heading h4 { margin: 0; }
3006
- .agent-runtime-choice.blocked { cursor: not-allowed; }
3007
- .agent-runtime-choice.blocked > :not(span), .agent-runtime-choice.blocked strong, .agent-runtime-choice.blocked .runtime-machine-platform { opacity: .65; }
3008
- .runtime-machine-status { font-weight: 600; }
3009
- .runtime-machine-status.is-online { color: var(--ok); }
3010
- .runtime-machine-status.is-offline { color: var(--danger); }
3011
- .runtime-machine-status.is-pending { color: var(--warn); }
3012
- .agent-runtime-choice small.runtime-machine-reason { color: var(--warn); }
3013
- .runtime-manage-link { display: inline-block; margin-top: 12px; }
3014
- .inst-machine { display: flex; gap: 5px; overflow: hidden; white-space: nowrap; font-size: var(--fs-xs); color: var(--text-3); }
3015
- /* S-30: the machine name gives way; "Connection revoked" / "Offline" always stays readable. */
3016
- .inst-machine-name { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
3017
- .inst-machine-status { flex: none; }
3018
- .inst-machine.offline, .runtime-machine-offline { color: var(--warn); }
3019
- .runtime-machine-tag { max-width: 180px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
3020
- @media (max-width: 600px) {
3021
- .runtime-heading > div:last-child { width: 100%; }
3022
- .runtime-machine, .runtime-pairing, .runtime-local { padding: 14px; }
3023
- .runtime-cli-list li { flex-wrap: wrap; }
3024
- .runtime-cli-list li > .note { width: 100%; }
3025
- }
3026
- .windows-agent-input > div { display: flex; justify-content: flex-end; gap: 8px; align-items: center; }
3027
- .windows-agent-composer > .note { margin-top: 8px; font-size: 10px; }
3028
- .p-windows-agent .error, .agent-draft-assistant .error { color: var(--danger); font-size: 12px; overflow-wrap: anywhere; }
3029
- .windows-agent-blocked { padding: 16px; background: var(--warn-bg); border-radius: 10px; }
3030
- .windows-agent-blocked p { margin-bottom: 12px; }
3031
- @media (max-width: 620px) {
3032
- .agent-runtime-choice { flex-wrap: wrap; padding: 12px; }
3033
- .agent-runtime-choice > span { flex-basis: 100%; }
3034
- .windows-agent-composer { padding: 10px 12px; }
3035
- .windows-agent-identity { flex-wrap: wrap; }
3036
- }
3037
- /* Agent creation wizard: one active stage per screen, with persistent navigation actions. */
3038
- .agent-create-wizard { display: flex; flex-direction: column; gap: 24px; }
3039
- /* S-30: the body's top padding scrolled content through above the sticky steps (a phone showed card edges there); a
3040
- background-coloured copy of the bar, shifted up, covers that strip. */
3041
- .agent-create-steps { position: sticky; top: 0; z-index: 2; background: var(--bg); box-shadow: 0 calc(-1 * var(--s-5)) 0 var(--bg); display: flex; align-items: center; gap: 8px; padding-bottom: 20px; margin: 0; list-style: none; border-bottom: 1px solid var(--border); }
3042
- .agent-create-steps > li { display: flex; align-items: center; gap: 7px; color: var(--text-3); font-size: 12px; min-width: 0; }
3043
- .agent-create-steps > li:not(:last-child)::after { content: ""; width: 28px; height: 1px; background: var(--border); margin: 0 6px; }
3044
- .agent-create-steps > li.current { color: var(--text); font-weight: 600; }
3045
- .agent-create-step-number { display: grid; place-items: center; width: 22px; height: 22px; flex-shrink: 0; border: 1px solid var(--border-strong); border-radius: 50%; font-size: 11px; }
3046
- .agent-create-steps .current .agent-create-step-number { color: var(--on-accent); background: var(--accent-fill); border-color: var(--accent-fill); }
3047
- .agent-create-steps .complete .agent-create-step-number { color: var(--ok); border-color: var(--ok); background: var(--ok-bg); }
3048
- .agent-create-stage { display: flex; flex-direction: column; gap: 18px; min-width: 0; }
3049
- .agent-create-stage > h3 { margin: 0; font-size: 21px; font-weight: 600; line-height: 1.4; letter-spacing: -.025em; }
3050
- .agent-create-stage > h3:focus { outline: none; }
3051
- .agent-create-stage > .note { margin-top: -12px; font-size: 12px; line-height: 1.8; }
3052
- .agent-create-cli { padding: 16px; background: var(--surface); border: 1px solid var(--border); border-radius: 10px; }
3053
- .agent-create-cli .field { margin: 0; }
3054
- .agent-create-selection { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border: 1px solid var(--border); border-radius: 10px; background: var(--surface); }
3055
- .agent-create-selection > div { flex: 1; min-width: 0; }
3056
- .agent-create-selection strong { display: block; font-size: 12px; }
3057
- .agent-create-selection span { display: block; color: var(--text-2); font-size: 11px; overflow-wrap: anywhere; }
3058
- .agent-create-wizard .agent-runtime-fields { padding-top: 0; border-top: 0; }
3059
- .agent-create-success { align-items: center; text-align: center; padding: 18px 0 8px; }
3060
- .agent-create-success-icon { display: grid; place-items: center; width: 64px; height: 64px; color: var(--ok); background: var(--ok-bg); border-radius: 50%; }
3061
- .agent-create-success dl { display: grid; grid-template-columns: max-content minmax(0,1fr); gap: 12px 20px; width: 100%; margin: 0; padding: 18px; border: 1px solid var(--border); border-radius: 10px; text-align: left; font-size: 13px; }
3062
- .agent-create-success dt { color: var(--text-2); }
3063
- .agent-create-success dd { margin: 0; overflow-wrap: anywhere; }
3064
- .agent-create-success code { font-family: var(--font-mono); font-size: 12px; }
3065
- @media (max-width: 620px) {
3066
- .agent-create-steps { gap: 6px; }
3067
- .agent-create-steps > li { gap: 5px; font-size: 11px; }
3068
- .agent-create-steps > li:not(:last-child)::after { width: 12px; margin: 0 2px; }
3069
- .agent-create-selection { gap: 8px; padding: 10px; }
3070
- .agent-create-selection .btn { padding: 0 8px; }
3071
- .agent-create-stage > h3 { font-size: 20px; }
3072
- }
3073
- .cli-picker { width: 100%; min-width: 0; }
3074
- .cli-picker-trigger { display: flex; align-items: center; gap: 10px; width: 100%; min-height: 40px; padding: 8px 12px; border: 1px solid var(--border-strong); border-radius: var(--r-sm); background: var(--surface); color: var(--text); font: inherit; text-align: left; cursor: pointer; }
3075
- .cli-picker-trigger:hover:not(:disabled) { border-color: var(--accent); }
3076
- .cli-picker-trigger:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; }
3077
- .cli-picker-trigger:disabled { opacity: .5; cursor: not-allowed; }
3078
- .cli-product-mark { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; line-height: 0; }
3079
- .cli-product-mark svg, .cli-product-mark img { display: block; flex-shrink: 0; }
3080
- .cli-picker-value { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
3081
- .cli-picker-chevron { display: inline-flex; color: var(--text-3); }
3082
- .cli-picker .menu-list { left: 0; right: 0; min-width: 0; max-height: 280px; overflow-y: auto; }
3083
- .cli-picker .menu-list.menu-up { top: auto; bottom: calc(100% + 6px); }
3084
- .cli-picker .menu-list.menu-compact { max-height: 180px; }
3085
- .cli-picker .menu-list.menu-short { max-height: 96px; }
3086
- .cli-picker .menu-item { padding-top: 8px; padding-bottom: 8px; }
3087
- .cli-picker .menu-radio > span:last-child { flex: 1; min-width: 0; }
3088
- .cli-picker-option { display: flex; align-items: center; gap: 10px; min-width: 0; }
3089
- .cli-picker-copy { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
3090
- .cli-picker-description { color: var(--text-2); font-size: var(--fs-xs); line-height: 1.4; }
3091
- .cli-discovery-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 32px; }
3092
- .cli-discovery-status { display: flex; align-items: flex-start; gap: 12px; padding: 14px; border: 1px solid var(--border); border-radius: var(--r-sm); background: var(--surface); }
3093
- .cli-discovery-status > .out-spin { flex: 0 0 16px; width: 16px; height: 16px; margin-top: 3px; color: var(--accent); }
3094
- .cli-discovery-status > div { min-width: 0; }
3095
- .cli-discovery-status strong { display: block; font-size: var(--fs-sm); line-height: 1.5; }
3096
- .cli-discovery-status p, .cli-discovery-status small { display: block; color: var(--text-2); font-size: var(--fs-xs); line-height: 1.6; margin: 4px 0 0; overflow-wrap: anywhere; }
3097
- .cli-discovery-status .btn { margin-top: 10px; }
3098
- .cli-discovery-status.is-error { border-color: var(--border-strong); }
3099
- .cli-discovery-status.is-error > svg { flex: 0 0 auto; margin-top: 2px; }
3100
-
3101
- /* Settings UX: access, dashboard and advanced. */
3102
- /* Access, dashboard and the configuration editor: presentation only, existing controls stay mounted. */
3103
- .p-settings .s-web.s-part-access { display: flex; flex-direction: column; gap: var(--s-4); }
3104
- .p-settings .s-web.s-part-access > .s-tab-panel { min-width: 0; }
3105
- .p-settings .s-access-stack { display: flex; flex-direction: column; align-items: stretch; gap: var(--s-5); }
3106
- .p-settings .s-access-stack > .s-web-fields, .p-settings .s-access-stack > .card { margin: 0; }
3107
- .p-settings .s-web.s-part-access .s-web-fields { display: block; min-width: 0; }
3108
- .p-settings .s-web.s-part-access .s-web-fields > .card { margin: 0; }
3109
- .p-settings .s-access-session > .grid2, .p-settings .s-public-entry > .grid2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
3110
- .p-settings .s-access-policy { color: var(--text-3); font-size: var(--fs-sm); }
3111
- .p-settings .s-access-policy > summary { display: flex; align-items: center; gap: var(--s-2); width: fit-content; cursor: pointer; padding: var(--s-1) 0; }
3112
- .p-settings .s-access-policy > p { max-width: 80ch; margin: var(--s-2) 0 0; line-height: 1.6; }
3113
- .p-settings .s-terminal-disclosure, .p-settings .s-public-credentials { min-width: 0; }
3114
- .p-settings .s-terminal-disclosure > summary, .p-settings .s-public-credentials > summary { padding: var(--s-2) 0; }
3115
- .p-settings .s-terminal-disclosure > .drawer-body > .s-web-fields > .card { padding: 0; background: transparent; }
3116
- .p-settings .s-access-terminal > h3 { display: none; }
3117
- .p-settings .s-sharing-list { display: flex; flex-direction: column; gap: var(--s-3); min-width: 0; }
3118
- .p-settings .s-sharing-list > h3 { margin: 0; font-size: var(--fs-sm); color: var(--text-2); }
3119
- .p-settings .s-sharing-list > .card { margin: 0; }
3120
- .p-settings .s-public-credentials .s-tunnel-token { padding: var(--s-3) 0 0; margin: 0; border-radius: 0; background: transparent; }
3121
- .p-settings .s-public-credentials .s-tunnel-token > h3 { display: none; }
3122
- .p-settings .s-token-actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-2); }
3123
- .p-settings .s-token-input { width: 100%; max-width: 560px; min-height: 38px; padding: var(--s-2) var(--s-3); border: 1px solid var(--border); border-radius: var(--r-sm); background: var(--bg); color: var(--text); font-family: var(--font-mono); font-size: var(--fs-sm); }
3124
- .p-settings .s-web.s-part-dashboard, .p-settings .s-web.s-part-chat { min-width: 0; }
3125
- .p-settings .s-dashboard-features, .p-settings .s-web-chat { margin-bottom: 0; }
3126
- .p-settings .s-dashboard-features > h3 { margin-bottom: var(--s-2); }
3127
- .p-settings .s-dashboard-features .s-setting-row + .s-setting-row { padding-top: var(--s-4); border-top: 1px solid var(--border); }
3128
- .p-settings .s-setting-copy { min-width: 0; }
3129
- .p-settings .s-setting-copy > label { color: var(--text); font-size: var(--fs-sm); font-weight: var(--fw-medium); cursor: pointer; }
3130
- .p-settings .s-setting-copy > .note { margin: var(--s-1) 0 0; line-height: 1.55; }
3131
- .p-settings .s-web-readonly { margin-bottom: 0; }
3132
- .p-settings .s-ro-columns, .p-settings .s-web-readonly .s-web-ro > div { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr) minmax(110px, .4fr); gap: var(--s-3); align-items: start; padding: var(--s-3) var(--s-2); }
3133
- .p-settings .s-ro-columns { color: var(--text-3); font-size: var(--fs-xs); font-weight: var(--fw-semibold); border-bottom: 1px solid var(--border); padding-bottom: var(--s-2); }
3134
- .p-settings .s-web-readonly .s-web-ro { display: block; margin: calc(-1 * var(--s-3)) 0 0; }
3135
- .p-settings .s-web-readonly .s-web-ro > div { border-bottom: 1px solid var(--border); }
3136
- .p-settings .s-web-readonly .s-web-ro > div:last-child { border-bottom: 0; }
3137
- .p-settings .s-web-readonly .s-web-ro dt, .p-settings .s-web-readonly .s-web-ro dd { min-width: 0; overflow-wrap: anywhere; }
3138
- .p-settings .s-web-readonly .s-ro-value > .s-default { display: none; }
3139
- .p-settings .s-web-readonly .s-ro-source { color: var(--text-3); }
3140
- .p-settings .s-dev { padding: var(--s-4); margin-bottom: 0; min-width: 0; gap: var(--s-3); }
3141
- .p-settings .s-dev-bar { justify-content: space-between; gap: var(--s-3); }
3142
- .p-settings .s-dev-actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-2); }
3143
- .p-settings .s-dev .s-yaml { width: 100%; min-height: 300px; height: clamp(300px, 52vh, 620px); max-height: none; margin: 0; padding: var(--s-4); overflow: auto; font-size: var(--fs-sm); line-height: 1.65; }
3144
- .p-settings .s-dev-state { display: flex; align-items: center; gap: var(--s-2); color: var(--text-3); font-size: var(--fs-xs); }
3145
- @media (max-width: 899px) {
3146
- .p-settings .s-access-stack { max-width: none; }
3147
- .p-settings .s-ro-columns { display: none; }
3148
- .p-settings .s-web-readonly .s-web-ro { margin-top: 0; }
3149
- .p-settings .s-web-readonly .s-web-ro > div { grid-template-columns: minmax(0, 1fr) auto; gap: var(--s-1) var(--s-2); }
3150
- .p-settings .s-web-readonly .s-web-ro dt { grid-column: 1 / -1; }
3151
- .p-settings .s-web-readonly .s-ro-source { text-align: right; }
3152
- }
3153
- @media (max-width: 599px) {
3154
- .p-settings .s-access-session > .grid2, .p-settings .s-public-entry > .grid2 { grid-template-columns: minmax(0, 1fr); }
3155
- .p-settings .s-dev { padding: var(--s-3); }
3156
- .p-settings .s-dev-bar, .p-settings .s-dev-actions { gap: var(--s-2); }
3157
- .p-settings .s-dev .s-yaml { padding: var(--s-3); font-size: var(--fs-xs); }
3158
- }
3159
-
3160
-
3161
- /* Settings UX: preferences. */
3162
- /* Preferences: a readable form, keeping immediate profile writes apart from staged preferences. */
3163
- .p-settings .s-section-layout[data-section="preferences"], .p-settings .s-section-layout[data-section="look"] { display: block; }
3164
- .p-settings .s-pref-stack { display: grid; gap: 24px; width: 100%; margin-inline: auto; min-width: 0; }
3165
- .p-settings .s-pref-stack > .card { margin: 0; padding: 24px; gap: 18px; }
3166
- .p-settings .s-pref-stack h3 { font-size: var(--fs-lg); line-height: var(--lh-lg); letter-spacing: 0; text-transform: none; color: var(--text); }
3167
- .p-settings .s-pref-group-head { display: flex; gap: 12px; align-items: center; justify-content: space-between; flex-wrap: wrap; }
3168
- .p-settings .s-pref-profile-fields { display: grid; gap: 14px; min-width: 0; }
3169
- .p-settings .s-pref-identity-note { max-width: 70ch; }
3170
- .p-settings .s-pref-profile-fields .field input { width: 100%; max-width: 32rem; }
3171
- .p-settings .s-pref-profile-fields .s-device-row { flex-wrap: wrap; }
3172
- .p-settings .s-pref-name-format { border-top: 1px solid var(--border); padding-top: 18px; }
3173
- .p-settings .s-pref-stack .prefs.labelled .pref { flex-wrap: wrap; row-gap: 8px; }
3174
- .p-settings .s-pref-stack .prefs.labelled .pref-label { min-width: 9em; }
3175
- .p-settings .s-pref-stack .prefs.labelled select { flex: 0 1 22rem; min-width: 0; max-width: 100%; height: 40px; font-size: var(--fs-sm); }
3176
- .p-settings .s-pref-immediate { font-size: var(--fs-xs); }
3177
- .p-settings .s-pref-preview { min-height: 40px; padding-top: 6px; }
3178
- .p-settings .s-pref-help-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
3179
- .p-settings .s-pref-help-row > div { flex: 1 1 240px; min-width: 0; }
3180
- .p-settings .s-pref-help-row strong { display: block; font-size: var(--fs-sm); margin-bottom: 4px; }
3181
- .p-settings .s-pref-shortcuts-row { padding-top: 18px; border-top: 1px solid var(--border); }
3182
- .settings-shortcuts { display: grid; gap: 20px; }
3183
- .settings-shortcuts > p { margin: 0; color: var(--text-3); font-size: var(--fs-sm); line-height: 1.65; }
3184
- .settings-shortcuts > section { min-width: 0; padding-bottom: 18px; border-bottom: 1px solid var(--border); }
3185
- .settings-shortcuts h3 { margin: 0 0 12px; font-size: var(--fs-md); }
3186
- .settings-shortcuts section > p { margin: 10px 0 0; color: var(--text-3); font-size: var(--fs-sm); line-height: 1.65; }
3187
- .settings-shortcut-row { display: grid; grid-template-columns: 150px minmax(0, 1fr); align-items: center; gap: 12px; margin-top: 8px; font-size: var(--fs-sm); }
3188
- .settings-shortcut-keys { display: inline-flex; align-items: center; flex-wrap: wrap; gap: 5px; color: var(--text-3); }
3189
- .settings-shortcuts kbd { padding: 3px 7px; border: 1px solid var(--border-strong); border-radius: 5px; background: var(--surface-2); color: var(--text); font-family: var(--font-mono); font-size: var(--fs-xs); }
3190
- @media (max-width: 599px) { .settings-shortcut-row { grid-template-columns: 140px minmax(0, 1fr); } }
3191
- .p-settings .s-pref-look-link { display: inline-flex; align-items: center; gap: 8px; justify-self: start; font-size: var(--fs-sm); color: var(--text-2); }
3192
- .p-settings .s-pref-look-link svg { transform: rotate(-90deg); flex: none; }
3193
-
3194
- /* Look: controls first, a live preview on wide screens, and advanced editors kept mounted in disclosures. */
3195
- .p-settings .s-look-workspace { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; min-width: 0; }
3196
- .p-settings .s-look-basics { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; align-items: start; min-width: 0; }
3197
- .p-settings .s-look-main { display: grid; gap: 20px; min-width: 0; }
3198
- .p-settings .s-look-main > .card { margin: 0; padding: 24px; gap: 18px; min-width: 0; }
3199
- .p-settings .s-look-main > .card > h3, .p-settings .s-look-preview > h3 { font-size: var(--fs-lg); line-height: var(--lh-lg); letter-spacing: 0; text-transform: none; color: var(--text); }
3200
- .p-settings .s-look-display .prefs.labelled .pref { flex-wrap: wrap; row-gap: 8px; }
3201
- .p-settings .s-look-display .prefs.labelled .pref-label { min-width: 9em; }
3202
- .p-settings .s-look-display .prefs.labelled select { flex: 0 1 20rem; min-width: 0; max-width: 100%; height: 40px; font-size: var(--fs-sm); }
3203
- .p-settings .s-settings-content-width { display: grid; grid-template-columns: minmax(0, 1fr) minmax(140px, 200px); align-items: center; gap: 10px 20px; padding-top: 18px; border-top: 1px solid var(--border); min-width: 0; }
3204
- .p-settings .s-settings-content-width > label { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; min-width: 0; font-size: var(--fs-sm); font-weight: var(--fw-medium); }
3205
- .p-settings .s-settings-content-width > select { width: 100%; min-width: 0; min-height: 40px; padding: 8px 12px; border: 1px solid var(--border); border-radius: var(--r-sm); background: var(--bg); color: var(--text); font-size: var(--fs-sm); }
3206
- .p-settings .s-settings-content-width > .sub { grid-column: 1 / -1; }
3207
- @container settings-page (max-width: 600px) {
3208
- .p-settings .s-settings-content-width { grid-template-columns: minmax(0, 1fr); }
3209
- }
3210
- .p-settings .s-look-main .sub, .p-settings .s-look-preview .sub { color: var(--text-3); font-size: var(--fs-sm); margin: 0; }
3211
- .p-settings .s-look-identity-controls { display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; min-width: 0; }
3212
- .p-settings .s-look-identity-controls > .card, .p-settings .s-look-motion > .card { padding: 0; margin: 0; border: 0; border-radius: 0; background: transparent; min-width: 0; }
3213
- .p-settings .s-look-identity-controls > .card > h3, .p-settings .s-look-motion > .card > h3 { font-size: var(--fs-sm); letter-spacing: 0; text-transform: none; }
3214
- .p-settings .s-look-motion > .s-motion { border-top: 1px solid var(--border); padding-top: 18px; }
3215
- .p-settings .s-look-workspace .card-size { flex-wrap: wrap; }
3216
- .p-settings .s-look-workspace .card-size .seg-item { min-height: 36px; padding-inline: 15px; }
3217
- .p-settings .s-look-preview { display: none; align-self: start; position: sticky; top: 0; margin: 0; padding: 20px; gap: 16px; min-width: 0; border: 1px solid var(--border); background: var(--surface); }
3218
- .p-settings .s-look-sidebar-sample { padding: 14px; border: 1px solid var(--border); border-radius: var(--r-sm); background: var(--bg-sidebar); min-width: 0; }
3219
- .p-settings .s-look-sidebar-sample .s-colors-sample { max-width: none; }
3220
- .p-settings .s-look-sidebar-sample .inst { pointer-events: none; }
3221
- .p-settings .s-look-card-sample { display: grid; justify-items: center; align-content: center; gap: 8px; padding: 16px 10px; border: 1px solid var(--border); border-radius: var(--r-sm); background: var(--bg); font-size: var(--fs-sm); text-align: center; overflow-wrap: anywhere; }
3222
- .p-settings .s-look-card-sample.is-s { min-height: 112px; }
3223
- .p-settings .s-look-card-sample.is-m { min-height: 144px; }
3224
- .p-settings .s-look-card-sample.is-l { min-height: 180px; }
3225
- .p-settings .s-look-preview-avatar { display: grid; place-items: center; width: 40px; height: 40px; border-radius: var(--r-full); background: var(--surface-2); color: var(--text-2); font-size: var(--fs-lg); font-weight: var(--fw-semibold); }
3226
- .p-settings .s-look-card-sample > span:last-child { color: var(--text-3); font-size: var(--fs-xs); }
3227
- .p-settings .s-look-advanced { display: grid; gap: 10px; min-width: 0; grid-column: 1 / -1; }
3228
- .p-settings .s-look-disclosure { min-width: 0; border: 1px solid var(--border); border-radius: var(--r-md); background: var(--surface); }
3229
- .p-settings .s-look-disclosure > summary { display: flex; align-items: center; gap: 12px; padding: 17px 20px; cursor: pointer; list-style: none; font-size: var(--fs-sm); font-weight: var(--fw-semibold); }
3230
- .p-settings .s-look-disclosure > summary::-webkit-details-marker { display: none; }
3231
- .p-settings .s-look-disclosure > summary > span { flex: 1; min-width: 0; overflow-wrap: anywhere; }
3232
- .p-settings .s-look-disclosure > summary > svg { flex: none; color: var(--text-3); }
3233
- .p-settings .s-look-disclosure[open] > summary > svg:last-child { transform: rotate(180deg); }
3234
- .p-settings .s-look-disclosure[open] > summary { border-bottom: 1px solid var(--border); }
3235
- .p-settings .s-look-disclosure-body { display: grid; gap: 20px; padding: 24px; min-width: 0; }
3236
- .p-settings .s-look-disclosure-body > .card { margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; min-width: 0; }
3237
- .p-settings .s-look-disclosure-body > .card + .card { padding-top: 20px; border-top: 1px solid var(--border); }
3238
- .p-settings .s-look-disclosure-body textarea { max-width: 100%; }
3239
- .p-settings .s-look-disclosure.is-restore > summary { color: var(--text-2); }
3240
- @container settings-page (min-width: 1040px) {
3241
- .p-settings .s-look-basics { grid-template-columns: minmax(0, 1fr) 240px; }
3242
- .p-settings .s-look-preview { display: flex; }
3243
- .p-settings .s-look-identity-controls { grid-template-columns: minmax(0, 1fr) 180px; }
3244
- .p-settings .s-look-main .s-colors-sample { display: none; }
3245
- }
3246
- @media (max-width: 600px) {
3247
- .p-settings .s-pref-stack { gap: 18px; }
3248
- .p-settings .s-pref-stack > .card, .p-settings .s-look-main > .card { padding: 18px; }
3249
- .p-settings .s-pref-stack .prefs.labelled .pref-label, .p-settings .s-look-display .prefs.labelled .pref-label { min-width: 0; flex: 1; }
3250
- .p-settings .s-pref-stack .prefs.labelled select, .p-settings .s-look-display .prefs.labelled select { flex-basis: 100%; width: 100%; }
3251
- .p-settings .s-pref-help-row > .btn { width: 100%; }
3252
- .p-settings .s-look-disclosure > summary { padding: 16px; }
3253
- .p-settings .s-look-disclosure-body { padding: 18px; }
3254
- }
3255
-
3256
-
3257
- /* Settings UX: agents. */
3258
- /* Agent, ClassicBot and connection lists use the same row rhythm; settings-page is the shared content container. */
3259
- .p-settings .s-agent-filters { display: grid; gap: 12px; margin-bottom: 14px; min-width: 0; }
3260
- .p-settings .s-agent-filter-controls { display: flex; align-items: flex-end; flex-wrap: wrap; gap: 12px; min-width: 0; }
3261
- .p-settings .s-agent-filter-controls > label { display: grid; gap: 6px; flex: 0 1 240px; min-width: 0; font-size: var(--fs-xs); color: var(--text-2); }
3262
- .p-settings .s-agent-filter-controls > label:nth-child(2) { flex-basis: 200px; }
3263
- .p-settings .s-agent-filter-controls select { width: 100%; min-width: 0; min-height: 40px; padding: 8px 12px; border: 1px solid var(--border); border-radius: var(--r-sm); background: var(--bg); color: var(--text); font-size: var(--fs-sm); }
3264
- .p-settings .s-agent-filter-clear { min-height: 40px; }
3265
- .p-settings .s-agent-filter-count { margin: 0; color: var(--text-3); font-size: var(--fs-xs); }
3266
- .p-settings .s-agent-runtime-state { display: block; margin-top: 3px; color: var(--text-3); font-size: var(--fs-xs); }
3267
- @container settings-page (max-width: 600px) {
3268
- .p-settings .s-agent-filter-controls { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
3269
- .p-settings .s-agent-filter-clear { grid-column: 1 / -1; justify-self: start; }
3270
- }
3271
- .p-settings .s-list-toolbar { margin: 0 0 14px; min-height: 36px; }
3272
- .p-settings :is(.s-agents-list, .s-classic-list, .s-connections-list) { gap: 0; margin: 0; border: 1px solid var(--border); border-radius: var(--r-md); background: var(--surface); overflow: hidden; }
3273
- .p-settings .s-agents-list { overflow: visible; }
3274
- .p-settings .s-agents-list > .s-list-columns { border-radius: calc(var(--r-md) - 1px) calc(var(--r-md) - 1px) 0 0; }
3275
- .p-settings .s-agents-list > .s-group:nth-child(2) > .s-group-head { border-radius: calc(var(--r-md) - 1px) calc(var(--r-md) - 1px) 0 0; }
3276
- .p-settings .s-agent-menu { flex: none; }
3277
- .p-settings .s-agent-menu .menu-list { max-height: 280px; overflow-y: auto; }
3278
- .p-settings .s-agent-menu .menu-list.menu-up { top: auto; bottom: calc(100% + var(--s-1)); }
3279
- .p-settings .s-agent-menu .menu-list.menu-compact { max-height: 180px; }
3280
- .p-settings .s-agent-menu .menu-list.menu-short { max-height: 96px; }
3281
- .p-settings .s-list-columns { display: none; align-items: center; gap: 16px; padding: 12px 16px; background: var(--surface-2); color: var(--text-2); font-size: var(--fs-xs); font-weight: var(--fw-semibold); }
3282
- .p-settings .s-list-columns > span:last-child { text-align: right; }
3283
- .p-settings .s-agents-list > .s-group { margin: 0; }
3284
- .p-settings .s-agents-list .s-group-head { padding: 10px 16px; border-radius: 0; border-top: 1px solid var(--border); background: var(--surface-2); text-transform: none; letter-spacing: normal; }
3285
- .p-settings :is(.s-agent-row, .s-classic-row) { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; gap: 12px 16px; min-width: 0; padding: 16px; border-bottom: 1px solid var(--border); border-radius: 0; background: transparent; }
3286
- .p-settings :is(.s-agent-row, .s-classic-row):last-child { border-bottom: 0; }
3287
- .p-settings :is(.s-agent-identity, .s-classic-identity) { grid-column: 1; grid-row: 1; min-width: 0; }
3288
- .p-settings :is(.s-agent-identity, .s-classic-identity) > .s-name { display: block; max-width: none; line-height: 1.5; }
3289
- .p-settings .s-agent-context { display: flex; align-items: center; gap: 4px; flex-wrap: wrap; margin-top: 5px; }
3290
- .p-settings .s-agent-context:empty { display: none; }
3291
- .p-settings .s-agent-runtime { grid-column: 1 / -1; min-width: 0; }
3292
- .p-settings .s-agent-runtime .tag { display: inline-block; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; vertical-align: bottom; }
3293
- .p-settings :is(.s-agent-cli, .s-classic-cli) { display: flex; align-items: center; gap: 9px; grid-column: 1 / -1; min-width: 0; }
3294
- .p-settings :is(.s-agent-cli, .s-classic-cli) > svg { flex: none; }
3295
- .p-settings :is(.s-agent-cli, .s-classic-cli) > span { min-width: 0; }
3296
- .p-settings :is(.s-agent-cli, .s-classic-cli) strong { display: block; font-size: var(--fs-sm); font-weight: var(--fw-medium); line-height: 1.45; }
3297
- .p-settings :is(.s-agent-cli, .s-classic-cli) .s-meta { display: block; max-width: 100%; font-size: var(--fs-xs); }
3298
- .p-settings :is(.s-agent-status, .s-classic-status) { display: flex; align-items: center; gap: 7px; grid-column: 2; grid-row: 1; padding-top: 2px; color: var(--text-2); font-size: var(--fs-xs); white-space: nowrap; }
3299
- .p-settings :is(.s-agent-row, .s-classic-row) > .s-actions { grid-column: 1 / -1; margin-left: 0; justify-content: flex-end; }
3300
- .p-settings .s-connections-list > .s-conn { grid-template-columns: minmax(0, 1fr); padding: 16px; border-bottom: 1px solid var(--border); border-radius: 0; background: transparent; }
3301
- .p-settings .s-connections-list > .s-conn:last-child { border-bottom: 0; }
3302
- .p-settings .s-connections-list .s-facts { grid-column: 1; grid-row: 2; }
3303
- .p-settings .s-connections-list .s-actions { grid-column: 1; grid-row: 3; flex-wrap: wrap; justify-content: flex-end; }
3304
- .p-settings .s-provider-keys { margin: 0; }
3305
- .p-settings .s-provider-keys .s-key { padding: 16px 0; border-bottom: 1px solid var(--border); }
3306
- .p-settings .s-provider-keys .s-key:last-child { padding-bottom: 0; border-bottom: 0; }
3307
- .p-settings [data-section="agent-defaults"] .s-general { width: 100%; margin: 0 auto; }
3308
- .p-settings [data-section="agent-defaults"] .s-general > .card { margin: 0; }
3309
- .p-settings :is([data-section="agent-defaults"], [data-section="chat"]) .s-general .grid2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
3310
- .p-settings .s-defaults-collaboration .grid2 > .field:first-child { grid-column: 1 / -1; }
3311
- .p-settings .s-defaults-permissions .dash-perms { margin: 0; padding: 0; }
3312
- .p-settings .s-defaults-permissions .dash-perms > .check { padding: 10px 0; border-bottom: 1px solid var(--border); }
3313
- .p-settings .s-defaults-permissions .dash-perms > .check:last-child { border-bottom: 0; }
3314
- .p-settings .s-defaults-workspace .card { padding: 0; border: 0; margin: 0; background: transparent; }
3315
- .p-settings [data-section="agent-defaults"] .s-general > .drawer { padding: 0; border: 1px solid var(--border); border-radius: var(--r-md); background: var(--surface); }
3316
- .p-settings [data-section="agent-defaults"] .s-general > .drawer > summary { padding: 16px 20px; font-weight: var(--fw-semibold); }
3317
- .p-settings [data-section="agent-defaults"] .s-general > .drawer > .drawer-body { display: flex; flex-direction: column; padding: 0 20px 20px; gap: 20px; }
3318
- .p-settings [data-section="agent-defaults"] .s-general > .drawer > .drawer-body > .card { padding: 0; margin: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
3319
- .p-settings [data-section="agent-defaults"] .s-general > .drawer > .drawer-body > .card + .card { padding-top: 20px; border-top: 1px solid var(--border); }
3320
- .p-settings .s-classic-defaults-card { margin: 0; }
3321
- @container settings-page (min-width: 620px) {
3322
- .p-settings .s-agent-runtime { grid-column: 1; }
3323
- .p-settings .s-agent-cli { grid-column: 2; }
3324
- }
3325
- @container settings-page (min-width: 900px) {
3326
- .p-settings .s-agents-list > .s-group:nth-child(2) > .s-group-head { border-radius: 0; }
3327
- .p-settings .s-agent-columns, .p-settings .s-agent-row { display: grid; grid-template-columns: minmax(150px, 1.1fr) minmax(120px, .8fr) minmax(170px, 1.2fr) minmax(80px, .6fr) minmax(170px, auto); align-items: center; }
3328
- .p-settings .s-classic-columns, .p-settings .s-classic-row { display: grid; grid-template-columns: minmax(170px, 1fr) minmax(180px, 1.3fr) minmax(90px, .6fr) minmax(150px, auto); align-items: center; }
3329
- .p-settings :is(.s-agent-row, .s-classic-row) > * { grid-column: auto; grid-row: auto; }
3330
- .p-settings :is(.s-agent-row, .s-classic-row) > .s-actions { grid-column: auto; grid-row: auto; }
3331
- .p-settings .s-connection-columns, .p-settings .s-connections-list > .s-conn { display: grid; grid-template-columns: minmax(180px, .9fr) minmax(180px, 1.4fr) minmax(240px, auto); align-items: center; }
3332
- .p-settings .s-connections-list .s-facts, .p-settings .s-connections-list .s-actions { grid-column: auto; grid-row: auto; }
3333
- .p-settings .s-connections-list .s-actions { flex-wrap: wrap; }
3334
- }
3335
- @container settings-page (max-width: 600px) {
3336
- .p-settings :is([data-section="agent-defaults"], [data-section="chat"]) .s-general .grid2 { grid-template-columns: minmax(0, 1fr); }
3337
- .p-settings .s-agent-context .tag { white-space: normal; overflow-wrap: anywhere; }
3338
- }
3339
-
3340
- /* Runtime management leads with computers; policies and tutorials stay available on demand. */
3341
- .p-settings .runtime-settings { display: flex; flex-direction: column; gap: 20px; }
3342
- .p-settings .runtime-heading { margin: 0 0 4px; align-items: flex-start; }
3343
- .p-settings .runtime-heading > div:last-child { justify-content: flex-end; }
3344
- .p-settings .runtime-local { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 14px; margin: 0; padding: 20px; border-radius: 10px; }
3345
- .p-settings .runtime-local > div { flex: 1 1 260px; min-width: 0; }
3346
- .p-settings .runtime-local h3 { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0; font-size: var(--fs-sm); }
3347
- .p-settings .runtime-local .note { margin: 8px 0 0; max-width: 75ch; }
3348
- .p-settings .runtime-machines { display: flex; flex-direction: column; gap: 12px; }
3349
- .p-settings .runtime-machine { margin: 0; padding: 20px; border-radius: 10px; }
3350
- .p-settings .runtime-machine > header h3 { font-size: var(--fs-md); }
3351
- .p-settings .runtime-machine > header p { margin-top: 4px; }
3352
- .p-settings .runtime-cli-list { margin: 14px 0; }
3353
- .p-settings .runtime-cli-list > li { padding: 10px 12px; }
3354
- .p-settings .runtime-switches { display: flex; flex-direction: column; align-items: stretch; gap: 12px; margin: 0; }
3355
- .p-settings .runtime-policy .runtime-switches-main { padding: 0 20px 20px; background: transparent; border: 0; }
3356
- .p-settings .runtime-switches-main > h3 { padding-top: 6px; font-size: var(--fs-sm); }
3357
- .p-settings .runtime-switch-row input.s-ui-toggle { width: 38px; height: 22px; margin-top: 2px; }
3358
- .p-settings .runtime-switch-row strong { font-size: var(--fs-sm); }
3359
- .p-settings .runtime-guide { padding: 0; }
3360
- .p-settings .runtime-guide > summary { padding: 16px 44px 16px 20px; font-size: var(--fs-sm); }
3361
- .p-settings .runtime-guide > p, .p-settings .runtime-guide > pre, .p-settings .runtime-guide > .runtime-guide-link { margin-left: 20px; margin-right: 20px; }
3362
- .p-settings .runtime-guide > .runtime-guide-link { margin-bottom: 20px; }
3363
- .p-settings .runtime-local-diagnostics { margin: 0; }
3364
- .p-settings .runtime-local-diagnostics > summary { padding: 16px 44px 16px 20px; }
3365
- .p-settings .runtime-local-diagnostics .windows-cli-content { width: 100%; max-width: none; padding: 0; }
3366
- .p-settings .runtime-local-diagnostics .windows-cli-workbench { margin-bottom: 0; }
3367
- .p-settings .runtime-operations-note { margin: 0; font-size: var(--fs-xs); }
3368
- .p-settings .s-ui-disclosure-body { padding: 0 20px 20px; min-width: 0; }
3369
- .p-settings .s-section-layout[data-section="web-dashboard"] { display: grid; grid-template-columns: minmax(0, 1fr); align-items: start; gap: 20px; }
3370
- .p-settings .s-section-layout[data-section="web-dashboard"] > * { min-width: 0; margin: 0; }
3371
- .p-settings .s-app-icon .s-app-icon-row { align-items: flex-start; flex-wrap: wrap; }
3372
- .p-settings .s-app-icon .s-css-actions { flex-wrap: wrap; }
3373
- .p-settings .s-dashboard-limits { grid-column: 1 / -1; }
3374
- .p-settings .s-advanced-layout { min-width: 0; }
3375
- .p-settings .s-ai-accounts .backend-signin-list { margin: 0; }
3376
- .p-settings .s-section-layout .field > .s-default { align-self: flex-start; }
3377
- @container settings-page (min-width: 1040px) {
3378
- .p-settings .s-section-layout[data-section="web-dashboard"] { grid-template-columns: minmax(0, 1.6fr) minmax(260px, 1fr); }
3379
- }
3380
- @media (max-width: 600px) {
3381
- .p-settings .runtime-heading > div:last-child { justify-content: flex-start; }
3382
- .p-settings .runtime-local, .p-settings .runtime-machine { padding: 16px; }
3383
- .p-settings .runtime-policy .runtime-switches-main, .p-settings .s-ui-disclosure-body { padding: 0 16px 16px; }
3384
- }
3385
-
3386
- /* Runtime: match the computer list / connection guide hierarchy in the proposal. */
3387
- .p-settings > .panel-body:has(.runtime-settings) { scrollbar-gutter: stable; }
3388
- .p-settings .runtime-layout { display: grid; grid-template-columns: minmax(0, 1fr); align-items: start; gap: 20px; min-width: 0; }
3389
- .p-settings .runtime-heading h2 { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; }
3390
- .p-settings .runtime-main { display: flex; flex-direction: column; gap: 20px; min-width: 0; align-self: start; container: runtime-main / inline-size; }
3391
- .p-settings .runtime-main > .runtime-switches { display: block; }
3392
- .p-settings .runtime-computers { min-width: 0; padding: 24px; border: 1px solid var(--border); border-radius: 10px; background: var(--surface); }
3393
- .p-settings .runtime-computers > h3, .p-settings .runtime-connect-guide > h3 { margin: 0 0 20px; color: var(--text); font-size: var(--fs-lg); line-height: 1.4; }
3394
- .p-settings .runtime-computers .runtime-local { padding: 18px; background: var(--bg); }
3395
- .p-settings .runtime-computers .runtime-machines { margin-top: 16px; }
3396
- .p-settings .runtime-computers .runtime-machines > .note { margin: 0; padding: 14px 0 0; color: var(--text-3); font-size: var(--fs-sm); }
3397
- .p-settings .runtime-policy { min-width: 0; }
3398
- .p-settings :is(.runtime-policy, .runtime-local-diagnostics) > summary { display: flex; align-items: center; gap: 14px; min-height: 88px; padding: 18px 48px 18px 22px; }
3399
- .p-settings :is(.runtime-policy, .runtime-local-diagnostics) > summary > .icon { flex: 0 0 22px; color: var(--text-2); }
3400
- .p-settings :is(.runtime-policy, .runtime-local-diagnostics) > summary > span { min-width: 0; }
3401
- .p-settings :is(.runtime-policy, .runtime-local-diagnostics) > summary strong { display: block; font-size: var(--fs-md); line-height: 1.45; }
3402
- .p-settings :is(.runtime-policy, .runtime-local-diagnostics) > summary small { margin-top: 5px; font-size: var(--fs-sm); line-height: 1.5; }
3403
- .p-settings :is(.runtime-policy, .runtime-local-diagnostics) > summary::after { top: 36px; }
3404
- .p-settings :is(.runtime-policy, .runtime-local-diagnostics)[open] > summary::after { top: 40px; }
3405
- .p-settings .runtime-local-diagnostics { min-width: 0; }
3406
- .p-settings .runtime-local-diagnostics > .s-disclosure-body { padding: 0 24px 24px; }
3407
- .p-settings .runtime-local-diagnostics > .s-disclosure-body > .note { margin: 0 0 22px; font-size: var(--fs-sm); }
3408
- .p-settings .runtime-local-diagnostics .windows-cli-intro { align-items: center; gap: 16px; padding-bottom: 18px; margin-bottom: 20px; border-bottom: 1px solid var(--border); }
3409
- .p-settings .runtime-local-diagnostics .windows-cli-intro :is(.windows-cli-eyebrow, h2) { display: none; }
3410
- .p-settings .runtime-local-diagnostics .windows-cli-intro p { max-width: 68ch; margin-top: 5px; }
3411
- .p-settings .runtime-local-diagnostics .windows-cli-field .model-pick > :is(select, input) { display: block; width: 100%; max-width: 100%; min-width: 0; min-height: 42px; padding: 9px 12px; border: 1px solid var(--border-strong); border-radius: 8px; background: var(--bg); color: var(--text); font-family: var(--font-ui); font-size: var(--fs-sm); }
3412
- .p-settings .runtime-local-diagnostics .windows-cli-provider-head { align-items: center; }
3413
- .p-settings .runtime-local-diagnostics .windows-cli-provider-name h3 { margin: 0; font-size: var(--fs-md); }
3414
- .p-settings .runtime-local-diagnostics .windows-cli-brand { width: 36px; height: 36px; }
3415
- .p-settings .runtime-local-diagnostics .windows-cli-badge { max-width: 100%; white-space: normal; }
3416
- .p-settings .runtime-local-diagnostics .windows-cli-section-head { align-items: flex-start; }
3417
- .p-settings .runtime-local-diagnostics .windows-cli-section-head h2 { min-height: 22px; margin: 0; font-size: var(--fs-md); }
3418
- .p-settings .runtime-connect-guide { align-self: start; min-width: 0; padding: 24px; border: 1px solid var(--border); border-radius: 10px; background: var(--surface); }
3419
- .p-settings .runtime-connect-guide > ol { display: grid; gap: 18px; padding: 0; margin: 0 0 22px; list-style: none; counter-reset: runtime-steps; }
3420
- .p-settings .runtime-connect-guide > ol > li { display: flex; align-items: center; gap: 12px; font-size: var(--fs-sm); line-height: 1.5; counter-increment: runtime-steps; }
3421
- .p-settings .runtime-connect-guide > ol > li::before { content: counter(runtime-steps); display: grid; place-items: center; flex: none; width: 28px; height: 28px; border-radius: 50%; color: var(--accent); background: var(--accent-dim); font-weight: var(--fw-semibold); }
3422
- .p-settings .runtime-connect-guide > .runtime-guide { border: 0; border-top: 1px solid var(--border); border-radius: 0; background: transparent; }
3423
- .p-settings .runtime-connect-guide .runtime-guide > summary { display: list-item; padding: 18px 0 8px; color: var(--accent); line-height: 1.5; }
3424
- .p-settings .runtime-connect-guide .runtime-guide > :is(p,pre,.runtime-guide-link) { margin-left: 0; margin-right: 0; }
3425
- .p-settings .runtime-connect-guide .runtime-guide > p { font-size: var(--fs-xs); line-height: 1.7; overflow-wrap: anywhere; }
3426
- .p-settings .runtime-connect-guide > .note { margin: 16px 0 0; font-size: var(--fs-sm); line-height: 1.7; }
3427
- @container settings-page (min-width: 1040px) {
3428
- .p-settings .runtime-layout { grid-template-columns: minmax(0, 1fr) 300px; gap: 20px 24px; }
3429
- .p-settings .runtime-connect-guide { grid-column: 2; grid-row: 1; }
3430
- }
3431
- @media (max-width: 600px) {
3432
- .p-settings .runtime-computers, .p-settings .runtime-connect-guide { padding: 18px; }
3433
- .p-settings .runtime-computers .runtime-local { padding: 14px; }
3434
- .p-settings :is(.runtime-policy, .runtime-local-diagnostics) > summary { padding-left: 18px; gap: 12px; }
3435
- .p-settings .runtime-local-diagnostics > .s-disclosure-body { padding: 0 18px 18px; }
3436
- .p-settings .runtime-local-diagnostics .windows-cli-intro { align-items: flex-start; }
3437
- .p-settings .runtime-local-diagnostics .windows-cli-field .model-pick > :is(select, input) { font-size: 16px; }
3438
- }
3439
-
3440
- /* Agent workspace: a single aligned table and a clearly scoped host-authentication area. */
3441
- .p-settings [data-settings-section="agents"] > .s-page-head { align-items: center; }
3442
- .p-settings [data-settings-section="agents"] .s-page-actions { display: flex; align-items: center; flex: 0 0 auto; gap: 10px; }
3443
- .p-settings [data-settings-section="agents"] .s-page-actions .btn { border-radius: 8px; }
3444
- .p-settings [data-section="agents"] .s-agent-count { margin: -2px 0 12px; min-height: 0; }
3445
- .p-settings .s-ai-accounts > summary { padding: 20px 48px 20px 24px; font-size: 16px; line-height: 1.5; }
3446
- .p-settings .s-ai-accounts > summary small { font-size: 13px; }
3447
- .p-settings .s-ai-accounts > summary::after, .p-settings .s-ai-accounts[open] > summary::after { top: 28px; }
3448
- .p-settings .s-ai-accounts > .s-auth-body { padding: 0 24px 24px; gap: 24px; }
3449
- .p-settings .s-auth-scope { display: flex; align-items: flex-start; gap: 12px; padding: 14px 16px; border-radius: 8px; background: var(--surface-2); color: var(--text-2); }
3450
- .p-settings .s-auth-scope > svg { flex: none; margin-top: 2px; }
3451
- .p-settings .s-auth-scope > div { min-width: 0; }
3452
- .p-settings .s-auth-scope strong { font-size: 13px; font-weight: var(--fw-semibold); }
3453
- .p-settings .s-auth-scope p { margin: 4px 0 6px; color: var(--text-3); font-size: 13px; line-height: 1.55; }
3454
- .p-settings .s-auth-scope a { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; color: var(--accent); }
3455
- .p-settings .s-ai-accounts .s-auth-section { display: block; min-width: 0; margin: 0; padding: 0; border: 0; background: transparent; }
3456
- .p-settings .s-ai-accounts .s-auth-section + .s-auth-section { border-top: 1px solid var(--border); padding-top: 24px; }
3457
- .p-settings .s-auth-section-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; margin: 0 0 14px; }
3458
- .p-settings .s-auth-section-head > div { min-width: 0; }
3459
- .p-settings .s-auth-section-head h3 { margin: 0; color: var(--text); font-size: 16px; font-weight: var(--fw-semibold); line-height: 1.5; text-transform: none; letter-spacing: normal; }
3460
- .p-settings .s-auth-section-head p { margin: 5px 0 0; font-size: 13px; line-height: 1.55; color: var(--text-3); }
3461
- .p-settings .s-auth-host-badge { flex: none; border: 1px solid var(--border); padding: 3px 8px; border-radius: 6px; font-size: 12px; color: var(--text-2); white-space: nowrap; }
3462
- .p-settings .s-auth-state { display: inline-flex; align-items: center; justify-content: center; flex: none; padding: 3px 8px; border-radius: 6px; color: var(--text-3); background: var(--surface-2); font-size: 12px; font-weight: var(--fw-regular); line-height: 1.5; white-space: nowrap; }
3463
- .p-settings .s-auth-state.is-usable { color: var(--ok); background: color-mix(in srgb, var(--ok) 12%, transparent); }
3464
- .p-settings .s-auth-state:is(.is-not_signed_in, .is-too_old) { color: var(--warn); background: var(--warn-bg); }
3465
- .p-settings .s-host-cli-list { min-width: 0; border: 1px solid var(--border); border-radius: 8px; overflow: hidden; }
3466
- .p-settings .s-host-cli-row { display: grid; position: relative; grid-template-columns: minmax(0, 1fr) minmax(90px, auto) minmax(144px, auto); grid-template-rows: minmax(40px, auto) auto; align-items: center; align-content: start; column-gap: 20px; row-gap: 0; min-width: 0; min-height: 72px; margin: 0; padding: 15px 16px; border: 0; border-bottom: 1px solid var(--border); border-radius: 0; background: transparent; }
3467
- .p-settings .s-host-cli-row:last-child { border-bottom: 0; }
3468
- .p-settings .s-host-cli-identity { display: flex; grid-column: 1; grid-row: 1; align-items: center; min-width: 0; gap: 12px; }
3469
- .p-settings .s-host-cli-identity > .cli-product-mark { flex: none; }
3470
- .p-settings .s-host-cli-identity > div { min-width: 0; }
3471
- .p-settings .s-host-cli-identity .s-name { display: block; max-width: none; color: var(--text); font-size: 14px; font-weight: var(--fw-medium); line-height: 1.5; white-space: normal; overflow-wrap: anywhere; }
3472
- .p-settings .s-host-cli-identity small { display: block; margin-top: 3px; color: var(--text-3); font-size: 12px; line-height: 1.5; overflow-wrap: anywhere; }
3473
- .p-settings .s-host-cli-row > .s-auth-state { grid-column: 2; grid-row: 1; justify-self: start; }
3474
- .p-settings .s-host-cli-row > .s-actions { grid-column: 3; grid-row: 1; margin: 0; justify-content: flex-end; flex-wrap: nowrap; }
3475
- .p-settings .s-host-cli-row > .s-actions .btn { border-radius: 7px; min-width: 88px; }
3476
- .p-settings .s-host-cli-help { grid-column: 1 / -1; grid-row: auto; min-width: 0; margin: 0; }
3477
- .p-settings .s-host-cli-help[data-inline-help="true"] { grid-column: 1 / -1; grid-row: 2; }
3478
- .p-settings .s-host-cli-help[data-inline-help="false"] { margin-top: 12px; }
3479
- .p-settings .s-host-cli-help > summary { display: block; width: fit-content; max-width: 100%; margin-left: auto; padding: 7px 25px 7px 10px; position: relative; border: 1px solid var(--border); border-radius: 7px; color: var(--text-2); font-size: 13px; line-height: 1.5; text-align: left; cursor: pointer; list-style: none; }
3480
- .p-settings .s-host-cli-help[data-inline-help="true"] > summary { position: absolute; top: 15px; right: 16px; min-height: 40px; }
3481
- .p-settings .s-host-cli-help > summary::-webkit-details-marker { display: none; }
3482
- .p-settings .s-host-cli-help > summary::after { content: ""; position: absolute; width: 6px; height: 6px; top: 12px; right: 10px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg); }
3483
- .p-settings .s-host-cli-help[open] > summary::after { top: 15px; transform: rotate(225deg); }
3484
- .p-settings .s-host-cli-help > div { margin-top: 12px; padding: 14px 16px; border: 1px solid var(--border); border-radius: 7px; background: var(--bg); }
3485
- .p-settings .s-host-cli-help .note { margin: 0 0 10px; }
3486
- .p-settings .s-host-cli-command { margin: 8px 0 0; }
3487
- .p-settings .s-host-cli-command code { display: block; max-width: 100%; color: var(--text-2); font-size: 12px; line-height: 1.65; white-space: pre-wrap; word-break: normal; overflow-wrap: anywhere; }
3488
- .p-settings .s-api-key-list { border: 1px solid var(--border); border-radius: 8px; overflow: hidden; }
3489
- .p-settings .s-api-key-list > .s-api-key-row { margin: 0; padding: 18px 16px; border: 0; border-bottom: 1px solid var(--border); }
3490
- .p-settings .s-api-key-list > .s-api-key-row:last-child { padding-bottom: 18px; border-bottom: 0; }
3491
- .p-settings .s-api-key-heading { display: flex; align-items: center; gap: 10px; min-width: 0; }
3492
- .p-settings .s-provider-symbol { display: inline-flex; justify-content: center; align-items: center; flex: none; width: 28px; height: 28px; }
3493
- .p-settings .s-api-key-heading strong { min-width: 0; color: var(--text); font-size: 14px; font-weight: var(--fw-medium); overflow-wrap: anywhere; }
3494
- .p-settings .s-api-key-heading > .s-auth-state { margin-left: auto; }
3495
- .p-settings .s-api-key-form { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 12px; margin-top: 14px; }
3496
- .p-settings .s-api-key-form > label { display: flex; flex-direction: column; min-width: 0; gap: 6px; color: var(--text-2); font-size: 12px; }
3497
- .p-settings .s-api-key-form input { display: block; width: 100%; min-width: 0; height: 40px; padding: 8px 10px; border: 1px solid var(--border); border-radius: 7px; background: var(--bg); color: var(--text); font-family: var(--font-ui); font-size: var(--fs-sm); }
3498
- .p-settings .s-api-key-form > .btn { min-height: 40px; border-radius: 7px; }
3499
- .p-settings .s-api-key-unsupported { display: flex; align-items: flex-start; gap: 10px; margin-top: 12px; }
3500
- .p-settings .s-api-key-unsupported > .note { margin: 0; min-width: 0; }
3501
- .p-settings .s-api-key-row .feedback { margin: 10px 0 0; }
3502
- .p-settings .s-api-action-note { margin: 12px 0 0; }
3503
- .p-settings .s-api-unavailable > .note { margin: 0; }
3504
- @container settings-page (max-width: 600px) {
3505
- .p-settings [data-settings-section="agents"] .s-page-actions { margin-left: auto; }
3506
- .p-settings .s-ai-accounts > summary { padding: 18px 42px 18px 18px; }
3507
- .p-settings .s-ai-accounts > .s-auth-body { padding: 0 16px 18px; gap: 20px; }
3508
- .p-settings .s-auth-scope { padding: 12px; }
3509
- .p-settings .s-auth-section-head { gap: 10px; flex-wrap: wrap; }
3510
- .p-settings .s-host-cli-row { grid-template-columns: minmax(0, 1fr) auto; gap: 12px; padding: 14px 12px; }
3511
- .p-settings .s-host-cli-row > .s-actions { grid-column: 1 / -1; grid-row: auto; }
3512
- .p-settings .s-host-cli-help[data-inline-help="true"] { grid-column: 1 / -1; grid-row: 2; }
3513
- .p-settings .s-host-cli-help[data-inline-help="true"] > summary { position: relative; top: auto; right: auto; }
3514
- .p-settings .s-host-cli-help > summary, .p-settings .s-host-cli-row .btn { min-height: 40px; }
3515
- .p-settings .s-host-cli-help > summary::after { top: 15px; }
3516
- .p-settings .s-host-cli-help[open] > summary::after { top: 18px; }
3517
- .p-settings .s-api-key-form { grid-template-columns: minmax(0, 1fr); }
3518
- .p-settings .s-api-key-form > .btn { justify-self: end; }
3519
- .p-settings .s-api-key-heading { flex-wrap: wrap; }
3520
- .p-settings .s-api-key-unsupported { flex-direction: column; }
3521
- }
3522
-
3523
- .p-settings .runtime-native-local { align-items: center; }
3524
- .p-settings .runtime-local-cli-tags { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; list-style: none; padding: 0; margin: 14px 0 0; }
3525
- .p-settings .runtime-local-cli-tags > li { display: inline-flex; align-items: center; gap: 7px; padding: 6px 9px; border: 1px solid var(--border); border-radius: 7px; background: var(--surface); font-size: var(--fs-sm); }
3526
- .p-settings .runtime-host-note { display: flex; align-items: flex-start; gap: 10px; padding: 14px; margin-top: 18px; border-radius: 7px; background: var(--surface-2); color: var(--text-2); font-size: var(--fs-sm); line-height: 1.65; }
3527
- .p-settings .runtime-host-note > .icon { flex: none; margin-top: 2px; }
3528
- /* Bring the existing preference controls into the proposal's avatar + aligned form composition. */
3529
- .p-settings .s-pref-stack > .card { gap: 16px; padding: 24px; }
3530
- .p-settings .s-pref-profile-fields > .s-pref-profile-layout { display: grid; grid-template-columns: 88px minmax(0, 1fr); gap: 24px; align-items: start; min-width: 0; }
3531
- .p-settings .s-pref-avatar { display: grid; place-items: center; width: 72px; height: 72px; margin-top: 8px; border-radius: 50%; background: var(--accent); color: var(--on-accent, #fff); font-size: 30px; font-weight: var(--fw-semibold); }
3532
- .p-settings .s-pref-profile-main { display: grid; gap: 8px; min-width: 0; }
3533
- .p-settings .s-pref-profile-fields .field { gap: 7px; }
3534
- .p-settings .s-pref-name-action { display: flex; align-items: center; gap: 12px; min-width: 0; }
3535
- .p-settings .s-pref-name-action > input { flex: 1; min-width: 0; max-width: none; }
3536
- .p-settings .s-pref-name-action > button { flex: none; border-radius: var(--r-sm); }
3537
- .p-settings .s-pref-name-format { border-top: 0; padding-top: 0; margin-left: 112px; }
3538
- .p-settings .s-pref-name-format .pref, .p-settings .s-pref-content .pref { display: flex; flex-direction: column; align-items: stretch; gap: 7px; }
3539
- .p-settings .s-pref-stack .prefs.labelled .pref-label { min-width: 0; }
3540
- .p-settings .s-pref-stack .prefs.labelled .pref > svg { display: none; }
3541
- .p-settings .s-pref-name-format .prefs.labelled select, .p-settings .s-pref-content .prefs.labelled select { flex: none; width: 100%; max-width: 460px; }
3542
- .p-settings .s-pref-content > .prefs { margin-left: 112px; }
3543
- .p-settings .s-pref-personal:not(:has(.s-profile)) .s-pref-name-format { margin-left: 0; }
3544
- .p-settings .s-pref-immediate { font-size: var(--fs-xs); }
3545
- .p-settings .s-pref-identity-details { color: var(--text-3); font-size: var(--fs-xs); }
3546
- .p-settings .s-pref-identity-details > summary { cursor: pointer; width: fit-content; }
3547
- .p-settings .s-pref-identity-details[open] > summary { margin-bottom: 8px; }
3548
- .p-settings .s-pref-identity-details p { line-height: 1.6; }
3549
- .p-settings .s-pref-preview { display: grid; grid-template-columns: 150px 38px minmax(0, 1fr); gap: 14px; align-items: center; padding-top: 6px; }
3550
- .p-settings .s-pref-preview > small { font-size: var(--fs-xs); font-weight: var(--fw-regular); color: var(--text-3); }
3551
- .p-settings .s-pref-help-row { justify-content: flex-start; gap: 32px; }
3552
- .p-settings .s-pref-help-row > div { flex: 0 1 280px; }
3553
- .p-settings .s-pref-help-row > .btn { border-radius: var(--r-sm); }
3554
-
3555
- /* Three native theme radios keep the existing immediate-preview / staged-save behavior. */
3556
- .p-settings .s-look-display { padding-bottom: 20px; }
3557
- .p-settings .s-theme-picker { min-width: 0; }
3558
- .p-settings .s-theme-picker > legend { float: left; width: 112px; padding-top: 6px; color: var(--text-2); font-size: var(--fs-sm); font-weight: var(--fw-medium); }
3559
- .p-settings .s-theme-options { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-left: 128px; }
3560
- .p-settings .s-theme-choice { display: grid; grid-template-columns: 16px minmax(0, 1fr); grid-template-rows: auto auto; gap: 8px; align-items: center; cursor: pointer; min-width: 0; }
3561
- .p-settings .s-theme-choice > input { grid-column: 1; grid-row: 2; width: 16px; height: 16px; margin: 0; accent-color: var(--accent); }
3562
- .p-settings .s-theme-choice-label { grid-column: 2; grid-row: 2; font-size: var(--fs-sm); color: var(--text); overflow-wrap: anywhere; }
3563
- .p-settings .s-theme-miniature { grid-column: 1 / -1; grid-row: 1; display: grid; grid-template-columns: 25% 1fr; gap: 8px; height: 88px; padding: 11px; border: 2px solid var(--border); border-radius: 9px; background: #f5f6f8; overflow: hidden; }
3564
- .p-settings .s-theme-miniature.is-dark { background: #242629; border-color: #404348; }
3565
- .p-settings .s-theme-miniature.is-system { background: linear-gradient(135deg, #f5f6f8 0%, #f5f6f8 50%, #242629 50%, #242629 100%); }
3566
- .p-settings .s-theme-choice.selected .s-theme-miniature { border-color: var(--accent); box-shadow: 0 0 0 2px var(--accent-dim); }
3567
- .p-settings .s-theme-choice:has(input:focus-visible) .s-theme-miniature { outline: 2px solid var(--focus); outline-offset: 3px; }
3568
- .p-settings .s-theme-mini-side, .p-settings .s-theme-mini-main { display: flex; flex-direction: column; gap: 7px; padding-top: 5px; }
3569
- .p-settings .s-theme-mini-side { padding: 6px 4px; border-radius: 4px; background: rgba(125, 135, 150, .12); }
3570
- .p-settings .s-theme-miniature i { display: block; height: 5px; border-radius: 3px; background: #d5d9e0; }
3571
- .p-settings .s-theme-mini-side i { width: 80%; }
3572
- .p-settings .s-theme-mini-main i:first-child { width: 45%; }
3573
- .p-settings .s-theme-mini-main i:not(:first-child) { width: 90%; }
3574
- .p-settings .s-theme-miniature.is-dark i { background: #555b65; }
3575
- .p-settings .s-theme-miniature.is-system i { background: #aab1bd; }
3576
-
3577
- /* Identity and motion are compact setting rows, rather than multiple full cards inside a card. */
3578
- .p-settings .s-look-identity-controls { display: flex; flex-direction: column; gap: 16px; }
3579
- .p-settings .s-look-identity-controls > .card { display: grid; grid-template-columns: 112px minmax(0, 1fr); gap: 8px 16px; }
3580
- .p-settings .s-look-identity-controls .s-ap-title { grid-column: 1; grid-row: 1; margin-top: 8px; }
3581
- .p-settings .s-look-identity-controls .card-size { grid-column: 2; grid-row: 1; align-self: start; width: fit-content; padding: 3px; gap: 2px; border: 1px solid var(--border); border-radius: 8px; }
3582
- .p-settings .s-look-identity-controls .card-size .seg-item { min-height: 30px; min-width: 64px; border-radius: 5px; justify-content: center; }
3583
- .p-settings .s-look-identity-controls .card-size .seg-item.active { background: var(--text); color: var(--bg); border-color: var(--text); }
3584
- .p-settings .s-look-identity-controls .s-card-size > .sub { grid-column: 2; grid-row: 2; font-size: var(--fs-xs); }
3585
- .p-settings .s-look-identity-controls > .s-colors { display: block; }
3586
- .p-settings .s-color-summary { display: grid; grid-template-columns: 112px minmax(0, 1fr) 16px; gap: 16px; align-items: center; min-height: 38px; cursor: pointer; list-style: none; }
3587
- .p-settings .s-color-summary::-webkit-details-marker { display: none; }
3588
- .p-settings .s-color-summary > .s-ap-title { margin: 0; }
3589
- .p-settings .s-color-summary > svg { color: var(--text-3); transition: transform .15s; }
3590
- .p-settings .s-colors[open] > .s-color-summary > svg { transform: rotate(90deg); }
3591
- .p-settings .s-color-summary-places { display: flex; flex-wrap: wrap; gap: 6px; min-width: 0; }
3592
- .p-settings .s-color-summary-places > span { padding: 4px 8px; border: 1px solid var(--border); border-radius: 5px; color: var(--text-2); font-size: var(--fs-xs); line-height: 1.5; }
3593
- .p-settings .s-color-settings { display: grid; gap: 12px; margin-top: 14px; padding-left: 128px; }
3594
- .p-settings .s-color-settings > .sub { font-size: var(--fs-xs); }
3595
- .p-settings .s-look-identity-controls .s-colors-row { margin: 0; }
3596
- .p-settings .s-look-identity-controls .s-colors-row > fieldset { display: flex; flex-wrap: wrap; gap: 8px; }
3597
- .p-settings .s-look-identity-controls .s-colors-row > fieldset > legend { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
3598
- .p-settings .s-look-identity-controls .idc-places > label { padding: 5px 8px; border: 1px solid var(--border); border-radius: 6px; gap: 6px; }
3599
- .p-settings .s-look-identity-controls .idc-places > label:has(input:checked) { background: var(--accent-dim); border-color: var(--accent-dim); }
3600
- .p-settings .s-look-main > .s-look-motion { gap: 12px; }
3601
- .p-settings .s-look-toggle-line { display: grid; grid-template-columns: minmax(170px, .9fr) 38px minmax(160px, 1.1fr); gap: 14px; align-items: center; padding: 4px 0; min-width: 0; }
3602
- .p-settings .s-look-toggle-line > label { display: flex; flex-wrap: wrap; gap: 5px 8px; color: var(--text); font-size: var(--fs-sm); font-weight: var(--fw-medium); }
3603
- .p-settings .s-look-toggle-line > .sub { font-size: var(--fs-xs); line-height: 1.6; }
3604
- .p-settings .s-look-toggle-line .s-scope { font-size: 10px; padding: 2px 5px; }
3605
- .p-settings .s-look-advanced { gap: 0; border: 1px solid var(--border); border-radius: 10px; overflow: clip; background: var(--surface); }
3606
- .p-settings .s-look-advanced > .s-look-disclosure { border: 0; border-radius: 0; background: transparent; }
3607
- .p-settings .s-look-advanced > .s-look-disclosure + .s-look-disclosure { border-top: 1px solid var(--border); }
3608
- .p-settings .s-look-advanced > .s-look-disclosure > summary { padding: 14px 18px; }
3609
- .p-settings .s-app-icon-heading { display: grid; gap: 14px; }
3610
- .p-settings .s-app-icon-heading > .s-brand-title { font-size: var(--fs-lg); color: var(--text); letter-spacing: 0; text-transform: none; }
3611
- .p-settings .s-app-icon-help { font-size: var(--fs-xs); color: var(--text-3); }
3612
- .p-settings .s-app-icon-help > summary { cursor: pointer; }
3613
- .p-settings .s-app-icon-help[open] > summary { margin-bottom: 8px; }
3614
-
3615
- /* Defaults share the content width, with collaboration controls in a single column. */
3616
- .p-settings .s-defaults-layout { width: 100%; margin: 0 auto; min-width: 0; }
3617
- .p-settings .s-defaults-layout > .s-general { gap: 16px; }
3618
- .p-settings .s-defaults-layout > .s-general > .card { gap: 12px; padding: 20px; }
3619
- .p-settings .s-defaults-layout .grid2 { gap: 12px 16px; align-items: start; }
3620
- .p-settings .s-defaults-model .grid2 > .field:first-child { grid-column: 1; grid-row: 1; }
3621
- .p-settings .s-defaults-model .grid2 > .field:nth-child(2) { grid-column: 2; grid-row: 1 / span 2; }
3622
- .p-settings .s-defaults-model .grid2 > .field:nth-child(3) { grid-column: 1; grid-row: 2; }
3623
- .p-settings .s-defaults-layout .s-defaults-collaboration > .grid2 { grid-template-columns: minmax(0, 1fr); }
3624
- .p-settings .s-defaults-collaboration .grid2 > .field { grid-column: 1; }
3625
- .p-settings .s-defaults-collaboration .grid2 > .field:first-child { display: grid; grid-template-columns: 210px minmax(0, 1fr); gap: 6px 16px; align-items: center; }
3626
- .p-settings .s-defaults-collaboration .grid2 > .field:first-child > .note { grid-column: 2; }
3627
- .p-settings .s-defaults-collaboration .grid2 > .field:not(:first-child) { display: grid; grid-template-columns: 210px 38px minmax(0, 1fr); gap: 6px 16px; align-items: center; }
3628
- .p-settings .s-defaults-toggle-label { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; color: var(--text-2); font-size: var(--fs-sm); font-weight: var(--fw-medium); }
3629
- .p-settings .s-defaults-toggle-help { display: grid; gap: 4px; min-width: 0; }
3630
- .p-settings .s-defaults-explanation { font-size: var(--fs-xs); color: var(--text-3); }
3631
- .p-settings .s-defaults-explanation > summary { cursor: pointer; }
3632
- .p-settings .s-defaults-explanation[open] > summary { margin-bottom: 6px; }
3633
-
3634
- /* Connection cards use compact real empty states instead of a pair of oversized generic placeholders. */
3635
- .p-settings .s-chat-connections, .p-settings .s-chat-classic { margin: 0; padding: 24px; gap: 18px; border: 1px solid var(--border); }
3636
- .p-settings .s-chat-section-head { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px 24px; }
3637
- .p-settings .s-chat-section-head > h3, .p-settings .s-chat-classic > h2 { margin: 0; color: var(--text); font-size: var(--fs-lg); line-height: var(--lh-lg); text-transform: none; letter-spacing: 0; }
3638
- .p-settings .s-chat-section-head .s-list-toolbar { flex: 1 1 260px; margin: 0; }
3639
- .p-settings .s-chat-section-head .s-list-toolbar > span { font-size: var(--fs-xs); color: var(--text-3); }
3640
- .p-settings .s-chat-empty { display: flex; align-items: center; gap: 12px; padding: 20px 16px; min-height: 76px; border: 1px dashed var(--border); border-radius: var(--r-sm); color: var(--text-3); }
3641
- .p-settings .s-chat-empty > svg { flex: none; }
3642
- .p-settings .s-chat-empty > p { margin: 0; font-size: var(--fs-sm); line-height: 1.6; }
3643
- .p-settings .s-classic-area { display: grid; gap: 20px; }
3644
- .p-settings [data-section="chat"] .s-web-chat { margin: 0; padding: 24px; gap: 12px; }
3645
- .p-settings [data-section="chat"] .s-web-chat > h3 { font-size: var(--fs-lg); color: var(--text); letter-spacing: 0; text-transform: none; }
3646
- .p-settings .s-chat-classic .s-list-toolbar { margin-bottom: 10px; }
3647
- @container settings-page (min-width: 1040px) {
3648
- .p-settings .s-look-basics { grid-template-columns: minmax(0, 1fr) 280px; }
3649
- }
3650
- @container settings-page (max-width: 600px) {
3651
- .p-settings .s-pref-profile-fields > .s-pref-profile-layout { grid-template-columns: minmax(0, 1fr); gap: 12px; }
3652
- .p-settings .s-pref-avatar { width: 52px; height: 52px; margin: 0; font-size: 24px; }
3653
- .p-settings .s-pref-name-format, .p-settings .s-pref-content > .prefs { margin-left: 0; }
3654
- .p-settings .s-pref-name-action { flex-wrap: wrap; }
3655
- .p-settings .s-pref-name-action > input { flex-basis: 100%; }
3656
- .p-settings .s-pref-preview { grid-template-columns: minmax(0, 1fr) 38px; }
3657
- .p-settings .s-pref-preview > small { grid-column: 1 / -1; }
3658
- .p-settings .s-theme-picker > legend { float: none; width: auto; margin-bottom: 12px; padding: 0; }
3659
- .p-settings .s-theme-options { margin: 0; gap: 10px; }
3660
- .p-settings .s-theme-miniature { height: 68px; padding: 7px; gap: 5px; }
3661
- .p-settings .s-theme-choice-label { font-size: var(--fs-xs); }
3662
- .p-settings .s-look-identity-controls > .card { grid-template-columns: minmax(0, 1fr); }
3663
- .p-settings .s-look-identity-controls .s-ap-title, .p-settings .s-look-identity-controls .card-size, .p-settings .s-look-identity-controls .s-card-size > .sub { grid-column: 1; grid-row: auto; }
3664
- .p-settings .s-color-summary { grid-template-columns: minmax(0, 1fr) 16px; gap: 8px; }
3665
- .p-settings .s-color-summary > svg { grid-column: 2; grid-row: 1; }
3666
- .p-settings .s-color-summary-places { grid-column: 1 / -1; }
3667
- .p-settings .s-color-settings { padding-left: 0; }
3668
- .p-settings .s-look-toggle-line { grid-template-columns: minmax(0, 1fr) 38px; }
3669
- .p-settings .s-look-toggle-line > .sub { grid-column: 1 / -1; }
3670
- .p-settings .s-defaults-model .grid2 > .field, .p-settings .s-defaults-model .grid2 > .field:nth-child(2), .p-settings .s-defaults-model .grid2 > .field:nth-child(3) { grid-column: 1; grid-row: auto; }
3671
- .p-settings .s-defaults-collaboration .grid2 > .field:first-child, .p-settings .s-defaults-collaboration .grid2 > .field:not(:first-child) { grid-template-columns: minmax(0, 1fr); }
3672
- .p-settings .s-defaults-collaboration .grid2 > .field:first-child > .note { grid-column: 1; }
3673
- .p-settings .s-defaults-collaboration .grid2 > .field:not(:first-child) { grid-template-columns: minmax(0, 1fr) 38px; }
3674
- .p-settings .s-defaults-toggle-help { grid-column: 1 / -1; }
3675
- .p-settings .s-chat-connections, .p-settings .s-chat-classic, .p-settings [data-section="chat"] .s-web-chat { padding: 18px; }
3676
- }
3677
-
3678
2712
 
3679
- /* Proposal alignment: Access, dashboard and Advanced. Pure presentation; native controls remain mounted. */
3680
- .p-settings .s-access-banner, .p-settings .s-effective-notice {
3681
- display: flex; align-items: flex-start; gap: 10px; margin: 0; padding: 12px 16px;
3682
- border: 1px solid color-mix(in srgb, var(--accent) 18%, transparent); border-radius: var(--r-sm);
3683
- background: color-mix(in srgb, var(--accent) 9%, var(--surface)); color: var(--text-2); font-size: 14px; line-height: 1.6;
3684
- }
3685
- .p-settings :is(.s-access-banner, .s-effective-notice) > svg { flex: none; color: var(--accent); margin-top: 2px; }
3686
- .p-settings .s-access-banner > p { margin: 0; flex: 1; }
3687
- .p-settings .s-access-banner .s-access-policy { flex: 0 1 auto; }
3688
- .p-settings .s-access-banner .s-access-policy[open] { flex: 1 0 100%; }
3689
- .p-settings .s-access-banner { flex-wrap: wrap; }
3690
- .p-settings .s-access-policy > summary { padding: 0; }
3691
- .p-settings .s-access-login-layout { display: grid; grid-template-columns: minmax(0, 1.8fr) minmax(240px, 1fr); gap: 24px; align-items: start; }
3692
- .p-settings .s-access-login-layout > *, .p-settings .s-guest-workbench > * { min-width: 0; }
3693
- .p-settings .s-access-login-layout .s-access-stack { max-width: none; gap: 20px; }
3694
- .p-settings .s-access-related { padding: 20px; margin: 0; }
3695
- .p-settings .s-access-related > h3 { margin: 0 0 12px; }
3696
- .p-settings .s-access-related > button { display: flex; width: 100%; align-items: center; gap: 12px; border: 0; border-top: 1px solid var(--border); border-radius: 0; background: transparent; color: var(--text); padding: 16px 0; text-align: left; cursor: pointer; }
3697
- .p-settings .s-access-related > button:first-of-type { border-top: 0; }
3698
- .p-settings .s-access-related > button:last-of-type { padding-bottom: 0; }
3699
- .p-settings .s-access-related > button > span { flex: 1; display: grid; gap: 4px; }
3700
- .p-settings .s-access-related strong { font-size: 14px; font-weight: var(--fw-medium); }
3701
- .p-settings .s-access-related small { color: var(--text-3); font-size: 12px; line-height: 1.5; }
3702
- .p-settings .s-access-related > button > svg:last-child { color: var(--accent); transform: rotate(-90deg); }
3703
- .p-settings .s-access-related > button:hover strong { color: var(--accent); }
3704
- .p-settings .s-access-related > button:focus-visible { outline: 2px solid var(--focus); outline-offset: 4px; }
3705
- .p-settings .s-access-session > h3 { margin-bottom: 18px; }
3706
- .p-settings .s-access-session .field { margin-bottom: 14px; }
3707
- .p-settings .s-access-session .grid2 { gap: 20px; }
3708
- .p-settings .s-session-ceiling { padding-top: 10px; border-top: 1px solid var(--border); margin: 0; }
3709
- .p-settings .s-setting-details { font-size: 12px; line-height: 1.6; color: var(--text-3); margin-top: 10px; }
3710
- .p-settings .s-setting-details > summary { width: fit-content; cursor: pointer; }
3711
- .p-settings .s-setting-details > p { margin: 8px 0 0; max-width: 90ch; }
3712
- .p-settings .s-va-fields { margin: 16px 0 0; }
3713
- .p-settings .s-va-fields > .check, .p-settings .s-authority-links > div > .check { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 16px; margin: 0; }
3714
- .p-settings .s-va-fields .check > .s-ui-toggle { grid-column: 2; grid-row: 1; }
3715
- .p-settings .s-va-fields .check > span { grid-column: 1; grid-row: 1; font-size: 14px; }
3716
- .p-settings .s-va-fields > .check + .note { margin: 6px 0 16px; padding-bottom: 16px; border-bottom: 1px solid var(--border); }
3717
- .p-settings .s-authority-brief { margin: 0; }
3718
- .p-settings .s-va-fields > .field { max-width: 360px; }
3719
- .p-settings .s-va-fields > h4 { margin: 20px 0 12px; }
3720
- .p-settings .s-authority-public-warning { font-size: 12px; line-height: 1.6; padding: 10px 12px; border-left: 3px solid var(--border-strong); background: var(--surface-2); }
3721
- .p-settings .s-authority-links { border-bottom: 1px solid var(--border); padding-bottom: 14px; }
3722
- .p-settings .s-authority-links > summary { cursor: pointer; font-size: 13px; font-weight: var(--fw-medium); }
3723
- .p-settings .s-authority-links > div { padding-top: 14px; }
3724
- .p-settings .s-authority-links .note { margin: 6px 0 14px; }
3725
- .p-settings .s-authority-revoke { margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--border); }
3726
- .p-settings .s-authority-revoke .btn-danger { background: transparent; color: var(--danger); border-color: var(--border-strong); }
3727
- .p-settings .s-authority-revoke .btn-danger:hover:not(:disabled) { border-color: var(--danger); }
3728
- .p-settings .s-public-entry > h3 { margin-bottom: 18px; }
3729
- .p-settings .s-public-entry > .grid2 { gap: 20px; }
3730
- .p-settings .s-public-credentials { margin-top: 20px; padding-top: 18px; border-top: 1px solid var(--border); }
3731
- .p-settings .s-public-credentials .s-tunnel-token { border: 1px solid var(--border); border-radius: var(--r-sm); padding: 14px 16px; background: var(--surface-2); }
3732
- .p-settings .s-token-head { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; }
3733
- .p-settings .s-token-head > h3 { font-size: 14px; margin: 0; }
3734
- .p-settings .s-tunnel-token > .note { font-size: 12px; line-height: 1.6; margin: 8px 0 0; }
3735
- .p-settings .s-token-editor { margin-top: 12px; }
3736
- .p-settings .s-token-editor > summary { cursor: pointer; font-size: 13px; font-weight: var(--fw-medium); color: var(--accent); }
3737
- .p-settings .s-token-editor-body { display: grid; gap: 12px; padding-top: 12px; }
3738
- .p-settings .s-sharing-list { border: 1px solid var(--border); border-radius: var(--r-sm); background: var(--surface); padding: 20px; gap: 12px; }
3739
- .p-settings .s-sharing-list > h3 { font-size: 18px; color: var(--text); }
3740
- .p-settings .s-sharing-list > .note { margin: 0 0 4px; }
3741
- .p-settings .s-sharing-list > .card { border: 0; border-radius: 0; padding: 16px 0 0; border-top: 1px solid var(--border); background: transparent; box-shadow: none; }
3742
- .p-settings .s-sharing-list > .card > h3 { font-size: 14px; }
3743
- .p-settings .s-part-access #access-panel-sharing .s-access-stack { max-width: none; }
3744
- .p-settings .s-part-dashboard .s-dashboard-features > h3 { margin-bottom: 18px; }
3745
- .p-settings .s-part-dashboard .s-setting-row { padding-block: 16px; }
3746
- .p-settings .s-part-dashboard .s-setting-row:first-of-type { padding-top: 0; }
3747
- .p-settings .s-part-dashboard .s-setting-copy > label { font-size: 15px; font-weight: var(--fw-semibold); }
3748
- .p-settings .s-part-dashboard .s-setting-copy > .note { font-size: 13px; }
3749
- .p-settings .s-part-dashboard .s-setting-details { margin-top: 6px; }
3750
- .p-settings .s-effective-view { display: grid; gap: 20px; }
3751
- .p-settings .s-effective-view .s-web-readonly { padding: 0; overflow: hidden; }
3752
- .p-settings .s-effective-view .s-ro-columns, .p-settings .s-effective-view .s-web-ro > div { padding: 14px 20px; }
3753
- .p-settings .s-effective-view .s-ro-columns { font-size: 12px; background: var(--surface-2); }
3754
- .p-settings .s-effective-view .s-web-readonly .s-web-ro { margin: 0; }
3755
- .p-settings .s-ro-group { margin: 0; padding: 12px 20px; color: var(--text); background: color-mix(in srgb, var(--text) 3%, var(--surface)); font-size: 14px; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }
3756
- .p-settings .s-effective-footnotes .note { margin: 0 0 6px; font-size: 12px; }
3757
- .p-settings .s-effective-actions { display: flex; justify-content: flex-end; }
3758
- .p-settings .s-dev { padding: 0; gap: 0; overflow: hidden; }
3759
- .p-settings .s-dev-bar { padding: 16px 20px; border-bottom: 1px solid var(--border); gap: 16px; }
3760
- .p-settings .s-dev-bar .seg-inline { gap: 0; padding: 3px; border: 1px solid var(--border); border-radius: var(--r-sm); background: var(--surface-2); }
3761
- .p-settings .s-dev-bar .seg-inline .btn { border: 0; border-radius: 4px; min-width: 60px; background: transparent; }
3762
- .p-settings .s-dev-bar .seg-inline .btn.on { background: var(--surface); box-shadow: 0 1px 3px #0001; color: var(--accent); }
3763
- .p-settings .s-dev-context { display: flex; align-items: center; gap: 7px; flex: 1 1 180px; margin: 0; font-size: 12px; line-height: 1.5; color: var(--text-3); }
3764
- .p-settings .s-dev-context > svg { flex: none; }
3765
- .p-settings .s-dev .s-yaml { height: clamp(340px, 43vh, 500px); padding: 20px 24px; border: 0; border-radius: 0; font-size: 14px; line-height: 1.7; background: var(--surface); }
3766
- .p-settings .s-dev-state { padding: 10px 20px; border-top: 1px solid var(--border); background: var(--surface-2); font-size: 12px; }
3767
- .p-settings .s-dev-file { margin-right: auto; font-family: var(--font-mono); }
3768
- .p-settings .s-dev > :is(.save-row, .s-dev-blocked, .s-dev-held, .feedback) { margin: 0; padding: 14px 20px; border-top: 1px solid var(--border); }
3769
- .p-settings .s-guests { border: 0; padding: 0; background: transparent; box-shadow: none; }
3770
- .p-settings .s-guests > h3 { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
3771
- .p-settings .s-guests > .note { margin: 0 0 16px; }
3772
- .p-settings .s-guest-policy { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border: 1px solid var(--border); border-radius: var(--r-sm); padding: 18px 20px; background: var(--surface); margin-bottom: 20px; gap: 20px; }
3773
- .p-settings .s-guest-policy > div + div { border-left: 1px solid var(--border); padding-left: 20px; }
3774
- .p-settings .s-guest-policy .check { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 0; }
3775
- .p-settings .s-guest-policy .check > input { order: 2; }
3776
- .p-settings .s-guest-policy .check > span { font-weight: var(--fw-medium); font-size: 14px; }
3777
- .p-settings .s-guest-policy .note { margin: 6px 0 0; font-size: 12px; line-height: 1.6; }
3778
- .p-settings .s-guest-workbench { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(260px, 1fr); gap: 20px; align-items: start; }
3779
- .p-settings :is(.s-guest-list-card, .s-guest-detail-card) { border: 1px solid var(--border); border-radius: var(--r-sm); background: var(--surface); overflow: hidden; }
3780
- .p-settings .s-guest-list-card > h4 { margin: 0; padding: 20px; font-size: 18px; }
3781
- .p-settings .s-guest-list-card > .note, .p-settings .s-guest-detail-card > .note { padding: 20px; margin: 0; }
3782
- .p-settings .s-guest-columns, .p-settings .guest-summary { display: grid; grid-template-columns: minmax(90px, 1.2fr) minmax(90px, 1.1fr) minmax(55px, .65fr) auto; gap: 12px; padding: 12px 16px; align-items: center; }
3783
- .p-settings .s-guest-columns { background: var(--surface-2); color: var(--text-3); font-size: 12px; font-weight: var(--fw-medium); border-block: 1px solid var(--border); }
3784
- .p-settings .s-guests .guest-list { margin: 0; border: 0; min-height: 240px; }
3785
- .p-settings .guest-summary { border-bottom: 1px solid var(--border); font-size: 13px; line-height: 1.6; }
3786
- .p-settings .guest-summary:last-child { border-bottom: 0; }
3787
- .p-settings .guest-summary.is-selected { background: color-mix(in srgb, var(--accent) 9%, var(--surface)); }
3788
- .p-settings .g-summary-name { display: grid; gap: 3px; min-width: 0; overflow-wrap: anywhere; }
3789
- .p-settings .g-summary-name small { color: var(--text-3); font-size: 11px; }
3790
- .p-settings .g-summary-agents { display: flex; flex-wrap: wrap; gap: 4px; min-width: 0; }
3791
- .p-settings .g-summary-agents > span { border: 1px solid var(--border); padding: 1px 6px; border-radius: 4px; max-width: 100%; overflow-wrap: anywhere; font-size: 11px; }
3792
- .p-settings .s-guests .s-guest-detail-card .guest-row { border: 0; padding: 20px; margin: 0; }
3793
- .p-settings .s-guests .s-guest-detail-card .guest-row[hidden] { display: none; }
3794
- .p-settings .s-guest-detail-card .g-head { gap: 10px; padding-bottom: 16px; border-bottom: 1px solid var(--border); }
3795
- .p-settings .s-guest-detail-card .g-id { flex-basis: 160px; }
3796
- .p-settings .s-guest-detail-card .g-id > strong { font-size: 16px; }
3797
- .p-settings .s-guest-detail-card .g-state { flex-basis: 100%; text-align: left; margin-left: 38px; }
3798
- .p-settings .s-guest-detail-card :is(.g-chips, .g-edit, .g-level, .guest-actions) { margin-left: 0; margin-top: 16px; }
3799
- .p-settings .s-guest-detail-card .guest-names { grid-template-columns: 1fr; max-height: 260px; border: 0; gap: 6px; margin-top: 12px; }
3800
- .p-settings .s-guest-detail-card .g-level { padding-bottom: 16px; border-bottom: 1px solid var(--border); }
3801
- .p-settings .s-guest-detail-card .guest-actions { padding-top: 16px; border-top: 1px solid var(--border); gap: 8px; }
3802
- .p-settings .s-guest-detail-card .guest-actions .btn { flex: 1 0 auto; }
3803
- .p-settings .s-guest-add, .p-settings .s-guest-audit { margin-top: 20px; border: 1px solid var(--border); border-radius: var(--r-sm); background: var(--surface); }
3804
- .p-settings :is(.s-guest-add, .s-guest-audit) > summary { padding: 16px 20px; cursor: pointer; font-size: 14px; font-weight: var(--fw-medium); }
3805
- .p-settings .s-guest-add > div { padding: 0 20px 20px; }
3806
- .p-settings .s-guest-audit > :is(p, ul) { margin: 0 20px 20px; }
3807
- @media (max-width: 1199px) {
3808
- .p-settings .s-access-login-layout { grid-template-columns: minmax(0, 1.7fr) minmax(220px, 1fr); gap: 20px; }
3809
- .p-settings .s-guest-workbench { grid-template-columns: minmax(0, 1fr); }
3810
- .p-settings .s-guests .guest-list { min-height: 0; }
3811
- }
3812
- @media (max-width: 899px) {
3813
- .p-settings .s-access-login-layout { grid-template-columns: minmax(0, 1fr); }
3814
- .p-settings .s-access-related { order: 2; }
3815
- .p-settings .s-dev-context { flex-basis: 100%; order: 3; }
3816
- .p-settings .s-effective-view .s-ro-columns { display: none; }
3817
- }
3818
- @media (max-width: 599px) {
3819
- .p-settings .s-access-banner { padding: 12px; }
3820
- .p-settings .s-access-banner > p { flex-basis: calc(100% - 32px); }
3821
- .p-settings .s-access-banner .s-access-policy { padding-left: 28px; }
3822
- .p-settings .s-access-related, .p-settings .s-sharing-list { padding: 16px; }
3823
- .p-settings .s-guest-policy { grid-template-columns: minmax(0, 1fr); padding: 16px; }
3824
- .p-settings .s-guest-policy > div + div { border-left: 0; border-top: 1px solid var(--border); padding-left: 0; padding-top: 16px; }
3825
- .p-settings .s-guest-columns { display: none; }
3826
- .p-settings .guest-summary { grid-template-columns: minmax(0, 1fr) auto; gap: 8px 12px; }
3827
- .p-settings .guest-summary > .g-summary-agents { grid-column: 1; }
3828
- .p-settings .guest-summary > span:nth-child(3) { grid-column: 1; color: var(--text-3); }
3829
- .p-settings .guest-summary > button { grid-column: 2; grid-row: 1 / 4; }
3830
- .p-settings .s-dev-bar { padding: 12px; flex-wrap: wrap; gap: 12px; }
3831
- .p-settings .s-dev-context { order: 3; flex-basis: 100%; }
3832
- .p-settings .s-dev-actions { flex: none; flex-wrap: nowrap; gap: 4px; margin-left: auto; }
3833
- .p-settings .s-dev-bar .seg-inline .btn { min-width: 50px; }
3834
- .p-settings .s-dev .s-yaml { padding: 16px; font-size: 12px; }
3835
- .p-settings .s-dev-state { padding: 10px 12px; }
3836
- .p-settings .s-effective-actions { justify-content: stretch; }
3837
- .p-settings .s-effective-actions > button { width: 100%; justify-content: center; }
3838
- }
3839
-
3840
- /* Branding keeps the current icon and its existing action together, as in the proposal. */
3841
- @container settings-page (min-width: 1040px) {
3842
- .p-settings .s-app-icon { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 14px 20px; }
3843
- .p-settings .s-app-icon > :is(.s-app-icon-heading, .sub, .err, .s-app-icon-help) { grid-column: 1 / -1; }
3844
- .p-settings .s-app-icon > .s-app-icon-row { grid-column: 1; grid-row: 3; margin: 0; }
3845
- .p-settings .s-app-icon > .s-css-actions { grid-column: 2; grid-row: 3; align-self: center; flex-direction: column; align-items: flex-start; }
3846
- .p-settings .s-app-icon:has(.s-app-icon-new) > .s-app-icon-row { grid-column: 1 / -1; }
3847
- .p-settings .s-app-icon:has(.s-app-icon-new) > .s-css-actions { grid-column: 1 / -1; grid-row: auto; flex-direction: row; align-items: center; }
3848
- }
3849
-
3850
- /* The diagnostic workbench responds to its independent main column, rather than the whole Settings page. */
3851
- .p-settings .runtime-main .windows-cli-settings .windows-cli-workbench { grid-template-columns: minmax(0, 1fr); }
3852
- @container runtime-main (min-width: 760px) {
3853
- .p-settings .runtime-main .windows-cli-settings .windows-cli-workbench { grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); }
3854
- }
3855
-
3856
- .runtime-diagnostic-target{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:20px}
3857
- .runtime-diagnostic-target>span{font-weight:600;flex:0 0 auto}
3858
- .runtime-diagnostic-target>select{flex:1 1 280px;min-width:0;max-width:560px}
3859
-
3860
- /* Runtime computers share one card; diagnostics are an owned, temporary dialog. */
3861
- .p-settings .runtime-layout { display: flex; flex-direction: column; align-items: stretch; gap: 20px; width: 100%; }
3862
- .p-settings .runtime-layout > .runtime-main { align-self: stretch; width: 100%; }
3863
- .p-settings .runtime-computers { padding: 0; border: 0; background: transparent; }
3864
- .runtime-computers-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
3865
- .runtime-computers-heading h3 { margin: 0; font-size: var(--fs-md); }
3866
- .p-settings .runtime-computers .runtime-machines { display: grid; grid-template-columns: minmax(0,1fr); gap: 16px; margin: 0; }
3867
- @container runtime-main (min-width: 840px) {
3868
- .p-settings .runtime-computers .runtime-machines { grid-template-columns: repeat(2,minmax(0,1fr)); }
3869
- }
3870
- .p-settings .runtime-machine { display: flex; flex-direction: column; align-items: stretch; min-width: 0; padding: 20px; }
3871
- .p-settings .runtime-machine > header { flex-wrap: nowrap; align-items: flex-start; gap: 12px; }
3872
- .p-settings .runtime-machine > header > div { flex: 1; min-width: 0; }
3873
- .p-settings .runtime-machine > header h3 { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; font-size: var(--fs-md); }
3874
- .p-settings .runtime-machine > header p { margin: 6px 0 0; font-size: var(--fs-xs); }
3875
- .runtime-machine-icon { flex: 0 0 40px; width: 40px; height: 40px; }
3876
- .runtime-kind { padding: 2px 6px; border: 1px solid var(--border); border-radius: 5px; color: var(--text-2); font-size: var(--fs-xs); font-weight: 400; }
3877
- .runtime-status { display: inline-flex; align-items: center; gap: 6px; flex: 0 0 auto; white-space: nowrap; font-size: var(--fs-xs); }
3878
- .runtime-status.is-available { color: var(--ok); }
3879
- .p-settings .runtime-machine .runtime-inventory-time { margin: 16px 0 10px; font-size: var(--fs-xs); }
3880
- .runtime-cli-table { width: 100%; table-layout: fixed; border-collapse: collapse; margin-bottom: 16px; font-size: var(--fs-sm); }
3881
- .runtime-cli-table th { padding: 8px 0; text-align: start; color: var(--text-3); font-size: var(--fs-xs); font-weight: 400; border-bottom: 1px solid var(--border); }
3882
- .runtime-cli-table th:first-child { width: 43%; }
3883
- .runtime-cli-table th:nth-child(2) { width: 29%; }
3884
- .runtime-cli-table th:last-child { width: 28%; }
3885
- .runtime-cli-table td { padding: 12px 8px 12px 0; border-bottom: 1px solid var(--border); vertical-align: middle; }
3886
- .runtime-cli-table td:last-child { padding-right: 0; }
3887
- .runtime-cli-product { display: flex; align-items: center; gap: 8px; min-width: 0; }
3888
- .runtime-cli-product > :first-child { flex-shrink: 0; }
3889
- .runtime-cli-product strong { min-width: 0; font-weight: 500; overflow-wrap: anywhere; }
3890
- .runtime-cli-version { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--text-2); font: var(--fs-xs)/1.5 var(--font-mono); }
3891
- .runtime-cli-auth { display: inline-flex; align-items: center; gap: 5px; color: var(--text-3); font-size: var(--fs-xs); white-space: nowrap; }
3892
- .runtime-cli-auth.is-signed-in { color: var(--ok); }
3893
- .runtime-cli-table small { color: var(--text-3); font-size: var(--fs-xs); }
3894
- .p-settings .runtime-machine-actions { margin-top: auto; gap: 8px; padding-top: 4px; }
3895
- .runtime-machine-menu { margin-inline-start: auto; }
3896
- .runtime-machine-menu .menu-list { min-width: 180px; }
3897
- .runtime-machine-facts { display: grid; grid-template-columns: auto minmax(0,1fr); gap: 12px 20px; margin: 8px 0; }
3898
- .runtime-machine-facts dt { color: var(--text-3); }
3899
- .runtime-machine-facts dd { margin: 0; overflow-wrap: anywhere; }
3900
- .runtime-machine.is-revoked { border-style: dashed; background: transparent; }
3901
- .runtime-machine.is-revoked > header, .runtime-machine.is-revoked > .runtime-machine-actions { opacity: .72; }
3902
- .p-settings .runtime-machine .runtime-revoked-note { margin: 16px 0 10px; font-size: var(--fs-xs); }
3903
- .p-settings .runtime-empty-remotes { margin: 14px 0 0; }
3904
- .p-settings .runtime-connect-guide { align-self: stretch; padding: 0 20px; background: var(--surface); }
3905
- .runtime-connect-guide > summary { cursor: pointer; padding: 18px 0; color: var(--text-2); font-size: var(--fs-sm); }
3906
- .p-settings .runtime-connect-guide > h3 { font-size: var(--fs-sm); margin: 4px 0 16px; }
3907
- .runtime-diagnostics-dialog.dlg { width: min(940px,calc(100vw - 48px)); height: fit-content; max-height: 88dvh; margin: auto; overflow: hidden; }
3908
- .runtime-diagnostics-dialog .dlg-box { height: auto; min-height: 0; max-height: 88dvh; overflow: hidden; }
3909
- .runtime-diagnostics-dialog .dlg-head { flex: 0 0 auto; }
3910
- .runtime-diagnostics-dialog .dlg-title { overflow-wrap: anywhere; }
3911
- .runtime-diagnostics-dialog .dlg-body { flex: 1 1 auto; min-height: 0; padding: 6px 24px 24px; overflow-y: auto; overscroll-behavior: contain; }
3912
- .runtime-diagnostics { min-width: 0; container: runtime-diagnostics / inline-size; }
3913
- .runtime-diagnostics-hint { margin: 0 0 14px; font-size: var(--fs-sm); line-height: 1.65; color: var(--text-3); }
3914
- .runtime-diagnostics .windows-cli-content { padding: 0; max-width: none; }
3915
- .runtime-diagnostics .windows-cli-intro { display: flex; align-items: center; gap: 12px; margin: 0 0 16px; padding: 0; }
3916
- .runtime-diagnostics .windows-cli-intro p { margin: 0; font-size: var(--fs-xs); }
3917
- .runtime-diagnostics .windows-cli-probe { padding: 7px 12px; font-size: var(--fs-sm); }
3918
- .windows-cli-diagnostic-list { border: 1px solid var(--border); border-radius: 10px; overflow: hidden; }
3919
- .windows-cli-diagnostic-list:empty { display: none; }
3920
- .windows-cli-diagnostic-row + .windows-cli-diagnostic-row { border-top: 1px solid var(--border); }
3921
- .windows-cli-diagnostic-row > summary { display: grid; grid-template-columns: 24px minmax(110px,1fr) minmax(0,1.4fr) auto 16px; align-items: center; gap: 12px; padding: 16px; cursor: pointer; list-style: none; }
3922
- .windows-cli-diagnostic-row > summary::-webkit-details-marker { display: none; }
3923
- .windows-cli-diagnostic-row > summary strong { font-size: var(--fs-sm); }
3924
- .windows-cli-diagnostic-version { font: var(--fs-xs)/1.5 var(--font-mono); color: var(--text-3); overflow-wrap: anywhere; }
3925
- .windows-cli-diagnostic-row .windows-cli-auth { font-size: var(--fs-xs); white-space: nowrap; }
3926
- .windows-cli-diagnostic-row[open] > summary > .icon:last-child { transform: rotate(180deg); }
3927
- .windows-cli-diagnostic-facts { padding: 0 16px 16px 52px; font-size: var(--fs-sm); }
3928
- .windows-cli-diagnostic-facts dl { display: grid; gap: 8px; margin: 12px 0 0; }
3929
- .windows-cli-diagnostic-facts dt { font-size: var(--fs-xs); color: var(--text-3); }
3930
- .windows-cli-diagnostic-facts dd { margin: 0; min-width: 0; }
3931
- .windows-cli-diagnostic-facts .windows-cli-path { margin: 0; }
3932
- .windows-cli-model-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
3933
- .windows-cli-model-list li { display: flex; gap: 8px; flex-wrap: wrap; overflow-wrap: anywhere; }
3934
- .windows-cli-model-list li > span { color: var(--text-3); }
3935
- .windows-cli-test-disclosure { margin-top: 20px; }
3936
- .windows-cli-test-disclosure > summary { display: flex; align-items: center; gap: 12px; cursor: pointer; list-style: none; padding: 16px; border: 1px solid var(--border); border-radius: 10px; }
3937
- .windows-cli-test-disclosure > summary::-webkit-details-marker { display: none; }
3938
- .windows-cli-test-disclosure > summary span { flex: 1; min-width: 0; }
3939
- .windows-cli-test-disclosure > summary strong { display: block; font-size: var(--fs-sm); }
3940
- .windows-cli-test-disclosure > summary small { display: block; color: var(--text-3); margin-top: 5px; font-size: var(--fs-xs); line-height: 1.6; }
3941
- .windows-cli-test-disclosure[open] > summary > .icon:last-child { transform: rotate(180deg); }
3942
- .windows-cli-test-disclosure.is-standalone { margin: 0; }
3943
- .runtime-diagnostics .windows-cli-test-disclosure { border: 1px solid var(--border); border-radius: 10px; }
3944
- .runtime-diagnostics .windows-cli-test-disclosure > summary { border: 0; border-radius: 10px; }
3945
- .runtime-diagnostics .windows-cli-test-disclosure[open] > summary { border-bottom: 1px solid var(--border); border-radius: 10px 10px 0 0; }
3946
- .runtime-diagnostics .windows-cli-settings .windows-cli-workbench { grid-template-columns: minmax(0,1fr); gap: 20px; margin: 0; padding: 20px; }
3947
- @container runtime-diagnostics (min-width: 760px) {
3948
- .runtime-diagnostics .windows-cli-settings .windows-cli-workbench { grid-template-columns: minmax(0,1.2fr) minmax(0,1fr); }
3949
- .runtime-diagnostics .windows-cli-settings .windows-cli-workbench > .windows-cli-history { border-top: 0; border-inline-start: 1px solid var(--border); padding: 0; padding-inline-start: 20px; align-self: stretch; }
3950
- }
3951
- .runtime-diagnostics :is(.windows-cli-composer,.windows-cli-history) { min-width: 0; padding: 0; border: 0; border-radius: 0; background: transparent; }
3952
- .runtime-diagnostics .windows-cli-history { border-top: 1px solid var(--border); padding-top: 20px; }
3953
- .runtime-diagnostics .windows-cli-section-head { margin-bottom: 18px; }
3954
- .runtime-diagnostics .windows-cli-section-head h2 { font-size: var(--fs-md); margin: 0; }
3955
- .runtime-diagnostics .windows-cli-field .model-pick > :is(select,input) { display: block; width: 100%; min-width: 0; min-height: 40px; padding: 8px 10px; border: 1px solid var(--border-strong); border-radius: 8px; background: var(--bg); color: var(--text); font-size: var(--fs-sm); }
3956
- .windows-cli-close-note { display: flex; align-items: flex-start; gap: 7px; color: var(--text-3); font-size: var(--fs-xs); line-height: 1.65; margin: 16px 0 0; }
3957
- .windows-cli-close-note .icon { flex: 0 0 auto; margin-top: 2px; }
3958
- .runtime-diagnostics .windows-cli-test-disclosure > .windows-cli-close-note { margin: 0; padding: 0 20px 20px; }
3959
- @media (max-width: 600px) {
3960
- .runtime-diagnostics-dialog.dlg { width: 100vw; max-width: none; height: 100dvh; max-height: 100dvh; margin: 0; border-radius: 0; }
3961
- .runtime-diagnostics-dialog .dlg-box { height: 100%; max-height: 100dvh; }
3962
- .runtime-diagnostics-dialog .dlg-body { padding: 4px 16px 20px; flex: 1; }
3963
- .runtime-diagnostics-dialog .dlg-title { font-size: var(--fs-md); }
3964
- .runtime-diagnostics .windows-cli-intro { align-items: flex-start; flex-wrap: wrap; }
3965
- .windows-cli-diagnostic-row > summary { grid-template-columns: 24px minmax(0,1fr) auto 16px; gap: 8px; padding: 14px; }
3966
- .windows-cli-diagnostic-version { grid-column: 2 / 4; grid-row: 2; }
3967
- .windows-cli-diagnostic-row > summary > :first-child { grid-column: 1; grid-row: 1; }
3968
- .windows-cli-diagnostic-row > summary > strong { grid-column: 2; grid-row: 1; }
3969
- .windows-cli-diagnostic-row > summary > .windows-cli-auth { grid-column: 3; grid-row: 1; }
3970
- .windows-cli-diagnostic-row > summary > .icon:last-child { grid-column: 4; grid-row: 1; }
3971
- .windows-cli-diagnostic-facts { padding: 0 14px 14px; }
3972
- .runtime-cli-table { font-size: var(--fs-xs); }
3973
- .p-settings .runtime-machine { padding: 16px; }
3974
- }
3975
- .agent-runtime-settings{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;border:1px solid var(--border);border-radius:10px;margin-bottom:20px;min-width:0}
3976
- .agent-runtime-settings>div{min-width:0}.agent-runtime-settings p{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:6px 0 0;overflow-wrap:anywhere}
3977
- .agent-runtime-settings>.btn{flex:0 0 auto}.agent-runtime-change .field{margin-top:0}.agent-runtime-change .check{align-items:flex-start}.agent-runtime-change .check input{flex:0 0 auto}
3978
- .agent-runtime-settings>.agent-runtime-general{display:block;flex:1 1 240px;margin:0;max-width:44em}
3979
- .agent-runtime-removed{color:var(--warn);font-weight:600}
3980
- .agent-runtime-change>p{margin:0}
3981
- .agent-runtime-change-dialog.dlg{height:fit-content;max-height:88dvh;margin:auto;overflow:hidden}
3982
- .agent-runtime-change-dialog .dlg-box{height:auto;min-height:0;max-height:88dvh;overflow:hidden}
3983
- .agent-runtime-change-dialog .dlg-head,.agent-runtime-change-dialog .dlg-actions{flex:0 0 auto}
3984
- .agent-runtime-change-dialog .dlg-body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain}
3985
- @media(max-width:600px){.agent-runtime-change-dialog.dlg{width:100vw;max-width:none;height:100dvh;max-height:100dvh;margin:0;border-radius:0}.agent-runtime-change-dialog .dlg-box{height:100%;max-height:100dvh}}
3986
- @media(max-width:600px){.agent-runtime-settings{align-items:flex-start;flex-direction:column}.agent-runtime-settings>.btn{align-self:flex-end}}
2713
+ /* Quota preferences obey the panel CSP: no inline styles. */
2714
+ .p-settings .s-quota-fields { border: 0; padding: 0; min-width: 0; }