@iislee/opencodex 2.11.0 → 2.31.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (675) hide show
  1. package/AGENTS_INSTALL.md +109 -0
  2. package/README.md +114 -19
  3. package/bin/ocx.mjs +164 -36
  4. package/bin/package-main.mjs +1 -1
  5. package/gui/dist/assets/index-BF38heuV.js +104 -0
  6. package/gui/dist/assets/index-DMiI18Kv.css +1 -0
  7. package/gui/dist/index.html +2 -2
  8. package/gui/dist/provider-icons/alibaba-color.svg +1 -1
  9. package/gui/dist/provider-icons/antigravity-color.svg +1 -1
  10. package/gui/dist/provider-icons/claude-color.svg +1 -1
  11. package/gui/dist/provider-icons/cline-color.svg +16 -0
  12. package/gui/dist/provider-icons/cloudflare-ai-gateway-color.svg +1 -1
  13. package/gui/dist/provider-icons/commandcode-color.svg +1 -0
  14. package/gui/dist/provider-icons/copilot-color.svg +1 -1
  15. package/gui/dist/provider-icons/cursor-color.svg +1 -1
  16. package/gui/dist/provider-icons/deepseek-color.svg +1 -1
  17. package/gui/dist/provider-icons/firepass-color.svg +1 -1
  18. package/gui/dist/provider-icons/fireworks-color.svg +1 -1
  19. package/gui/dist/provider-icons/gemini-color.svg +1 -1
  20. package/gui/dist/provider-icons/github-copilot-color.svg +1 -1
  21. package/gui/dist/provider-icons/gitlab-duo-color.svg +1 -1
  22. package/gui/dist/provider-icons/grok.svg +1 -1
  23. package/gui/dist/provider-icons/groq-color.svg +1 -1
  24. package/gui/dist/provider-icons/huggingface-color.svg +1 -1
  25. package/gui/dist/provider-icons/kimi-color.svg +1 -1
  26. package/gui/dist/provider-icons/kiro-color.svg +2 -2
  27. package/gui/dist/provider-icons/lm-studio-color.svg +1 -1
  28. package/gui/dist/provider-icons/mistral-color.svg +1 -1
  29. package/gui/dist/provider-icons/moonshot-color.svg +1 -1
  30. package/gui/dist/provider-icons/nvidia-color.svg +1 -1
  31. package/gui/dist/provider-icons/ollama-color.svg +1 -1
  32. package/gui/dist/provider-icons/openai.svg +1 -1
  33. package/gui/dist/provider-icons/opencode.svg +2 -1
  34. package/gui/dist/provider-icons/openrouter-color.svg +1 -1
  35. package/gui/dist/provider-icons/pi.svg +2 -2
  36. package/gui/dist/provider-icons/qianfan-color.svg +1 -1
  37. package/gui/dist/provider-icons/qwen-portal-color.svg +1 -1
  38. package/gui/dist/provider-icons/vercel-ai-gateway-color.svg +1 -1
  39. package/gui/dist/provider-icons/vllm-color.svg +1 -1
  40. package/gui/dist/provider-icons/xiaomi-color.svg +1 -1
  41. package/package.json +19 -10
  42. package/src/adapters/anthropic-output-schema.ts +137 -0
  43. package/src/adapters/anthropic.ts +376 -52
  44. package/src/adapters/base.ts +54 -7
  45. package/src/adapters/client-fingerprint.ts +18 -12
  46. package/src/adapters/cline-pass-deepseek-v4-tool-replay.ts +69 -0
  47. package/src/adapters/command-code.ts +601 -0
  48. package/src/adapters/cursor/checkpoint-store.ts +303 -0
  49. package/src/adapters/cursor/cursor-errors.ts +129 -6
  50. package/src/adapters/cursor/discovery.ts +61 -4
  51. package/src/adapters/cursor/effort-map.ts +27 -3
  52. package/src/adapters/cursor/framing.ts +39 -0
  53. package/src/adapters/cursor/h2-pool.ts +123 -0
  54. package/src/adapters/cursor/http1-bidi.ts +361 -0
  55. package/src/adapters/cursor/images.ts +704 -0
  56. package/src/adapters/cursor/live-models.ts +174 -58
  57. package/src/adapters/cursor/live-transport.ts +609 -170
  58. package/src/adapters/cursor/native-exec-common.ts +23 -2
  59. package/src/adapters/cursor/native-exec-fs.ts +10 -7
  60. package/src/adapters/cursor/native-exec-network.ts +1 -1
  61. package/src/adapters/cursor/native-exec-shell.ts +0 -1
  62. package/src/adapters/cursor/native-exec.ts +101 -14
  63. package/src/adapters/cursor/protobuf-events.ts +829 -11
  64. package/src/adapters/cursor/protobuf-request.ts +383 -65
  65. package/src/adapters/cursor/request-builder.ts +237 -31
  66. package/src/adapters/cursor/tool-definitions.ts +242 -12
  67. package/src/adapters/cursor/tool-result-normalize.ts +92 -0
  68. package/src/adapters/cursor/transport.ts +22 -0
  69. package/src/adapters/cursor/types.ts +28 -1
  70. package/src/adapters/cursor.ts +133 -7
  71. package/src/adapters/google-antigravity-replay.ts +558 -34
  72. package/src/adapters/google-antigravity-wire.ts +43 -10
  73. package/src/adapters/google-http.ts +38 -10
  74. package/src/adapters/google-tool-schema.ts +80 -15
  75. package/src/adapters/google-truncation.ts +11 -0
  76. package/src/adapters/google.ts +618 -74
  77. package/src/adapters/identity.ts +39 -6
  78. package/src/adapters/kiro-errors.ts +11 -0
  79. package/src/adapters/kiro-events.ts +19 -1
  80. package/src/adapters/kiro-thinking.ts +18 -2
  81. package/src/adapters/kiro-tools.ts +10 -1
  82. package/src/adapters/kiro.ts +92 -54
  83. package/src/adapters/mimo-free.ts +17 -0
  84. package/src/adapters/openai-chat-url.ts +11 -0
  85. package/src/adapters/openai-chat.ts +1311 -336
  86. package/src/adapters/openai-responses-url.ts +16 -0
  87. package/src/adapters/openai-responses.ts +830 -56
  88. package/src/adapters/registry.ts +175 -0
  89. package/src/adapters/responses-tool-schema.ts +67 -0
  90. package/src/adapters/tool-call-id.ts +119 -0
  91. package/src/adapters/tool-catalog-nudge.ts +104 -21
  92. package/src/adapters/xai-web-search.ts +185 -0
  93. package/src/bridge.ts +428 -61
  94. package/src/chat/inbound.ts +43 -19
  95. package/src/chat/outbound.ts +82 -26
  96. package/src/claude/agents-inject.ts +32 -9
  97. package/src/claude/context-windows.ts +21 -5
  98. package/src/claude/desktop-3p.ts +243 -9
  99. package/src/claude/gateway-cache.ts +41 -4
  100. package/src/claude/inbound.ts +72 -3
  101. package/src/claude/model-info.ts +38 -15
  102. package/src/claude/outbound.ts +70 -16
  103. package/src/cli/account-api.ts +35 -1
  104. package/src/cli/account-auth.ts +33 -6
  105. package/src/cli/account-catalog-refresh.ts +14 -0
  106. package/src/cli/account-extended.ts +389 -2
  107. package/src/cli/account-main.ts +317 -0
  108. package/src/cli/account.ts +30 -6
  109. package/src/cli/agent.ts +45 -1
  110. package/src/cli/claude-agent-startup-sync.ts +73 -0
  111. package/src/cli/claude-desktop.ts +29 -4
  112. package/src/cli/claude.ts +103 -34
  113. package/src/cli/codex-log-guard-doctor.ts +103 -0
  114. package/src/cli/codex-shim-autorestore.ts +2 -0
  115. package/src/cli/codex-shim-readiness.ts +76 -0
  116. package/src/cli/combo.ts +8 -0
  117. package/src/cli/config-command.ts +74 -10
  118. package/src/cli/dispatch.ts +593 -0
  119. package/src/cli/doctor.ts +315 -43
  120. package/src/cli/ensure-desired-integrations.ts +152 -0
  121. package/src/cli/export-command.ts +46 -20
  122. package/src/cli/help.ts +20 -271
  123. package/src/cli/index.ts +378 -519
  124. package/src/cli/init.ts +4 -17
  125. package/src/cli/integrations.ts +120 -2
  126. package/src/cli/lab.ts +607 -0
  127. package/src/cli/launcher-context.ts +77 -0
  128. package/src/cli/minimax.ts +497 -0
  129. package/src/cli/models-runtime.ts +35 -2
  130. package/src/cli/models.ts +100 -14
  131. package/src/cli/observe.ts +92 -3
  132. package/src/cli/opencode.ts +4 -2
  133. package/src/cli/provider-runtime.ts +18 -1
  134. package/src/cli/provider.ts +24 -3
  135. package/src/cli/ready.ts +301 -0
  136. package/src/cli/registry.ts +437 -0
  137. package/src/cli/root.ts +86 -0
  138. package/src/cli/route-policy.ts +92 -0
  139. package/src/cli/runtime-api.ts +6 -3
  140. package/src/cli/star-prompt.ts +71 -15
  141. package/src/cli/status.ts +10 -3
  142. package/src/cli/system-restart-client.ts +146 -0
  143. package/src/cli/tray-proxy.ts +153 -6
  144. package/src/cli/v2.ts +105 -10
  145. package/src/cli.ts +1 -1
  146. package/src/clients/config-export.ts +1358 -21
  147. package/src/codex/account-label.ts +14 -1
  148. package/src/codex/account-lifecycle.ts +130 -13
  149. package/src/codex/account-namespaces.ts +49 -3
  150. package/src/codex/account-priority.ts +83 -0
  151. package/src/codex/account-store.ts +29 -2
  152. package/src/codex/account-usability.ts +25 -2
  153. package/src/codex/admission.ts +256 -0
  154. package/src/codex/affinity-debug.ts +162 -0
  155. package/src/codex/app-server-processes.ts +493 -106
  156. package/src/codex/app-server-restart-service.ts +232 -0
  157. package/src/codex/auth-api.ts +849 -242
  158. package/src/codex/auth-collision.ts +5 -3
  159. package/src/codex/auth-context.ts +345 -32
  160. package/src/codex/autostart-health.ts +8 -1
  161. package/src/codex/catalog/account-models.ts +67 -0
  162. package/src/codex/catalog/aggregation.ts +68 -10
  163. package/src/codex/catalog/bundled.ts +331 -33
  164. package/src/codex/catalog/effort.ts +121 -30
  165. package/src/codex/catalog/filesystem-evidence.ts +302 -0
  166. package/src/codex/catalog/kinds.ts +2 -0
  167. package/src/codex/catalog/metadata.ts +529 -45
  168. package/src/codex/catalog/native-models.ts +72 -0
  169. package/src/codex/catalog/parsing.ts +224 -30
  170. package/src/codex/catalog/provider-fetch.ts +1460 -134
  171. package/src/codex/catalog/sync.ts +1449 -186
  172. package/src/codex/catalog-admission.ts +199 -0
  173. package/src/codex/catalog-refresh-status.ts +105 -0
  174. package/src/codex/catalog-write-serialization.ts +242 -0
  175. package/src/codex/catalog.ts +6 -3
  176. package/src/codex/codex-write-lock.ts +384 -0
  177. package/src/codex/convergence-types.ts +614 -0
  178. package/src/codex/convergence.ts +651 -0
  179. package/src/codex/coordinator-doctor.ts +332 -0
  180. package/src/codex/custom-model-catalog-migration.ts +176 -0
  181. package/src/codex/desired-state.ts +230 -0
  182. package/src/codex/features.ts +636 -39
  183. package/src/codex/generation.ts +202 -0
  184. package/src/codex/history-job.ts +407 -0
  185. package/src/codex/history-lock.ts +242 -0
  186. package/src/codex/history-migration-guardian.ts +26 -20
  187. package/src/codex/history-provider.ts +231 -28
  188. package/src/codex/history-transition.ts +105 -0
  189. package/src/codex/history-worker.ts +220 -0
  190. package/src/codex/inject-coordination.ts +290 -0
  191. package/src/codex/inject.ts +1073 -152
  192. package/src/codex/injected-marker.ts +37 -3
  193. package/src/codex/integration-record.ts +266 -0
  194. package/src/codex/internal/catalog-writer.ts +203 -0
  195. package/src/codex/internal/history-writer.ts +80 -0
  196. package/src/codex/journal.ts +66 -4
  197. package/src/codex/log-guard/inspect.ts +506 -0
  198. package/src/codex/log-guard/lock.ts +150 -0
  199. package/src/codex/log-guard/maintenance.ts +403 -0
  200. package/src/codex/log-guard/path-safety.ts +88 -0
  201. package/src/codex/log-guard/policy.ts +44 -0
  202. package/src/codex/log-guard/processes.ts +205 -0
  203. package/src/codex/log-guard/protection.ts +489 -0
  204. package/src/codex/log-guard/sqlite-errors.ts +9 -0
  205. package/src/codex/main-account-cache.ts +24 -0
  206. package/src/codex/main-account.ts +29 -1
  207. package/src/codex/management-convergence.ts +167 -0
  208. package/src/codex/model-cache.ts +56 -10
  209. package/src/codex/model-entitlements.ts +353 -0
  210. package/src/codex/native-main-admission.ts +47 -0
  211. package/src/codex/native-main-auth-temp.ts +187 -0
  212. package/src/codex/native-main-claim.ts +178 -0
  213. package/src/codex/native-main-lock-file.ts +162 -0
  214. package/src/codex/native-main-owner.ts +329 -0
  215. package/src/codex/native-profile-api.ts +247 -0
  216. package/src/codex/native-profile-manager.ts +1531 -0
  217. package/src/codex/native-profile-processes.ts +121 -0
  218. package/src/codex/native-profile-recovery.ts +99 -0
  219. package/src/codex/native-profile-stage-store.ts +387 -0
  220. package/src/codex/native-profile-startup.ts +492 -0
  221. package/src/codex/native-profile-store.ts +855 -0
  222. package/src/codex/native-profile-types.ts +120 -0
  223. package/src/codex/native-residue.ts +682 -0
  224. package/src/codex/paths.ts +80 -1
  225. package/src/codex/plan-from-token.ts +140 -0
  226. package/src/codex/plan.ts +40 -0
  227. package/src/codex/plugins-doctor.ts +1 -1
  228. package/src/codex/pool-rotation.ts +74 -4
  229. package/src/codex/project-config-warnings.ts +20 -6
  230. package/src/codex/prompt-journal.ts +352 -0
  231. package/src/codex/prompt-layers.ts +967 -0
  232. package/src/codex/prompt-lock.ts +143 -0
  233. package/src/codex/quota-rejection.ts +298 -0
  234. package/src/codex/quota.ts +175 -13
  235. package/src/codex/refresh.ts +11 -2
  236. package/src/codex/reset-credit-recovery.ts +1044 -0
  237. package/src/codex/routing.ts +505 -94
  238. package/src/codex/runtime.ts +159 -38
  239. package/src/codex/shim.ts +1009 -28
  240. package/src/codex/subagent-model-fallback.ts +350 -35
  241. package/src/codex/sync.ts +191 -2
  242. package/src/codex/transition-state.ts +612 -0
  243. package/src/codex/upstream-host-health.ts +368 -0
  244. package/src/codex/user-identity.ts +557 -0
  245. package/src/codex/warmup.ts +187 -81
  246. package/src/codex/write-coordination.ts +114 -0
  247. package/src/combos/failover.ts +20 -0
  248. package/src/combos/index.ts +4 -0
  249. package/src/combos/request.ts +32 -0
  250. package/src/combos/types.ts +81 -9
  251. package/src/config/provider-name.ts +24 -0
  252. package/src/config.ts +1762 -140
  253. package/src/generated/compatibility-version.json +3164 -0
  254. package/src/generated/{jawcode-model-metadata.ts → model-metadata.ts} +19 -17
  255. package/src/grok/inject.ts +16 -5
  256. package/src/grok/inspect.ts +45 -0
  257. package/src/grok/sync.ts +2 -2
  258. package/src/images/loop.ts +152 -29
  259. package/src/images/plan.ts +23 -13
  260. package/src/integrations/config-io.ts +269 -0
  261. package/src/integrations/journal.ts +315 -0
  262. package/src/integrations/merge.ts +135 -0
  263. package/src/integrations/mutation-flight.ts +71 -0
  264. package/src/integrations/native/ownership-preflight.ts +202 -0
  265. package/src/integrations/omp-yaml-source.ts +358 -0
  266. package/src/integrations/owned-refresh.ts +74 -0
  267. package/src/integrations/ownership.ts +111 -0
  268. package/src/integrations/registry.ts +159 -0
  269. package/src/integrations/serialize.ts +314 -0
  270. package/src/integrations/state.ts +361 -0
  271. package/src/integrations/store.ts +103 -0
  272. package/src/integrations/writer-lock.ts +98 -0
  273. package/src/integrations/writer.ts +691 -0
  274. package/src/lab/artifacts/sanitize.ts +586 -0
  275. package/src/lab/artifacts/secure-fs.ts +475 -0
  276. package/src/lab/artifacts/store.ts +310 -0
  277. package/src/lab/automation/budgets.ts +78 -0
  278. package/src/lab/automation/config-persistence.ts +256 -0
  279. package/src/lab/automation/constants.ts +39 -0
  280. package/src/lab/automation/cooldown.ts +103 -0
  281. package/src/lab/automation/dispatch.ts +211 -0
  282. package/src/lab/automation/index.ts +13 -0
  283. package/src/lab/automation/orchestrator.ts +499 -0
  284. package/src/lab/automation/persistence.ts +512 -0
  285. package/src/lab/automation/planner.ts +371 -0
  286. package/src/lab/automation/policy.ts +136 -0
  287. package/src/lab/automation/queue.ts +191 -0
  288. package/src/lab/automation/recovery.ts +24 -0
  289. package/src/lab/automation/route-context.ts +21 -0
  290. package/src/lab/automation/run-key.ts +44 -0
  291. package/src/lab/automation/runs-query.ts +34 -0
  292. package/src/lab/automation/types.ts +160 -0
  293. package/src/lab/conformance/assertion.ts +325 -0
  294. package/src/lab/conformance/digest.ts +22 -0
  295. package/src/lab/conformance/executor.ts +741 -0
  296. package/src/lab/conformance/fixture-provider.ts +27 -0
  297. package/src/lab/conformance/fixtures/live-v1-cases.json +175 -0
  298. package/src/lab/conformance/fixtures/protocol-v1-cases.json +461 -0
  299. package/src/lab/conformance/harness-budget.ts +47 -0
  300. package/src/lab/conformance/index.ts +5 -0
  301. package/src/lab/conformance/jcs.ts +64 -0
  302. package/src/lab/conformance/json-pointer.ts +39 -0
  303. package/src/lab/conformance/manifest.ts +180 -0
  304. package/src/lab/conformance/mcp-stub.ts +179 -0
  305. package/src/lab/conformance/negative-controls.ts +164 -0
  306. package/src/lab/conformance/observation.ts +355 -0
  307. package/src/lab/conformance/runner.ts +68 -0
  308. package/src/lab/conformance/sse-normalize.ts +59 -0
  309. package/src/lab/conformance/suite-manifest.ts +78 -0
  310. package/src/lab/conformance/types.ts +214 -0
  311. package/src/lab/constants.ts +126 -0
  312. package/src/lab/digest.ts +64 -0
  313. package/src/lab/events/errors.ts +9 -0
  314. package/src/lab/events/limits.ts +117 -0
  315. package/src/lab/events/types.ts +229 -0
  316. package/src/lab/events/validate.ts +781 -0
  317. package/src/lab/fabric/constants.ts +40 -0
  318. package/src/lab/fabric/executor.ts +492 -0
  319. package/src/lab/fabric/index.ts +80 -0
  320. package/src/lab/fabric/manifest.ts +222 -0
  321. package/src/lab/fabric/observe.ts +489 -0
  322. package/src/lab/fabric/patch.ts +79 -0
  323. package/src/lab/fabric/producer-child.ts +139 -0
  324. package/src/lab/fabric/producer-isolate.ts +276 -0
  325. package/src/lab/fabric/producer-protocol.ts +61 -0
  326. package/src/lab/fabric/scratch.ts +439 -0
  327. package/src/lab/fabric/subject.ts +106 -0
  328. package/src/lab/fabric/types.ts +134 -0
  329. package/src/lab/fabric/verifier.ts +98 -0
  330. package/src/lab/index.ts +54 -0
  331. package/src/lab/ledger/artifact-refs.ts +127 -0
  332. package/src/lab/ledger/invalidation.ts +136 -0
  333. package/src/lab/ledger/purge.ts +310 -0
  334. package/src/lab/ledger/store.ts +532 -0
  335. package/src/lab/live/credential-lease.ts +53 -0
  336. package/src/lab/live/destination.ts +155 -0
  337. package/src/lab/live/executor.ts +336 -0
  338. package/src/lab/live/inert-tools.ts +56 -0
  339. package/src/lab/live/manifest.ts +85 -0
  340. package/src/lab/live/mcp-loopback.ts +57 -0
  341. package/src/lab/live/runner.ts +19 -0
  342. package/src/lab/live/sandbox.ts +61 -0
  343. package/src/lab/live/suite-manifest.ts +41 -0
  344. package/src/lab/live/transport.ts +118 -0
  345. package/src/lab/live/types.ts +197 -0
  346. package/src/lab/observe/from-conformance.ts +301 -0
  347. package/src/lab/observe/from-live.ts +117 -0
  348. package/src/lab/paths.ts +153 -0
  349. package/src/lab/projection/rebuild.ts +495 -0
  350. package/src/lab/projection/schema.ts +135 -0
  351. package/src/lab/projection/verdicts.ts +474 -0
  352. package/src/lab/projection/verification.ts +412 -0
  353. package/src/lab/public/bundle.ts +217 -0
  354. package/src/lab/public/community-authority.ts +175 -0
  355. package/src/lab/public/community-files.ts +29 -0
  356. package/src/lab/public/community.ts +479 -0
  357. package/src/lab/public/file-safety.ts +155 -0
  358. package/src/lab/public/ids.ts +26 -0
  359. package/src/lab/public/index.ts +16 -0
  360. package/src/lab/public/mutation-lock.ts +424 -0
  361. package/src/lab/public/operator.ts +353 -0
  362. package/src/lab/public/origin-purge.ts +79 -0
  363. package/src/lab/public/origin.ts +203 -0
  364. package/src/lab/public/privacy.ts +143 -0
  365. package/src/lab/public/private-file.ts +261 -0
  366. package/src/lab/public/project.ts +124 -0
  367. package/src/lab/public/purge-test-fault.ts +21 -0
  368. package/src/lab/public/purge.ts +223 -0
  369. package/src/lab/public/registry.ts +44 -0
  370. package/src/lab/public/revocation.ts +252 -0
  371. package/src/lab/public/signature.ts +243 -0
  372. package/src/lab/public/storage.ts +105 -0
  373. package/src/lab/public/strict-json.ts +206 -0
  374. package/src/lab/public/time.ts +26 -0
  375. package/src/lab/public/types.ts +172 -0
  376. package/src/lab/public/validate.ts +391 -0
  377. package/src/lab/query/catalog.ts +101 -0
  378. package/src/lab/query/connection.ts +107 -0
  379. package/src/lab/query/constants.ts +4 -0
  380. package/src/lab/query/cursor.ts +132 -0
  381. package/src/lab/query/dto-map.ts +277 -0
  382. package/src/lab/query/errors.ts +22 -0
  383. package/src/lab/query/freshness.ts +53 -0
  384. package/src/lab/query/index.ts +45 -0
  385. package/src/lab/query/latest-observation.ts +59 -0
  386. package/src/lab/query/passive-production.ts +159 -0
  387. package/src/lab/query/queries.ts +444 -0
  388. package/src/lab/query/types.ts +266 -0
  389. package/src/lab/subject/behavior-fingerprint.ts +77 -0
  390. package/src/lab/subject/installation-salt.ts +112 -0
  391. package/src/lab/subject/protocol-subject.ts +80 -0
  392. package/src/lab/subject/route-subject.ts +74 -0
  393. package/src/lib/app-owned-memory-stores.ts +22 -0
  394. package/src/lib/bounded-body.ts +153 -9
  395. package/src/lib/bun-runtime.ts +125 -12
  396. package/src/lib/bun-stream-caps.ts +13 -9
  397. package/src/lib/codex-restart-contract.ts +120 -0
  398. package/src/lib/config-ownership.ts +6 -2
  399. package/src/lib/destination-policy.ts +65 -1
  400. package/src/lib/errors.ts +44 -2
  401. package/src/lib/fabric-task-execution-authority.ts +7 -0
  402. package/src/lib/fabric-task-host.ts +29 -0
  403. package/src/lib/lab-activation.ts +223 -0
  404. package/src/lib/lab-live-execution-authority.ts +13 -0
  405. package/src/lib/lab-live-host.ts +30 -0
  406. package/src/lib/lab-live-pinned-sender.ts +56 -0
  407. package/src/lib/lab-live-route-production.ts +130 -0
  408. package/src/lib/lab-passive-linker-registration.ts +26 -0
  409. package/src/lib/local-management-attestation.ts +51 -0
  410. package/src/lib/local-management-capability.ts +100 -0
  411. package/src/lib/local-provider-reload-contract.ts +100 -0
  412. package/src/lib/optional-shutdown-hooks.ts +57 -0
  413. package/src/lib/pinned-http.ts +145 -26
  414. package/src/lib/process-control.ts +4 -1
  415. package/src/lib/provider-outbound.ts +49 -9
  416. package/src/lib/redact.ts +419 -3
  417. package/src/lib/self-launch-argv.ts +15 -0
  418. package/src/lib/server-resource-ownership.ts +71 -0
  419. package/src/lib/shadow-call.ts +35 -4
  420. package/src/lib/sse-decoder.ts +41 -0
  421. package/src/lib/state-store-registrations.ts +10 -2
  422. package/src/lib/system-restart-contract.ts +73 -0
  423. package/src/lib/token-estimate.ts +19 -2
  424. package/src/lib/tool-argument-integers.ts +202 -0
  425. package/src/lib/translator-budget.ts +44 -0
  426. package/src/lib/upstream-http-version.ts +57 -0
  427. package/src/lib/upstream-reachability.ts +95 -0
  428. package/src/lib/upstream-retry.ts +156 -3
  429. package/src/lib/windows-atomic-replace.ts +155 -0
  430. package/src/lib/windows-elevation.ts +70 -2
  431. package/src/lib/windows-secret-acl.ts +409 -69
  432. package/src/lib/windows-service-wrappers.ts +72 -0
  433. package/src/lib/windows-text.ts +106 -0
  434. package/src/lib/windows-user-principal.ts +341 -0
  435. package/src/lib/winsw.ts +33 -5
  436. package/src/oauth/account-import/google-antigravity-adapter.ts +74 -0
  437. package/src/oauth/account-import/index.ts +15 -0
  438. package/src/oauth/account-import/parser.ts +83 -0
  439. package/src/oauth/account-import/registry.ts +18 -0
  440. package/src/oauth/account-import/service.ts +75 -0
  441. package/src/oauth/account-import/types.ts +91 -0
  442. package/src/oauth/anthropic.ts +12 -1
  443. package/src/oauth/callback-server.ts +8 -2
  444. package/src/oauth/chatgpt.ts +12 -1
  445. package/src/oauth/command-code.ts +239 -0
  446. package/src/oauth/cursor.ts +46 -5
  447. package/src/oauth/google-antigravity.ts +35 -3
  448. package/src/oauth/health.ts +20 -12
  449. package/src/oauth/index.ts +398 -66
  450. package/src/oauth/key-providers.ts +16 -0
  451. package/src/oauth/kimi.ts +16 -2
  452. package/src/oauth/kiro.ts +50 -6
  453. package/src/oauth/local-token-detect.ts +11 -2
  454. package/src/oauth/log.ts +3 -1
  455. package/src/oauth/login-cli.ts +88 -28
  456. package/src/oauth/nous.ts +798 -0
  457. package/src/oauth/store.ts +119 -21
  458. package/src/oauth/token-guardian.ts +9 -3
  459. package/src/pi/models.ts +2 -2
  460. package/src/providers/alibaba-region-migration.ts +1 -1
  461. package/src/providers/antigravity-models.ts +521 -31
  462. package/src/providers/base-url-choices.ts +10 -0
  463. package/src/providers/codex-capacity.ts +292 -0
  464. package/src/providers/command-code-efforts.ts +144 -0
  465. package/src/providers/context-cap.ts +22 -5
  466. package/src/providers/cursor-pool.ts +72 -0
  467. package/src/providers/derive.ts +253 -6
  468. package/src/providers/fastwire.ts +501 -0
  469. package/src/providers/free-directory.ts +10 -7
  470. package/src/providers/google-vertex-location.ts +14 -0
  471. package/src/providers/key-failover.ts +71 -3
  472. package/src/providers/label.ts +1 -1
  473. package/src/providers/model-discovery-limits.ts +16 -0
  474. package/src/providers/model-discovery.ts +115 -22
  475. package/src/providers/model-rename-migration.ts +255 -0
  476. package/src/providers/model-rename-startup.ts +28 -0
  477. package/src/providers/openai-sidecar.ts +72 -4
  478. package/src/providers/openai-tier-startup.ts +31 -2
  479. package/src/providers/openai-tiers.ts +119 -4
  480. package/src/providers/openai-virtual-models.ts +1 -0
  481. package/src/providers/opencode-zen-rate-limit.ts +102 -0
  482. package/src/providers/provider-id-rewrite.ts +29 -0
  483. package/src/providers/quota.ts +1319 -38
  484. package/src/providers/registry.ts +1429 -111
  485. package/src/providers/request-pacing.ts +310 -0
  486. package/src/providers/service-tier.ts +277 -0
  487. package/src/providers/slug-codec.ts +42 -6
  488. package/src/providers/static-model-discovery.ts +86 -0
  489. package/src/providers/xai-responses-opt-in.ts +15 -0
  490. package/src/providers/xai-transport.ts +11 -4
  491. package/src/reasoning-effort.ts +49 -1
  492. package/src/responses/compaction.ts +26 -1
  493. package/src/responses/custom-tool-compat.ts +266 -0
  494. package/src/responses/hosted-tool-policy.ts +9 -0
  495. package/src/responses/namespace-tool-compat.ts +355 -0
  496. package/src/responses/parser.ts +220 -38
  497. package/src/responses/provider-continuation.ts +98 -0
  498. package/src/responses/provider-opaque-metadata.ts +73 -0
  499. package/src/responses/reasoning-envelope.ts +9 -1
  500. package/src/responses/reasoning-replay-cache.ts +426 -0
  501. package/src/responses/schema.ts +7 -1
  502. package/src/responses/spill-store.ts +75 -10
  503. package/src/responses/state.ts +565 -27
  504. package/src/responses/thought-signature-replay.ts +347 -0
  505. package/src/responses/tool-search-compat.ts +301 -0
  506. package/src/responses/truncated-stop-reason.ts +60 -0
  507. package/src/router.ts +366 -30
  508. package/src/routing/analytics.ts +378 -0
  509. package/src/routing/capability.ts +244 -0
  510. package/src/routing/compatibility/assemble.ts +73 -0
  511. package/src/routing/compatibility/behavior.ts +278 -0
  512. package/src/routing/compatibility/catalog.ts +99 -0
  513. package/src/routing/compatibility/endpoint.ts +52 -0
  514. package/src/routing/compatibility/lab-evidence-provider.ts +130 -0
  515. package/src/routing/compatibility/policy.ts +181 -0
  516. package/src/routing/compatibility/provider-slot.ts +56 -0
  517. package/src/routing/compatibility/reader.ts +110 -0
  518. package/src/routing/compatibility/subject.ts +191 -0
  519. package/src/routing/compatibility/types.ts +64 -0
  520. package/src/routing/compatibility/version.ts +104 -0
  521. package/src/routing/cost.ts +77 -0
  522. package/src/routing/evaluator.ts +495 -0
  523. package/src/routing/health.ts +412 -0
  524. package/src/routing/history/cursor.ts +43 -0
  525. package/src/routing/history/indexer.ts +605 -0
  526. package/src/routing/history/schema.ts +72 -0
  527. package/src/routing/profile-namespace.ts +15 -0
  528. package/src/routing/profile.ts +547 -0
  529. package/src/routing/quota.ts +145 -0
  530. package/src/routing/request-evidence.ts +45 -0
  531. package/src/routing/trace.ts +776 -0
  532. package/src/server/adapter-resolve.ts +2 -29
  533. package/src/server/auth-cors.ts +267 -46
  534. package/src/server/background-lifecycle.ts +182 -0
  535. package/src/server/chat-completions.ts +130 -56
  536. package/src/server/chat-native-sse.ts +331 -0
  537. package/src/server/chat-native.ts +426 -0
  538. package/src/server/claude-messages.ts +159 -43
  539. package/src/server/direct-local-http.ts +347 -0
  540. package/src/server/effort-policy.ts +18 -0
  541. package/src/server/github-copilot-responses-repair.ts +338 -0
  542. package/src/server/gui-static.ts +39 -10
  543. package/src/server/images.ts +94 -12
  544. package/src/server/index.ts +865 -181
  545. package/src/server/lifecycle.ts +284 -13
  546. package/src/server/live.ts +136 -17
  547. package/src/server/local-management-read-client.ts +90 -0
  548. package/src/server/local-provider-reload-client.ts +137 -0
  549. package/src/server/management/agent-settings-routes.ts +398 -103
  550. package/src/server/management/api-key-usage.ts +31 -5
  551. package/src/server/management/body.ts +6 -0
  552. package/src/server/management/combo-routes.ts +62 -24
  553. package/src/server/management/config-routes.ts +464 -51
  554. package/src/server/management/context.ts +80 -2
  555. package/src/server/management/integration-routes.ts +498 -0
  556. package/src/server/management/lab-automation-routes.ts +206 -0
  557. package/src/server/management/lab-routes.ts +563 -0
  558. package/src/server/management/logs-usage-routes.ts +101 -32
  559. package/src/server/management/model-routes.ts +189 -131
  560. package/src/server/management/model-rows.ts +163 -0
  561. package/src/server/management/native-integration-routes.ts +769 -0
  562. package/src/server/management/oauth-account-routes.ts +80 -4
  563. package/src/server/management/provider-capability-config.ts +48 -0
  564. package/src/server/management/provider-routes.ts +764 -157
  565. package/src/server/management/request-history-routes.ts +191 -0
  566. package/src/server/management/routing-analytics-routes.ts +74 -0
  567. package/src/server/management/routing-profile-routes.ts +380 -0
  568. package/src/server/management/shared.ts +27 -11
  569. package/src/server/management/sidebar-routes.ts +47 -31
  570. package/src/server/management/storage-log-guard-routes.ts +186 -0
  571. package/src/server/management/sync-response.ts +69 -0
  572. package/src/server/management/system-restart.ts +288 -32
  573. package/src/server/management/system-routes.ts +77 -0
  574. package/src/server/management/usage-summary-cache.ts +9 -1
  575. package/src/server/management/vision-sidecar-options.ts +167 -0
  576. package/src/server/management/web-search-sidecar-options.ts +120 -0
  577. package/src/server/management-api.ts +115 -14
  578. package/src/server/management-auth.ts +220 -5
  579. package/src/server/passive-route-linker.ts +66 -0
  580. package/src/server/ports.ts +41 -1
  581. package/src/server/proxy-liveness.ts +132 -5
  582. package/src/server/readiness.ts +99 -0
  583. package/src/server/relay-eager.ts +82 -42
  584. package/src/server/relay.ts +236 -76
  585. package/src/server/request-decompress.ts +113 -6
  586. package/src/server/request-log.ts +235 -22
  587. package/src/server/responses/agent-task-recovery-cache.ts +143 -0
  588. package/src/server/responses/agent-task-recovery.ts +465 -0
  589. package/src/server/responses/collaboration.ts +204 -35
  590. package/src/server/responses/compact.ts +442 -55
  591. package/src/server/responses/core.ts +2872 -331
  592. package/src/server/responses/empty-completion-guard.ts +276 -0
  593. package/src/server/responses/encrypted-payload.ts +62 -39
  594. package/src/server/responses/fetch-helpers.ts +79 -4
  595. package/src/server/responses/input-admission.ts +185 -0
  596. package/src/server/responses/pacing-overload.ts +13 -0
  597. package/src/server/responses/policy-fallback.ts +178 -0
  598. package/src/server/responses/responses-field-backfill.ts +251 -0
  599. package/src/server/responses/terminal-guard.ts +26 -5
  600. package/src/server/responses/upstream-error.ts +5 -0
  601. package/src/server/responses/ws-upstream.ts +308 -0
  602. package/src/server/responses-custom-tool-repair.ts +282 -0
  603. package/src/server/responses-item-id-repair.ts +54 -6
  604. package/src/server/responses-json-events.ts +90 -0
  605. package/src/server/responses-model-rewrite.ts +29 -0
  606. package/src/server/responses-reasoning-summary-rewrite.ts +178 -0
  607. package/src/server/responses-snapshot-repair.ts +621 -0
  608. package/src/server/responses-terminal-repair.ts +342 -0
  609. package/src/server/responses-tool-search-repair.ts +267 -0
  610. package/src/server/responses-undeclared-tool-guard.ts +153 -0
  611. package/src/server/responses.ts +18 -2
  612. package/src/server/search.ts +78 -13
  613. package/src/server/sse-frame-buffer.ts +292 -0
  614. package/src/server/sse-payload-rewrite.ts +110 -22
  615. package/src/server/startup-action-control.ts +8 -1
  616. package/src/server/startup-health-cache.ts +19 -1
  617. package/src/server/system-env.ts +80 -9
  618. package/src/server/ws-bridge.ts +39 -38
  619. package/src/service-manager-probe.ts +892 -0
  620. package/src/service.ts +1111 -90
  621. package/src/sidecar/auth.ts +92 -0
  622. package/src/sidecar/candidates.ts +83 -0
  623. package/src/storage/cleanup.ts +2 -2
  624. package/src/storage/scanner.ts +1 -1
  625. package/src/storage/worker-lifecycle.ts +14 -14
  626. package/src/tray/windows-tray.ps1 +83 -9
  627. package/src/tray/windows.ts +43 -16
  628. package/src/types/accounts.ts +37 -0
  629. package/src/types/config.ts +845 -0
  630. package/src/types/provider.ts +545 -0
  631. package/src/types/request.ts +384 -0
  632. package/src/types/tools.ts +131 -0
  633. package/src/types/wire.ts +80 -0
  634. package/src/types.ts +104 -1236
  635. package/src/update/index.ts +32 -19
  636. package/src/update/job.ts +442 -67
  637. package/src/update/notify.ts +12 -6
  638. package/src/update/npm-cache-preflight.d.mts +47 -0
  639. package/src/update/npm-cache-preflight.mjs +201 -0
  640. package/src/update/transactional-install.d.mts +22 -0
  641. package/src/update/transactional-install.mjs +259 -0
  642. package/src/usage/cost.ts +0 -0
  643. package/src/usage/expected-prices.ts +268 -16
  644. package/src/usage/log.ts +606 -41
  645. package/src/usage/summary.ts +177 -9
  646. package/src/usage/user-cost-overlay-reconciler.ts +313 -0
  647. package/src/usage/user-cost-overlays.ts +314 -0
  648. package/src/vision/anthropic-describe.ts +10 -6
  649. package/src/vision/backends.ts +97 -0
  650. package/src/vision/describe.ts +9 -3
  651. package/src/vision/eligibility.ts +250 -0
  652. package/src/vision/index.ts +238 -24
  653. package/src/vision/reasoning.ts +55 -0
  654. package/src/vision/routed-describe.ts +175 -0
  655. package/src/vision/timeout-bounds.ts +9 -0
  656. package/src/web-search/anthropic-executor.ts +13 -7
  657. package/src/web-search/backends.ts +108 -0
  658. package/src/web-search/exa-executor.ts +88 -0
  659. package/src/web-search/executor.ts +11 -3
  660. package/src/web-search/gemini-executor.ts +141 -0
  661. package/src/web-search/index.ts +150 -15
  662. package/src/web-search/loop.ts +279 -50
  663. package/src/web-search/parse.ts +125 -30
  664. package/src/web-search/sources.ts +60 -0
  665. package/src/web-search/xai-executor.ts +219 -0
  666. package/gui/dist/assets/index-DTpMHS4F.js +0 -67
  667. package/gui/dist/assets/index-ZNVDE3C7.css +0 -1
  668. package/gui/dist/provider-icons/antigravity.svg +0 -1
  669. package/gui/dist/provider-icons/claude.svg +0 -1
  670. package/gui/dist/provider-icons/copilot.svg +0 -1
  671. package/gui/dist/provider-icons/cursor.svg +0 -2
  672. package/gui/dist/provider-icons/gemini.svg +0 -1
  673. package/gui/dist/provider-icons/grok-color.svg +0 -1
  674. package/gui/dist/provider-icons/kiro.svg +0 -14
  675. package/src/cli/internal-dispatch.ts +0 -20
@@ -1 +0,0 @@
1
- .provider-catalog{flex-direction:column;gap:10px;display:flex}.provider-catalog-tabs{border-bottom:1px solid var(--border);gap:4px;display:flex}.provider-catalog-tab{appearance:none;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:8px 12px}.provider-catalog-tab.active{color:var(--fg);border-bottom-color:var(--accent)}.provider-catalog-accounts-hint{padding:2px 2px 0}.provider-catalog-search{width:100%}.provider-catalog-rows{flex-direction:column;gap:6px;max-height:360px;display:flex;overflow-y:auto}.provider-catalog-badges{flex-shrink:0;align-items:center;gap:4px;display:flex}.provider-catalog-empty{padding:8px}.provider-catalog-account-row .sub{text-overflow:ellipsis;overflow:hidden}.provider-catalog-footer{align-items:center;gap:8px;display:flex}.bar-warn{background:linear-gradient(90deg, var(--green), var(--amber))}.quota-row--warn .quota-label{color:var(--amber)}.quota-val--warn{color:var(--amber);align-items:center;gap:3px;display:inline-flex}.quota-stacked,.quota-stacked--pending{flex-direction:column;gap:10px;min-height:64px;display:flex}.quota-stacked-row--skeleton .quota-stacked-bar-row{min-height:18px}.quota-stacked-row{flex-direction:column;gap:4px;display:flex}.quota-stacked-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.quota-stacked-limit{font-weight:600}.quota-stacked-reset{font-size:12px}.quota-stacked-bar-row{align-items:center;gap:8px;display:flex}.quota-stacked-bar{flex:1}.quota-stacked-used{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:12px}.quota-stacked-used--warn{color:var(--amber)}.quota-stacked-limit-reached{color:var(--amber);align-items:center;gap:4px;font-size:12px;display:inline-flex}.main-inner:has(.pws-shell-container){max-width:1440px}.pws-shell-container{width:100%;min-width:0;container:provider-workspace/inline-size}.pws-root{gap:var(--space-4);grid-template-columns:minmax(240px,280px) minmax(0,1fr);width:100%;max-width:100%;min-height:480px;display:grid}.pws-rail{gap:var(--space-3);border-right:1px solid var(--border);padding-right:var(--space-3);flex-direction:column;min-width:0;display:flex}.pws-search-row{align-items:center;gap:6px;display:flex}.pws-search-wrap{flex:1;min-width:0;position:relative}.pws-search-icon{color:var(--muted);pointer-events:none;position:absolute;top:50%;left:8px;transform:translateY(-50%)}.pws-search-wrap .pws-search-input{width:100%;padding-left:32px}.pws-filter-wrap{position:relative}.pws-filter-btn{appearance:none;border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;color:var(--muted);min-width:var(--control-md);min-height:var(--control-md);background:0 0;padding:6px;position:relative}.pws-filter-btn--active{color:var(--text);border-color:var(--text)}.pws-filter-dot{background:var(--accent);border-radius:50%;width:6px;height:6px;position:absolute;top:3px;right:3px}.pws-filter-menu{z-index:30;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);flex-direction:column;gap:4px;min-width:230px;padding:10px;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 8px 24px #0000001f}.pws-filter-title{margin-bottom:2px;font-weight:600}.pws-filter-head{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-top:8px;font-size:11px}.pws-filter-option{cursor:pointer;align-items:center;gap:8px;padding:3px 2px;display:flex}.pws-filter-label{flex:1}.pws-filter-count{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.pws-sort-grid{grid-template-columns:1fr 1fr;gap:4px;display:grid}.pws-sort-btn{appearance:none;border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;color:var(--muted);background:0 0;padding:4px 8px;font-size:12px}.pws-sort-btn--active{color:var(--text);border-color:var(--text)}.pws-filter-footer{justify-content:flex-end;margin-top:8px;display:flex}.pws-rail-list{flex-direction:column;gap:4px;min-height:0;display:flex;overflow-y:auto}.pws-rail-empty{padding:8px 4px;font-size:12px}.pws-rail-group{flex-direction:column;gap:2px;display:flex}.pws-rail-group-head{justify-content:space-between;align-items:center;gap:var(--space-2);font-size:var(--text-caption);font-weight:var(--weight-medium);color:var(--muted);padding:var(--space-2) var(--space-2) var(--space-1);display:flex}.pws-rail-group-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.pws-rail-group-count{font-variant-numeric:tabular-nums;flex-shrink:0}.providers-workspace-rail-row{grid-template-columns:var(--icon-lg) minmax(0, 1fr) max-content;align-items:center;gap:var(--space-2);width:100%;min-height:var(--pws-rail-row-height,46px);appearance:none;border-radius:var(--radius-sm);padding:var(--space-1-5) var(--space-2);cursor:pointer;text-align:left;color:inherit;font:inherit;transition:background var(--motion-fast), box-shadow var(--motion-fast);background:0 0;border:none;display:grid;overflow:hidden}.providers-workspace-rail-row:hover{background:var(--surface)}.providers-workspace-rail-row--selected{background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--border)}.pws-rail-row-wrap{position:relative}.pws-rail-row-remove{right:var(--space-2);appearance:none;border-radius:var(--radius-xs);background:var(--surface);width:24px;height:24px;color:var(--red);cursor:pointer;opacity:0;pointer-events:none;transition:opacity var(--motion-fast), background var(--motion-fast);border:none;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;top:50%;transform:translateY(-50%)}.pws-rail-row-wrap:hover .pws-rail-row-remove,.pws-rail-row-wrap:focus-within .pws-rail-row-remove{opacity:1;pointer-events:auto}.pws-rail-row-wrap:hover .providers-workspace-rail-row--selected~.pws-rail-row-remove{background:var(--raised)}.pws-rail-row-wrap:hover .providers-workspace-rail-trail{opacity:0}.providers-workspace-rail-trail{transition:opacity var(--motion-fast)}.pws-rail-row-remove:hover{background:var(--raised)}@media (hover:none){.pws-rail-row-remove{display:none}}.providers-workspace-rail-icon{width:var(--icon-lg);height:var(--icon-lg);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.providers-workspace-rail-icon img,.providers-workspace-rail-icon .provider-icon-mask{width:var(--icon-lg);height:var(--icon-lg);display:block}.provider-icon-mask{-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.providers-workspace-rail-copy{gap:var(--space-0-5);flex-direction:column;min-width:0;display:flex;overflow:hidden}.providers-workspace-rail-primary{align-items:center;gap:var(--space-1-5);min-width:0;display:flex}.providers-workspace-rail-name-label{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:var(--text-body);font-weight:var(--weight-medium);line-height:var(--leading-ui);overflow:hidden}.providers-workspace-rail-secondary{white-space:nowrap;text-overflow:ellipsis;min-width:0;min-height:1.15em;font-size:var(--text-caption);line-height:var(--leading-ui);color:var(--muted);overflow:hidden}.pwi-rail-badge{border:1px solid var(--border);color:var(--muted);border-radius:999px;padding:1px 6px;font-size:10px}.pwi-rail-badge--free{color:var(--green);border-color:var(--green)}.pwi-rail-badge--local{color:var(--amber);border-color:var(--amber)}.providers-workspace-rail-trail{flex-shrink:0;align-items:center;gap:4px;display:inline-flex}.pwi-default-star{color:var(--amber);display:inline-flex}.providers-workspace-rail-status{border-radius:50%;width:8px;height:8px;display:inline-block}.providers-workspace-rail-status--active{background:var(--green)}.providers-workspace-rail-status--warning{background:var(--amber)}.providers-workspace-rail-status--inactive{background:var(--muted)}.pws-main{min-width:0;max-width:100%;padding:0 var(--space-2);overflow:hidden}.pws-detail-placeholder{flex-direction:column;align-items:flex-start;gap:8px;padding:24px 8px;display:flex}.pws-empty-root{justify-content:center;padding:48px 16px;display:flex}.pws-empty-hero{text-align:center;flex-direction:column;align-items:center;gap:16px;max-width:640px;display:flex}.pws-empty-tiles{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;width:100%;display:grid}.pws-empty-tile{appearance:none;border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;color:inherit;font:inherit;background:0 0;flex-direction:column;align-items:center;gap:6px;padding:14px 12px;display:flex}.pws-empty-tile:hover{background:var(--surface)}.pws-empty-tile-label{font-weight:600}.pws-empty-tile-desc{font-size:12px}@container provider-workspace (width<=920px){.pws-root{gap:var(--space-3);grid-template-columns:240px minmax(0,1fr)}}@container provider-workspace (width<=680px){.pws-root{grid-template-columns:minmax(0,1fr);min-height:auto}.pws-rail{--pws-rail-row-height:var(--control-touch);border-right:none;border-bottom:1px solid var(--border);padding-right:0;padding-bottom:var(--space-3);max-height:320px;overflow-y:auto}.pws-main{padding:var(--space-2) 0 0}}@media (width<=768px){.pws-root{grid-template-columns:1fr;min-height:auto}.pws-rail{border-right:none;border-bottom:1px solid var(--border);max-height:320px;padding-bottom:12px;padding-right:0;overflow-y:auto}.pws-main{padding-top:8px}.pws-empty-tiles{grid-template-columns:1fr}}@media (width<=360px){.main-inner:has(.pws-shell-container)>.page-head{flex-wrap:wrap;align-items:flex-start}.main-inner:has(.pws-shell-container)>.page-head .row{flex-wrap:wrap;justify-content:flex-start;width:100%}}.pws-detail-back-link{color:var(--accent,#3b82f6);font:inherit;cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;margin-bottom:8px;padding:0;font-size:.82rem;display:inline-flex}.pws-detail-back-link:hover{text-decoration:underline}.pws-detail-back-chevron{width:12px;height:12px;transform:rotate(180deg)}.pws-detail-head-main{align-items:center;gap:10px;margin-bottom:12px;display:flex}.pws-detail-head-main .pws-detail-title{align-items:center;gap:8px;display:flex}.pws-detail-actions{align-items:center;gap:8px;margin-left:auto;display:flex}.pws-detail-toggle{align-items:center;gap:6px;display:flex}.pws-detail-toggle-label{color:var(--muted);font-size:.82rem}.btn-icon-only{padding:4px 6px}.pws-overview-layout{grid-template-columns:1fr 280px;align-items:start;gap:24px;display:grid}.pws-overview-main{flex-direction:column;gap:20px;min-width:0;display:flex}.pws-overview-sidebar{flex-direction:column;align-self:start;gap:20px;display:flex}@container provider-workspace (width<=920px){.pws-overview-layout{grid-template-columns:minmax(0,1fr)}}.pws-auth-summary{align-items:center;gap:8px;font-size:.88rem;display:flex}.pws-auth-summary--warn{border:1px solid color-mix(in srgb, var(--yellow,#eab308) 45%, transparent);background:color-mix(in srgb, var(--yellow,#eab308) 12%, transparent);color:inherit;border-radius:8px;align-items:flex-start;padding:10px 12px}.pws-auth-summary-body{flex-wrap:wrap;flex:1;align-items:center;gap:8px 10px;min-width:0;display:flex}.pws-auth-summary--warn svg{color:var(--yellow,#eab308);flex-shrink:0;margin-top:2px}.pws-auth-dot{background:var(--green,#22c55e);border-radius:50%;flex-shrink:0;width:8px;height:8px}.pws-notes-section{min-width:0}.pws-notes-display{text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;min-height:62px;padding:8px 10px;font-size:.85rem;transition:border-color .15s;display:block}.pws-notes-display:hover{border-color:var(--border)}.pws-notes-textarea{border:1px solid var(--accent,#3b82f6);width:100%;font:inherit;color:inherit;background:var(--bg);resize:vertical;border-radius:6px;min-height:62px;padding:8px 10px;font-size:.85rem}.pws-notes-textarea:focus{outline:none;box-shadow:0 0 0 2px #3b82f640}@media (width<=768px){.pws-overview-layout{grid-template-columns:1fr}.pws-overview-sidebar{position:static}}.pws-detail{flex-direction:column;gap:0;width:100%;min-width:0;max-width:960px;display:flex}.pws-detail-icon{flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.pws-detail-icon img,.pws-detail-icon .provider-icon-mask{width:28px;height:28px}.pws-detail-title-wrap{flex:1;min-width:0}.pws-detail-title{margin:0;font-size:1.15rem;font-weight:600;line-height:1.3}.pws-detail-tabs{scrollbar-width:thin;border-bottom:1px solid var(--border);gap:0;margin-top:8px;margin-bottom:16px;display:flex;overflow-x:auto}.pws-detail-tab{appearance:none;font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:8px 14px;font-size:.82rem;font-weight:500;transition:color .15s,border-color .15s}.pws-detail-tab:hover{color:var(--text)}.pws-detail-tab--active{color:var(--text);border-bottom-color:var(--text)}.pws-detail-tab:focus-visible{outline:2px solid var(--accent-ring);outline-offset:-2px}.pws-detail-panel:focus{outline:none}.pws-section{margin-bottom:16px}.pws-section-title{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:0 0 8px;font-size:.7rem;font-weight:600}.pws-section--side{margin-bottom:12px}.pws-kv{flex-direction:column;gap:0;margin:0;display:flex}.pws-kv-row{gap:12px;padding:5px 0;font-size:.84rem;line-height:1.4;display:flex}.pws-kv-row dt{width:130px;color:var(--muted);flex-shrink:0;font-weight:400}.pws-kv-row dd{word-break:break-word;flex:1;min-width:0;margin:0}.pws-kv-row dd code{font-size:.8rem}.pws-kv-mono{font-variant-numeric:tabular-nums}.pws-status-ok{color:var(--green,#22c55e);align-items:center;gap:4px;display:flex}.pws-status-warn{color:var(--amber,#f59e0b);align-items:center;gap:4px;display:flex}.pws-stats-note{margin-top:6px;font-size:.75rem}.pws-edit-settings-link,.pws-view-usage-link{margin-top:8px;font-size:.8rem}.pws-section-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:12px;display:flex}.pws-section-head .pws-section-title{margin-bottom:0}.pws-model-search{width:100%;margin-bottom:18px}.pws-custom-model-label{margin-bottom:6px;display:block}.pws-custom-model-row{gap:8px;margin-bottom:12px}.pws-custom-model-row .input{flex:1;min-width:0}.pws-model-list{flex-wrap:wrap;align-items:center;gap:12px;margin:4px 0 0;padding:0;list-style:none;display:flex}.pws-model-expand{color:inherit;font:inherit;cursor:pointer;text-align:left;background:0 0;border:0;margin:0;padding:0;display:inline}.pws-model-chip{border:1px solid color-mix(in oklab, var(--border) 85%, transparent);background:color-mix(in oklab, var(--surface,var(--panel)) 92%, var(--text) 4%);border-radius:8px;align-items:center;gap:10px;max-width:100%;padding:8px 10px 8px 12px;display:inline-flex}.pws-model-chip-main{min-width:0;color:inherit;font:inherit;cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;margin:0;padding:0;display:inline-flex}.pws-model-chip-main:hover .pws-model-id{color:var(--accent,var(--text))}.pws-model-chip-main:focus-visible{outline:2px solid var(--accent-ring);outline-offset:2px;border-radius:4px}.pws-model-id{font-family:var(--mono,ui-monospace, SFMono-Regular, Menlo, Consolas, monospace);color:var(--text);white-space:nowrap;font-size:.8rem;font-weight:600;line-height:1.35}.pws-model-flag{flex-shrink:0}.pws-model-chip-actions{flex-shrink:0;align-items:center;gap:2px;display:inline-flex}.pws-inline-error{align-items:center;gap:10px;margin-top:8px;display:flex}.pws-usage-block+.pws-usage-block{border-top:1px solid color-mix(in oklab, var(--border) 45%, transparent);margin-top:32px;padding-top:24px}.pws-usage-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 28px;margin-top:14px;display:grid}.pws-usage-metric{flex-direction:column;gap:8px;min-width:0;display:flex}.pws-usage-metric-value{font-variant-numeric:tabular-nums;letter-spacing:-.02em;color:var(--text);font-size:1.35rem;font-weight:650;line-height:1.15}.pws-usage-metric-label{font-size:.8rem;line-height:1.3}.pws-usage-meta{margin-top:16px}.pws-usage-metrics-3{grid-template-columns:repeat(3,minmax(0,1fr))}.pws-cost-disclaimer{margin-top:8px;font-size:.75rem}.pws-model-table{border-collapse:collapse;width:100%;font-size:.8rem}.pws-model-table th{text-align:left;border-bottom:1px solid var(--border);padding:6px 8px;font-weight:600}.pws-model-table td{border-bottom:1px solid var(--border-faint,#8080801a);padding:6px 8px}.pws-model-table .num{text-align:right;font-variant-numeric:tabular-nums}.pws-model-table .mono{font-family:var(--font-mono,monospace);font-size:.78rem}.pws-model-row:hover{background:var(--bg-subtle,#8080800d)}.pws-share-bar{background:var(--border-faint,#80808026);border-radius:3px;min-width:60px;height:6px}.pws-share-bar-fill{background:var(--green,#22c55e);border-radius:3px;height:100%}.pws-model-detail{background:var(--bg-subtle,#8080800d)}.pws-model-detail td{padding:8px 8px 8px 24px}.pws-model-detail-grid{grid-template-columns:repeat(2,1fr);gap:8px 24px;font-size:.8rem;display:grid}@media (width<=600px){.pws-usage-metrics-3{grid-template-columns:1fr}}@media (width<=640px){.pws-usage-metrics{grid-template-columns:1fr;gap:16px}}.pwi-auth-section{flex-direction:column;gap:12px;display:flex}.pwi-auth-body{flex-direction:column;gap:10px;display:flex}.pwi-auth-status-row{align-items:center;gap:8px;display:flex}.pwi-auth-dot{border-radius:var(--radius-round);background:var(--muted);flex-shrink:0;width:8px;height:8px}.pwi-auth-dot--ok{background:var(--green)}.pwi-auth-dot--off{background:var(--muted)}.pwi-auth-dot--warn{background:var(--amber)}.pwi-auth-status-text{font-size:var(--text-control);color:var(--text)}.pwi-auth-state{min-height:36px;font-size:var(--text-label);color:var(--muted);background:var(--raised);border-radius:var(--radius-xs);align-items:center;gap:8px;padding:8px 10px;display:flex}.pwi-auth-state--error{color:var(--red);background:var(--red-soft);justify-content:space-between}.pwi-auth-state--empty{justify-content:center}.pwi-auth-actions{flex-wrap:wrap;gap:8px;display:flex}.pwi-auth-wait{flex-direction:column;gap:6px;display:flex}.pwi-auth-wait-title{font-size:var(--text-control);color:var(--text);font-weight:600}.pwi-auth-wait-copy{font-size:var(--text-label);color:var(--muted);line-height:1.45}.pwi-device-code-wrap{border:1px solid var(--border);background:var(--surface);border-radius:10px;flex-wrap:wrap;align-items:center;gap:10px;margin:6px 0;padding:12px;display:flex}.pwi-device-code{letter-spacing:.14em;color:var(--text);-webkit-user-select:all;user-select:all;font-size:20px;font-weight:800}.pwi-auth-row-copy{flex-direction:column;align-items:flex-start;gap:2px;min-width:0;display:flex}.pwi-auth-row-secondary{text-overflow:ellipsis;max-width:100%;font-size:var(--text-label);color:var(--muted);overflow:hidden}.pwi-auth-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.pwi-auth-row{border-radius:var(--radius-xs);transition:background var(--motion-fast);align-items:center;gap:8px;padding:6px 8px;display:flex}.pwi-auth-row:hover{background:var(--hover)}.pwi-auth-row--active{background:var(--accent-soft)}.pwi-auth-acct{border-radius:var(--radius-xs);flex-direction:column;gap:2px;display:flex}.pwi-auth-acct--active{background:var(--accent-soft)}.pwi-auth-acct--active .pwi-auth-row--active{background:0 0}.pwi-auth-acct-quota{padding:0 8px 8px 26px}.pwi-auth-acct-quota-stale{margin:4px 0 0;font-size:.85em}.pwi-auth-row-main{appearance:none;min-width:0;color:inherit;text-align:left;cursor:pointer;border-radius:var(--radius-2xs);background:0 0;border:0;flex:1;align-items:center;gap:8px;padding:2px;display:flex}.pwi-auth-row-main:disabled{cursor:default;opacity:.72}.pwi-auth-row-main:focus-visible,.pwi-auth-row-remove:focus-visible{outline:2px solid var(--accent-ring);outline-offset:2px}.pwi-auth-row-label{font-size:var(--text-control);color:var(--text);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pwi-auth-row-remove{cursor:pointer;color:var(--muted);border-radius:var(--radius-2xs);transition:color var(--motion-fast), background var(--motion-fast);background:0 0;border:none;padding:2px}.pwi-auth-row-remove:hover{color:var(--red);background:var(--red-soft)}.pwi-auth-add-key{font-size:var(--text-label);color:var(--accent);cursor:pointer;text-align:left;background:0 0;border:none;padding:4px 0}.pwi-auth-add-key:hover{text-decoration:underline}@keyframes pwi-spin{to{transform:rotate(360deg)}}.pwi-spin-inline{border:2px solid var(--border);border-top-color:var(--accent);border-radius:var(--radius-round);width:14px;height:14px;animation:.7s linear infinite pwi-spin;display:inline-block}.pwi-settings-form{flex-direction:column;gap:14px;display:flex;position:relative}.pwi-settings-field{flex-direction:column;gap:4px;display:flex}.pwi-settings-label{font-size:var(--text-label);color:var(--muted);letter-spacing:.01em;font-weight:500}.pwi-settings-textarea{width:100%;min-height:60px;font:inherit;font-size:var(--text-control);color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-xs);resize:vertical;transition:border-color var(--motion-fast);padding:8px 10px}.pwi-settings-textarea:focus{border-color:var(--accent-ring);outline:none}.pwi-settings-hint{font-size:var(--text-caption);color:var(--muted);line-height:1.4}.pwi-settings-sticky-bar{z-index:2;background:var(--bg);border-top:1px solid var(--border-soft);align-items:center;gap:8px;padding:10px 0;display:flex;position:sticky;bottom:0}.pwi-settings-sticky-bar-actions{gap:8px;margin-left:auto;display:flex}.pwi-settings-msg{font-size:var(--text-label);border-radius:var(--radius-xs);padding:6px 10px;line-height:1.4}.pwi-settings-msg--ok{background:var(--green-soft);color:var(--green)}.pwi-settings-msg--err{background:var(--red-soft);color:var(--red)}.pwi-settings-dirty{font-size:var(--text-caption);color:var(--amber)}.pwi-json-panel{flex-direction:column;gap:8px;display:flex}.pwi-json-panel-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.pwi-json-panel-title{font-size:var(--text-control);color:var(--text);font-weight:600}.pwi-json-panel-actions{gap:6px;display:flex}.pwi-json-panel-desc{font-size:var(--text-caption);color:var(--muted);line-height:1.4}.pwi-json-textarea{width:100%;min-height:180px;font-family:ui-monospace,SF Mono,Cascadia Code,Segoe UI Mono,Menlo,monospace;font-size:var(--text-label);tab-size:2;color:var(--text);background:var(--raised);border:1px solid var(--border);border-radius:var(--radius-xs);resize:vertical;transition:border-color var(--motion-fast);padding:10px 12px;line-height:1.5}.pwi-json-textarea:focus{border-color:var(--accent-ring);outline:none}.dialog-backdrop{z-index:900;background:#00000073;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dialog{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:90%;max-width:420px;box-shadow:var(--shadow);flex-direction:column;gap:16px;padding:24px;display:flex}.dialog-actions{justify-content:flex-end;gap:8px;display:flex}.login-url-block{flex-direction:column;gap:6px;margin:6px 0;display:flex}.login-url-block-text{overflow-wrap:anywhere;border:1px solid var(--border);border-radius:var(--radius-xs);background:var(--surface);max-width:100%;font-size:var(--text-label);color:var(--text);-webkit-user-select:all;user-select:all;padding:8px 10px;display:block}.login-url-block-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.login-url-block-open{font-size:var(--text-label);color:var(--accent);cursor:pointer;text-decoration:underline}.pws-dashboard{flex-direction:column;gap:14px;max-width:100%;padding:4px 0;display:flex}.pws-dashboard-header{flex-direction:row;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.pws-dashboard-header-text{flex-direction:column;gap:2px;min-width:0;display:flex}.pws-dashboard-title{margin:0;font-size:1.1rem;font-weight:600}.pws-dashboard-subtitle{margin:0;font-size:.82rem}.pws-dashboard-summary{gap:10px;display:flex}.pws-dashboard-card{border:1px solid var(--border);background:var(--bg-secondary,var(--bg));border-radius:8px;flex-direction:column;align-items:center;gap:2px;min-width:80px;padding:10px 20px;display:flex}.pws-dashboard-card-count{font-size:1.25rem;font-weight:700;line-height:1}.pws-dashboard-card--ok .pws-dashboard-card-count{color:var(--green,#22c55e)}.pws-dashboard-card--warn .pws-dashboard-card-count{color:var(--yellow,#eab308)}.pws-dashboard-card--muted .pws-dashboard-card-count{color:var(--fg-muted,#888)}.pws-dashboard-card-label{color:var(--fg-muted,#888);letter-spacing:.02em;font-size:.7rem}.pws-dashboard-columns{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:start;gap:20px;display:grid}.pws-dashboard-section{flex-direction:column;gap:4px;min-width:0;display:flex}.pws-dashboard-section-title{text-transform:uppercase;letter-spacing:.04em;color:var(--fg-muted,#888);margin:0;padding-bottom:2px;font-size:.68rem;font-weight:600}.pws-dashboard-attention .pws-dashboard-section-title{color:var(--yellow,#eab308);text-transform:none;letter-spacing:0;align-items:center;gap:6px;font-size:.82rem;display:inline-flex}.pws-dashboard-row--attention{border-color:color-mix(in srgb, var(--yellow,#eab308) 40%, var(--border));background:color-mix(in srgb, var(--yellow,#eab308) 8%, var(--bg-secondary,var(--bg)))}.pws-dashboard-rows{flex-direction:column;gap:0;display:flex}.pws-dashboard-row{cursor:pointer;text-align:left;color:inherit;font:inherit;background:0 0;border:none;border-radius:6px;grid-template-columns:22px 1fr auto auto;align-items:center;gap:8px;width:100%;padding:6px;transition:background .12s;display:grid}.pws-dashboard-row:hover{background:var(--bg-hover,#80808014)}.pws-dashboard-row-icon{justify-content:center;align-items:center;width:20px;height:20px;display:flex}.pws-dashboard-row-icon img,.pws-dashboard-row-icon .provider-icon-mask{width:18px;height:18px}.pws-dashboard-row-info{flex-direction:column;gap:1px;min-width:0;display:flex}.pws-dashboard-row-name{white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;font-weight:500;overflow:hidden}.pws-dashboard-row-meta{font-size:.72rem}.pws-dashboard-row-count{white-space:nowrap;font-size:.8rem}.pws-dashboard-row-chevron{width:12px;height:12px;color:var(--fg-muted,#888);flex-shrink:0}.pws-dashboard-row-bars{grid-column:1/-1;min-height:64px;padding-top:1px;padding-left:30px}.pws-dashboard-section--rate-limits,.pws-dashboard-section--recent{min-height:180px}.pws-dashboard-empty{min-height:3rem;margin:8px 0 0}.pws-dashboard-row--skeleton{pointer-events:none;cursor:default}.pws-skel{border-radius:var(--radius-2xs,4px);background:linear-gradient(90deg, var(--raised,#eee) 0%, var(--surface,#f7f7f7) 50%, var(--raised,#eee) 100%);background-size:200% 100%;animation:1.2s ease-in-out infinite codex-auth-skeleton-shimmer;display:block}.pws-dashboard-row-icon.pws-skel{border-radius:6px;width:22px;height:22px}.pws-skel--name{width:7rem;height:.85rem}.pws-skel--meta{width:5rem;height:.7rem;margin-top:4px}.pws-skel--count{width:4rem;height:.75rem;margin-left:auto}.providers-workspace--boot{min-height:600px}.providers-workspace-rail--boot{opacity:.35;min-height:600px}@container provider-workspace (width<=920px){.pws-dashboard-columns{grid-template-columns:1fr;gap:14px}}@media (width<=900px){.pws-dashboard-columns{grid-template-columns:1fr;gap:14px}}@media (width<=600px){.pws-dashboard-summary{flex-direction:column}.pws-dashboard-card{flex-direction:row;justify-content:space-between;min-width:0}}.combos-workspace-root{grid-template-columns:minmax(340px,28vw) 1fr;align-items:stretch;width:100%;height:100%;min-height:100%;display:grid;overflow:hidden}.combos-workspace-shell{flex-direction:column;width:100%;height:100%;min-height:0;display:flex;overflow:hidden}.combos-workspace-shell-banner{flex-shrink:0;padding:10px 16px 0}.combos-workspace-shell-body{flex-direction:column;flex:auto;min-height:0;display:flex;overflow:hidden}.combos-workspace-rail{border-right:1px solid var(--border);background:var(--rail);flex-direction:column;height:100%;min-height:0;display:flex;position:sticky;top:0;overflow-y:auto}.combos-workspace-rail-header{border-bottom:1px solid var(--border-soft);flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;padding:14px 16px 12px;display:flex}.combos-workspace-rail-title{color:var(--text);font-size:18px;font-weight:600}.combos-workspace-rail-count{font-family:var(--mono);color:var(--faint);font-size:11px}.combos-workspace-rail-list{flex-direction:column;flex:auto;display:flex;overflow-y:auto}.combos-workspace-rail-group+.combos-workspace-rail-group{margin-top:10px}.combos-workspace-rail-group-head{color:var(--muted);align-items:center;gap:7px;padding:8px 16px 6px;font-size:11.5px;font-weight:600;display:flex}.combos-workspace-rail-row{border:none;border-bottom:1px solid var(--border-soft);cursor:pointer;min-height:40px;font:inherit;color:var(--text);text-align:left;background:0 0;grid-template-columns:26px minmax(0,1fr) 3.5rem 14px;align-items:center;column-gap:8px;width:100%;padding:11px 12px 11px 14px;font-size:13px;transition:background .12s;display:grid}.combos-workspace-rail-row:hover{background:var(--hover)}.combos-workspace-rail-row.combos-workspace-rail-row--selected{background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--border)}.combos-workspace-rail-row:focus-visible{outline:1px solid var(--accent);outline-offset:-1px}.combos-workspace-rail-icon{width:26px;height:26px;color:var(--text);flex-shrink:0;justify-content:center;align-items:center;display:flex}.combos-workspace-rail-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-family:var(--mono);font-size:12.5px;overflow:hidden}.combos-workspace-rail-meta{font-family:var(--mono);color:var(--faint);text-align:right;font-size:11px}.combos-workspace-rail-chevron{width:14px;height:14px;color:var(--faint)}.combos-workspace-main{background:var(--bg);flex-direction:column;min-width:0;height:100%;min-height:0;display:flex;overflow:hidden}.combos-workspace-overview,.combos-workspace-detail{flex:auto;min-height:0;padding:20px 24px 32px;overflow-y:auto}.combos-workspace-overview-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:16px;display:flex}.combos-workspace-overview-title{margin:0;font-size:20px;font-weight:600}.combos-workspace-detail-head{border-bottom:1px solid var(--border-soft);flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;padding-bottom:12px;display:flex}.combos-workspace-detail-title{font-size:18px;font-weight:600;font-family:var(--mono);min-width:0;margin:0}.combos-workspace-detail-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-left:auto;display:flex}.combos-workspace-tabs{border-bottom:1px solid var(--border-soft);gap:4px;margin-bottom:16px;display:flex}.combos-workspace-tab{appearance:none;font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:8px 12px;font-size:13px;font-weight:500}.combos-workspace-tab:hover{color:var(--text)}.combos-workspace-tab.combos-workspace-tab--active{color:var(--text);border-bottom-color:var(--accent)}.combos-workspace-tab-content{flex-direction:column;gap:16px;max-width:720px;display:flex}.cwi-search-row{border-bottom:1px solid var(--border-soft);flex-shrink:0;align-items:center;gap:8px;padding:10px 14px 12px;display:flex}.cwi-search-wrap{flex:1;min-width:0;position:relative}.cwi-search-wrap .cwi-search-icon{width:14px;height:14px;color:var(--faint);pointer-events:none;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.cwi-search-input{width:100%;padding-left:32px!important}.cwi-count-strip{flex-wrap:wrap;gap:10px;margin-bottom:18px;display:flex}.cwi-count-pill{border:1px solid var(--border-soft);border-radius:var(--radius);background:var(--raised);align-items:baseline;gap:6px;padding:8px 12px;display:inline-flex}.cwi-count-pill strong{font-family:var(--mono);font-size:16px}.cwi-count-pill span{color:var(--muted);font-size:12px}.cwi-target-list{flex-direction:column;gap:8px;display:flex}.cwi-target-row{grid-template-columns:28px auto minmax(0,1fr) minmax(0,1.2fr) 4.5rem auto;align-items:center;gap:8px;display:grid}.cwi-target-row--failover{grid-template-columns:28px auto minmax(0,1fr) minmax(0,1.2fr) auto}.cwi-target-row--dragging{opacity:.55}.cwi-target-row--drop{box-shadow:inset 0 0 0 1px var(--accent);border-radius:var(--radius)}.cwi-target-grip{border-radius:var(--radius);width:28px;height:32px;color:var(--faint);cursor:grab;touch-action:none;background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.cwi-target-grip:hover{color:var(--muted);background:var(--hover)}.cwi-target-grip:active{cursor:grabbing}.cwi-target-reorder{flex-direction:column;flex-shrink:0;gap:0;display:inline-flex}.cwi-target-reorder .btn{min-width:0;padding:2px 4px;line-height:1}.cwi-target-actions{flex-shrink:0;gap:2px;display:flex}.cwi-strategy-seg{border-radius:var(--radius-pill);background:var(--surface-soft,var(--raised));gap:2px;padding:3px;display:inline-flex}.cwi-strategy-seg .btn{border-radius:var(--radius-pill);border:none;min-width:88px;padding:5px 12px}.cwi-strategy-seg .btn-ghost{color:var(--muted);background:0 0}.cwi-copy-chip{font-family:var(--mono);cursor:pointer;font-size:12px}.cwi-form-grid{flex-direction:column;gap:12px;display:flex}.cwi-field label{color:var(--muted);margin-bottom:4px;font-size:12px;font-weight:600;display:block}.cwi-field .input,.cwi-field select.input{width:100%}.cwi-attention-list{flex-direction:column;gap:0;display:flex}.cwi-attention-row{border:none;border-bottom:1px solid var(--border-soft);width:100%;font:inherit;color:var(--text);text-align:left;cursor:pointer;background:0 0;align-items:center;gap:10px;padding:10px 0;display:flex}.cwi-attention-row:hover{color:var(--accent)}.cwi-modal-form{flex-direction:column;gap:14px;max-height:min(70vh,560px);padding-right:2px;display:flex;overflow-y:auto}.cwi-modal-actions{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}@media (width<=939px){.combos-workspace-root{grid-template-rows:minmax(220px,38vh) 1fr;grid-template-columns:1fr}.combos-workspace-rail{border-right:none;border-bottom:1px solid var(--border);position:relative}.cwi-target-row,.cwi-target-row--failover{grid-template-columns:28px auto 1fr auto}.cwi-target-row>.input:nth-child(3),.cwi-target-row>.input:nth-child(4){grid-column:3/-1}}.pwi-dot{background:var(--muted);border-radius:50%;flex-shrink:0;width:7px;height:7px;display:inline-block}.pwi-back-overview{white-space:nowrap;flex:none;gap:4px;margin-right:2px}.pwi-section{background:0 0;border:none;border-radius:0;min-width:0;padding:0}.pwi-section-title{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin:0 0 4px;font-size:12px;font-weight:650}.pwi-empty-right-icon{color:var(--faint)}.pwi-empty-right-sub{color:var(--muted);max-width:44ch;margin:0;font-size:13.5px;line-height:1.5}.pwi-json-unsaved-card,.pwi-remove-confirm-card{width:min(420px,92vw);max-width:420px;padding:20px 22px 16px}.pwi-json-unsaved-title,.pwi-remove-confirm-title{color:var(--text);margin:0 0 8px;font-size:16px;font-weight:650}.pwi-json-unsaved-desc,.pwi-remove-confirm-desc{margin:0 0 18px;font-size:13.5px;line-height:1.45}.pwi-json-unsaved-actions,.pwi-remove-confirm-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.pwi-remove-confirm-danger{background:var(--red)!important;color:#fff!important;border-color:#0000!important}.pwi-remove-confirm-danger:hover:not(:disabled){filter:brightness(1.08)}.main-inner:has(.models-workspace-shell){max-width:1200px}.models-workspace-shell{width:100%;min-width:0;container:models-workspace/inline-size}.models-workspace-root{gap:var(--space-4);grid-template-columns:minmax(240px,280px) minmax(0,1fr);width:100%;max-width:100%;min-height:480px;display:grid}.models-workspace-rail{gap:var(--space-3);border-right:1px solid var(--border);padding-right:var(--space-3);flex-direction:column;min-width:0;display:flex}.models-workspace-rail-header{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.models-workspace-rail-title{font-size:var(--text-body);font-weight:var(--weight-semibold);color:var(--text)}.models-workspace-rail-count{font-family:var(--mono);color:var(--faint);font-variant-numeric:tabular-nums;font-size:11px}.models-workspace-rail-list{flex-direction:column;gap:2px;min-height:0;max-height:640px;display:flex;overflow-y:auto}.models-workspace-rail-row{gap:var(--space-0-5);appearance:none;border-radius:var(--radius-sm);width:100%;min-height:46px;padding:var(--space-1-5) var(--space-2);cursor:pointer;text-align:left;color:inherit;font:inherit;background:0 0;border:none;flex-direction:column;display:flex;overflow:hidden}.models-workspace-rail-row:hover{background:var(--surface-2)}.models-workspace-rail-row--selected{background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--border)}.models-workspace-rail-name{font-size:var(--text-body);font-weight:var(--weight-medium);color:var(--text);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.models-workspace-rail-meta{font-size:var(--text-caption);color:var(--faint);white-space:nowrap;text-overflow:ellipsis;font-variant-numeric:tabular-nums;overflow:hidden}.models-workspace-main{gap:var(--space-3);flex-direction:column;min-width:0;display:flex}.models-control-top-row{align-items:center;column-gap:clamp(var(--space-3), 2vw, var(--space-6));row-gap:var(--space-2);margin-bottom:var(--space-3);grid-template-columns:minmax(0,1fr) auto;min-width:0;display:grid}.models-shadow-row{align-items:center;gap:var(--space-2);flex-wrap:nowrap;min-width:0;display:flex}.models-shadow-label,.models-shadow-warning{white-space:nowrap}.models-shadow-model-slot{flex:0 auto;min-width:9.5rem;max-width:12.5rem}.models-shadow-model-slot .custom-select{width:auto;min-width:100%;max-width:100%}.models-shadow-model-slot .select-trigger{justify-content:space-between;width:auto;min-width:100%;max-width:100%}.models-shadow-model-slot .select-trigger>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.models-v2-mode-row{align-items:center;gap:var(--space-2);flex-wrap:nowrap;flex:none;justify-self:end;min-width:0;min-height:28px;display:flex}.models-v2-detail-row{gap:var(--space-2);margin-bottom:var(--space-2);flex-wrap:wrap;align-items:center}.models-provider-head{row-gap:var(--space-2);column-gap:var(--space-2);flex-wrap:wrap;align-items:center;min-width:0}.models-provider-head>span.text-body,.models-provider-toggle>span.text-body{overflow-wrap:anywhere;min-width:0}.models-provider-toggle{min-width:0}.models-provider-actions{justify-content:flex-end;align-items:center;gap:var(--space-2);flex-wrap:wrap;min-width:0;max-width:100%;margin-left:auto}.models-provider-list{gap:var(--space-2);flex-direction:column;display:flex}.models-provider-card{margin-bottom:0;overflow:hidden}.models-provider-body{padding:var(--space-3) var(--space-4)}.models-provider-body>.input{width:100%;margin-bottom:var(--space-2)}.models-provider-hint{margin:0 0 var(--space-2);max-width:var(--prose-measure)}.models-chip{padding:var(--space-0-5) var(--space-2);border:1px solid var(--border);border-radius:var(--radius-pill);display:inline-block}.models-chip--tip{margin-bottom:var(--space-1)}.models-model-row{padding:var(--space-2) 0}.models-show-more{margin-top:var(--space-2)}.models-segmented{border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface);gap:2px;padding:2px;display:inline-flex}.models-segmented .btn{border-radius:var(--radius-pill);min-width:0;min-height:0;font-size:var(--text-label);line-height:inherit;border:none;padding:4px 12px}.models-cap-row{gap:var(--space-2);margin-bottom:var(--space-3);flex-wrap:wrap}.models-custom-summary{gap:var(--space-2);margin-bottom:var(--space-2)}.models-order-hint{align-items:flex-start;gap:var(--space-2);margin-bottom:var(--space-4);max-width:var(--prose-measure)}.models-order-hint>svg{margin-top:var(--space-0-5);flex-shrink:0}.models-collapse-controls{gap:var(--space-2);margin:0 0 var(--space-2)}.models-combos-card{margin-bottom:var(--space-3)}.models-combos-empty-head{padding:var(--space-3);justify-content:space-between;gap:var(--space-2)}.models-combos-add{padding:var(--space-2) var(--space-3) var(--space-3) calc(var(--space-8) + var(--space-0-5));gap:var(--space-2);text-decoration:none}.models-help-link{margin-top:var(--space-3)}.models-field{gap:var(--space-2);flex-direction:column;display:flex}.models-field-row{gap:var(--space-2)}.models-modality-option{gap:var(--space-2);cursor:pointer}.row.models-model-row,.row.models-cap-row,.row.models-custom-summary,.row.models-order-hint,.row.models-collapse-controls,.row.models-combos-empty-head,.row.models-combos-add,.row.models-field-row,.row.models-modality-option{gap:var(--space-2)}@media (width<=1160px){.models-control-top-row{grid-template-columns:1fr}.models-shadow-row{flex-wrap:wrap;flex:100%}.models-shadow-model-slot{flex:12rem;width:auto;min-width:min(100%,10rem);max-width:100%}.models-v2-mode-row{flex-wrap:wrap;justify-self:start}}@container models-workspace (width<=720px){.models-workspace-root{grid-template-columns:1fr}.models-workspace-rail{border-right:none;border-bottom:1px solid var(--border);padding-right:0;padding-bottom:var(--space-3)}.models-workspace-rail-list{max-height:240px}.models-provider-actions{justify-content:flex-start;width:100%;margin-left:0}}@media (width<=768px){.models-workspace-root{grid-template-columns:1fr}.models-workspace-rail{border-right:none;border-bottom:1px solid var(--border);padding-right:0;padding-bottom:var(--space-3)}.models-workspace-rail-list{max-height:240px}.models-provider-actions{justify-content:flex-start;width:100%;margin-left:0}}.main-inner:has(.dashboard-workspace-shell){max-width:1200px}.dashboard-workspace-shell{width:100%;min-width:0}.dashboard-workspace-main{gap:var(--space-4);flex-direction:column;min-width:0;display:flex}.dashboard-workspace-main .tbl-wrap{max-height:520px;padding:0 var(--space-2) var(--space-2);overflow-y:auto}.dashboard-workspace-main .tbl thead th{z-index:1;background:var(--surface);position:sticky;top:0}.dash-overview-stack{gap:var(--space-4);flex-direction:column;display:flex}.dash-overview-tools{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(min(100%,21rem),1fr));align-items:stretch;display:grid}.dash-overview-tools>.panel{box-sizing:border-box;min-width:0;height:100%}.dash-sidecar-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(min(100%,21rem),1fr));align-items:start;display:grid}.dash-sidecar-card{flex-direction:column;gap:6px;min-width:0;display:flex}.dash-sidecar-card__row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;min-width:0;display:flex}.dash-sidecar-card__row .font-semibold{min-width:0}.dash-sidecar-card__row .custom-select{flex:0 auto;width:auto;min-width:clamp(10rem,24vw,11.5rem);max-width:min(100%,14rem)}.dash-sidecar-card__row .select-trigger{justify-content:space-between;width:100%;max-width:100%}.dash-sidecar-card__row .select-trigger>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.dash-sidecar-card .setting-hint{margin-top:0}.dash-model-acc{gap:var(--space-2);flex-direction:column;display:flex}.dash-model-group{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);overflow:hidden}.dash-model-head{appearance:none;cursor:pointer;width:100%;font:inherit;color:var(--text);text-align:left;transition:background var(--motion-fast);background:0 0;border:none;align-items:center;gap:8px;padding:10px 14px;display:flex}.dash-model-head:hover{background:var(--hover)}.dash-model-head .count{font-family:var(--font-code);font-weight:var(--weight-medium);color:var(--faint);font-size:var(--text-label)}.dash-model-chips{border-top:1px solid var(--border-soft);flex-wrap:wrap;gap:6px;padding:12px 14px 14px;display:flex}.dash-model-chip{font-family:var(--font-code);font-size:var(--text-label);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--raised);color:var(--text);white-space:nowrap;padding:3px 8px}.main-inner:has(.storage-workspace-root){max-width:1200px}.storage-workspace-root{gap:var(--space-4);grid-template-columns:minmax(0,1fr);align-items:start;width:100%;max-width:100%;display:grid}.storage-workspace-rail{gap:var(--space-2);border-bottom:1px solid var(--border);padding-bottom:var(--space-3);flex-direction:column;min-width:0;min-height:0;display:flex}.storage-workspace-rail-header{flex:none;justify-content:space-between;align-items:baseline;gap:8px;display:flex}.storage-workspace-rail-title{font-size:var(--text-body);font-weight:var(--weight-semibold);color:var(--text)}.storage-workspace-rail-count{font-family:var(--mono);color:var(--faint);font-variant-numeric:tabular-nums;font-size:11px}.storage-workspace-rail-list{overscroll-behavior:auto;scrollbar-gutter:stable;flex-direction:column;gap:2px;min-height:0;max-height:min(14rem,40vh);padding-right:10px;display:flex;overflow-y:auto}.storage-workspace-rail-row{justify-content:center;gap:var(--space-0-5);appearance:none;border-radius:var(--radius-sm);width:100%;height:3.25rem;min-height:3.25rem;padding:var(--space-1) var(--space-2);cursor:pointer;text-align:left;color:inherit;font:inherit;transition:background var(--motion-fast), box-shadow var(--motion-fast);background:0 0;border:none;flex-direction:column;flex:none;display:flex;overflow:hidden}.storage-workspace-rail-row:hover{background:var(--surface)}.storage-workspace-rail-row--selected{background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--border)}.storage-workspace-rail-row:focus-visible{outline:2px solid var(--accent-ring);outline-offset:-2px}.storage-workspace-rail-primary{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.storage-workspace-rail-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:var(--text-body);font-weight:var(--weight-medium);line-height:var(--leading-ui);overflow:hidden}.storage-workspace-rail-size{font-family:var(--mono);color:var(--muted);font-variant-numeric:tabular-nums;flex-shrink:0;padding-right:2px;font-size:11px}.storage-workspace-rail-meta{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:var(--text-caption);line-height:var(--leading-ui);color:var(--muted);overflow:hidden}.storage-workspace-rail-empty{color:var(--muted);padding:8px 4px;font-size:12px}.storage-workspace-main{flex-direction:column;min-width:0;max-width:100%;min-height:0;padding:0;display:flex}.stw-overview,.stw-detail-body{min-height:0;overflow-x:hidden}.stw-detail-body{padding-top:14px}.storage-workspace-main .stw-summary{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(min(100%,11rem),1fr));margin-bottom:16px;display:grid}.stw-summary-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);flex-direction:column;gap:6px;min-width:0;padding:12px 14px;display:flex}.stw-summary-label{font-size:var(--text-label);font-weight:var(--weight-medium);color:var(--muted)}.stw-summary-value{font-size:var(--text-body);font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums;color:var(--text);text-overflow:ellipsis;line-height:1.3;overflow:hidden}.stw-summary-value.mono,.stw-home-path{font-family:var(--mono);font-size:12px;font-weight:var(--weight-medium);text-overflow:ellipsis;white-space:nowrap;word-break:normal;overflow:hidden}.stw-section{margin-bottom:16px}.stw-section-title{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:0 0 8px;font-size:.7rem;font-weight:600}.stw-hint{color:var(--muted);padding:4px 0 12px;font-size:13px}.stw-file-row{align-items:center;gap:var(--space-3);border-bottom:1px solid var(--border-soft,var(--border));padding:6px 0;display:flex}.stw-file-row:last-child{border-bottom:none}.stw-file-path{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-family:var(--mono);color:var(--text);flex:auto;font-size:12px;overflow:hidden}.stw-file-size{font-family:var(--mono);color:var(--muted);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:12px}.stw-file-bucket{color:var(--faint);flex-shrink:0;font-size:11px}.stw-detail{flex-direction:column;max-width:760px;height:100%;min-height:0;display:flex}.stw-detail-toolbar{border-bottom:1px solid var(--border);background:0 0;flex:none;align-items:center;gap:8px;margin-bottom:0;padding:0 0 10px;display:flex}.stw-detail-back{appearance:none;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--raised);color:var(--text);font:inherit;font-size:var(--text-control);font-weight:var(--weight-medium);line-height:var(--leading-ui);cursor:pointer;transition:background var(--motion-fast), border-color var(--motion-fast), color var(--motion-fast);align-items:center;gap:6px;margin:0;padding:6px 12px 6px 8px;display:inline-flex}.stw-detail-back:hover{background:var(--raised-hover,var(--surface));border-color:var(--faint);color:var(--text);text-decoration:none}.stw-detail-back:focus-visible{outline:2px solid var(--accent-ring);outline-offset:1px}.stw-detail-back-chevron{width:14px;height:14px;color:var(--muted);flex-shrink:0;transform:rotate(180deg)}.stw-detail-back:hover .stw-detail-back-chevron{color:var(--text)}.stw-detail-title{word-break:break-word;min-width:0;margin:0 0 12px;font-size:1.1rem;font-weight:600}.stw-kv{flex-direction:column;margin:0 0 16px;display:flex}.stw-kv-row{gap:12px;padding:4px 0;font-size:.84rem;line-height:1.4;display:flex}.stw-kv-row dt{width:110px;color:var(--muted);flex-shrink:0;font-weight:400}.stw-kv-row dd{word-break:break-word;flex:1;min-width:0;margin:0}.stw-kv-row dd code,.stw-kv-mono{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:.8rem}.storage-policy-help{font-size:var(--text-sm);line-height:var(--leading-body);margin:0}.storage-policy-enable{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.storage-policy-enable-row{cursor:default;align-items:center;gap:10px;min-width:0;display:inline-flex}.storage-policy-fields{gap:10px;max-width:none;margin-top:0;display:grid}.storage-policy-fields .field{gap:4px;margin:0;display:grid}.storage-policy-fields .field-label{margin-bottom:0}.storage-policy-fields fieldset.field{border:none;min-width:0;padding:0}.storage-policy-trigger-row{flex-wrap:wrap;align-items:center;gap:10px;min-height:32px;display:flex}.storage-policy-trigger-hint{font-size:var(--text-control);line-height:var(--leading-ui);color:var(--text);flex:0 auto}.storage-policy-target{gap:6px;display:grid}.storage-policy-target>.field-label{padding:0}.storage-policy-target-row{flex-wrap:wrap;align-items:center;gap:10px;min-height:32px;display:flex}.storage-policy-target-label{font-size:var(--text-control);line-height:var(--leading-ui);color:var(--text);flex:0 auto}.storage-policy-target-row .codex-auto-switch-input-wrap,.storage-policy-trigger-row .codex-auto-switch-input-wrap{flex:none}.storage-policy-selects{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;display:grid}.storage-policy-warn{font-size:var(--text-sm);line-height:var(--leading-body);margin:0}.storage-policy-meta{border-top:1px solid var(--border);grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;margin-top:6px;padding-top:12px;display:grid}.storage-policy-meta-item{min-width:0;font-size:var(--text-sm);line-height:var(--leading-body);align-items:baseline;gap:8px;display:flex}.storage-policy-meta-item>.muted{flex:none}.storage-policy-meta-value{font-variant-numeric:tabular-nums;min-width:0}.storage-policy-actions{flex-wrap:wrap;align-items:center;gap:8px;min-height:28px;margin-top:0;display:flex}.storage-policy-actions__status{min-width:7rem;font-size:var(--text-label);color:var(--muted);line-height:var(--leading-body)}.storage-policy-actions__status.is-error{color:var(--red)}.storage-page-head-actions{align-items:center;gap:10px;min-width:0;display:flex}.storage-page-head-feedback{text-align:right;min-width:7rem;max-width:16rem;font-size:var(--text-label);color:var(--muted);line-height:var(--leading-body)}.storage-page-meta{font-size:var(--text-sm);color:var(--muted);line-height:var(--leading-body);flex-wrap:wrap;align-items:baseline;gap:6px 10px;margin:-12px 0 16px;display:flex}.storage-page-meta__home{text-overflow:ellipsis;white-space:nowrap;max-width:min(100%,42rem);color:var(--text);font-size:inherit;overflow:hidden}.storage-page-meta__sep{color:var(--faint)}.storage-cleanup-card{justify-items:start;gap:10px;margin-top:16px;padding:14px 16px;display:grid}.storage-cleanup-card>.panel-title{width:100%;margin:0}.storage-cleanup-card__tabs{justify-self:start}.storage-cleanup-card__stack{width:100%;min-width:0;display:grid}.storage-cleanup-card__body{grid-area:1/1;width:100%;min-width:0}.storage-cleanup-card__body[data-active=false]{visibility:hidden;pointer-events:none}.storage-cleanup-policy-split{grid-template-columns:minmax(0,1fr);align-items:start;gap:12px 20px;display:grid}.storage-cleanup-pane{gap:10px;min-width:0;display:grid}.storage-cleanup-manual{border-top:1px solid var(--border);align-content:start;gap:8px;min-width:0;padding-top:12px;display:grid}.storage-cleanup-manual__title{font-size:var(--text-body);font-weight:var(--weight-semibold);line-height:var(--leading-ui);color:var(--text);margin:0}.storage-cleanup-manual .storage-cleanup-pane{gap:8px}.storage-cleanup-manual .storage-manual-panel__controls{flex-direction:column;align-items:stretch}.storage-cleanup-manual .storage-manual-panel__slider{flex:auto}.storage-cleanup-pane.storage-quarantine-pane{grid-template-rows:auto auto 1fr auto;align-content:start;min-height:8rem;display:grid}.storage-manual-panel{gap:10px;padding:14px 16px;display:grid}.storage-manual-panel>.panel-title{margin:0}.storage-manual-panel__help{font-size:var(--text-sm);line-height:var(--leading-body);margin:0}.storage-manual-panel__controls{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.storage-manual-panel__slider{flex:220px;align-items:center;gap:8px;min-width:0;display:flex}.storage-manual-panel__presets{flex-wrap:wrap;gap:6px;display:flex}.storage-manual-panel__status{font-size:var(--text-sm);line-height:var(--leading-body);margin:0}.storage-manual-panel__table{margin:0}@media (width<=520px){.storage-cleanup-card__tabs{width:100%}.storage-cleanup-card__tabs.usage-segmented{width:100%;display:flex}.storage-cleanup-card__tabs .usage-segmented-btn{flex:1 1 0;min-width:0}.storage-policy-selects,.storage-policy-meta{grid-template-columns:minmax(0,1fr)}.storage-policy-enable{align-items:flex-start}}@media (width<=768px){.storage-workspace-rail{position:static}}.main-inner:has(.subagents-workspace-shell){max-width:1200px}.subagents-workspace-shell{width:100%;min-width:0;container:subagents-workspace/inline-size}.subagents-workspace-root{gap:var(--space-4);grid-template-columns:minmax(0,1fr);width:100%;max-width:100%;min-height:0;display:grid}.subagents-workspace-rail{gap:var(--space-3);border-bottom:1px solid var(--border);padding-bottom:var(--space-3);flex-direction:column;min-width:0;display:flex}.subagents-workspace-section{gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.subagents-workspace-section+.subagents-workspace-section{margin-top:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--border)}.swi-delegation{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);flex-direction:column;display:flex}.swi-delegation-row{justify-content:space-between;align-items:flex-start;gap:var(--space-4);padding:var(--space-3);display:flex}.swi-delegation-row+.swi-delegation-row{border-top:1px solid var(--border-soft)}.swi-delegation-row .setting-copy{flex:auto;min-width:0}.swi-delegation-row .setting-hint{max-width:72ch;margin-top:3px;line-height:1.5}.swi-delegation-controls{align-items:center;gap:var(--space-2);flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;display:flex}.swi-rail-icon{width:15px;height:15px;color:var(--faint);flex-shrink:0}.subagents-workspace-rail-header{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.subagents-workspace-rail-title{font-size:var(--text-body);font-weight:var(--weight-semibold);color:var(--text)}.subagents-workspace-rail-count{font-family:var(--mono);color:var(--faint);font-variant-numeric:tabular-nums;font-size:11px}.swi-picker-box{gap:var(--space-2);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);min-height:0;padding:var(--space-2);flex-direction:column;display:flex}.swi-picker-box .subagents-workspace-rail-search{flex:none}.subagents-workspace-rail-list{flex-direction:column;gap:4px;min-height:0;display:flex}.swi-picker-box{--swi-row-step:46px}.swi-picker-box .subagents-workspace-rail-list{overscroll-behavior:auto;scrollbar-gutter:stable;max-height:min(456px,52vh);overflow-y:auto}@supports (height:round(down, 50vh, 46px)){.swi-picker-box .subagents-workspace-rail-list{max-height:calc(round(down, min(456px, 52vh) + 4px, var(--swi-row-step)) - 4px)}}.subagents-workspace-rail-group{flex-direction:column;gap:2px;min-width:0;display:flex}.subagents-workspace-rail-group+.subagents-workspace-rail-group{margin-top:8px}.subagents-workspace-rail-group-head{justify-content:space-between;align-items:center;gap:var(--space-2);font-size:var(--text-caption);font-weight:var(--weight-medium);color:var(--muted);padding:var(--space-2) var(--space-2) var(--space-1);display:flex}.subagents-workspace-rail-group-count{font-variant-numeric:tabular-nums;flex-shrink:0}.subagents-workspace-rail-row{min-width:0;max-width:100%;min-height:42px;padding:var(--space-1) var(--space-1-5);border-radius:var(--radius-sm);transition:background var(--motion-fast);align-items:center;gap:6px;display:flex}.subagents-workspace-rail-row:hover{background:var(--surface)}.subagents-workspace-rail-row--selected{background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--border)}.subagents-workspace-rail-row-main{appearance:none;cursor:pointer;min-width:0;font:inherit;font-size:var(--text-body);color:var(--text);text-align:left;border-radius:var(--radius-sm);background:0 0;border:none;flex:auto;align-items:center;gap:8px;padding:4px 6px;display:flex}.subagents-workspace-rail-row-main:focus-visible{outline:2px solid var(--accent-ring);outline-offset:-2px}.subagents-workspace-rail-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-family:var(--mono);flex:auto;font-size:12.5px;overflow:hidden}.subagents-workspace-rail-toggle{appearance:none;border:1px solid var(--border);border-radius:var(--radius-sm);width:26px;height:26px;color:var(--faint);cursor:pointer;transition:background var(--motion-fast), border-color var(--motion-fast), color var(--motion-fast);background:0 0;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.subagents-workspace-rail-toggle:hover{background:var(--surface);border-color:var(--muted)}.subagents-workspace-rail-toggle:focus-visible{outline:2px solid var(--accent-ring);outline-offset:1px}.subagents-workspace-rail-toggle--on{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.subagents-workspace-rail-toggle--disabled{opacity:.4;cursor:not-allowed}.swi-rail-priority{font-family:var(--mono);color:var(--accent);text-align:center;font-variant-numeric:tabular-nums;flex-shrink:0;width:14px;font-size:10.5px;font-weight:700}.subagents-workspace-rail-empty{color:var(--muted);padding:8px 4px;font-size:12px}.subagents-workspace-main{min-width:0;max-width:100%;padding:0;overflow:hidden}.swi-featured-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:6px;display:flex}.swi-featured-title{color:var(--text);margin:0;font-size:1.15rem;font-weight:600}.swi-featured-count{font-family:var(--mono);color:var(--faint);font-variant-numeric:tabular-nums;font-size:12px}.swi-featured-hint{color:var(--muted);align-items:flex-start;gap:8px;max-width:80ch;margin:0 0 16px;font-size:12.5px;line-height:1.5;display:flex}.swi-featured-hint svg{flex-shrink:0;margin-top:2px}.swi-featured-list{flex-direction:column;gap:8px;margin-bottom:18px;display:flex}.swi-featured-row{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);align-items:center;gap:10px;padding:9px 12px;display:flex}.swi-featured-pos{font-family:var(--mono);color:var(--accent);font-variant-numeric:tabular-nums;flex-shrink:0;width:18px;font-size:13px;font-weight:700}.swi-featured-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-family:var(--mono);color:var(--text);flex:auto;font-size:13px;overflow:hidden}.swi-featured-actions{flex-shrink:0;align-items:center;gap:4px;display:inline-flex}.swi-featured-empty{border:1px dashed var(--border);border-radius:var(--radius-sm);text-align:center;color:var(--muted);margin-bottom:18px;padding:24px 16px;font-size:13px}.swi-save-row{align-items:center;gap:10px;display:flex}.swi-detail{flex-direction:column;max-width:720px;display:flex}.swi-detail-back{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;margin-bottom:10px;padding:0;font-size:.82rem;display:inline-flex}.swi-detail-back:hover{text-decoration:underline}.swi-detail-back-chevron{width:12px;height:12px;transform:rotate(180deg)}.swi-detail-head{align-items:center;gap:10px;margin-bottom:16px;display:flex}.swi-detail-icon{width:32px;height:32px;color:var(--text);flex-shrink:0;justify-content:center;align-items:center;display:flex}.swi-detail-title{word-break:break-all;min-width:0;margin:0;font-size:1.15rem;font-weight:600;line-height:1.3}.swi-detail-section{margin-bottom:18px}.swi-detail-section-title{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:0 0 8px;font-size:.7rem;font-weight:600}.swi-detail-kv{flex-direction:column;margin:0;display:flex}.swi-detail-kv-row{gap:12px;padding:5px 0;font-size:.84rem;line-height:1.4;display:flex}.swi-detail-kv-row dt{width:130px;color:var(--muted);flex-shrink:0;font-weight:400}.swi-detail-kv-row dd{word-break:break-word;flex:1;min-width:0;margin:0}.swi-detail-kv-row dd code{font-size:.8rem}.swi-detail-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:4px;display:flex}@container subagents-workspace (width<=720px){.subagents-workspace-root{min-height:auto}.swi-picker-box .subagents-workspace-rail-list{max-height:min(318px,46vh)}@supports (height:round(down, 50vh, 46px)){.swi-picker-box .subagents-workspace-rail-list{max-height:calc(round(down, min(318px, 46vh) + 4px, var(--swi-row-step)) - 4px)}}}@media (width<=768px){.subagents-workspace-root{min-height:auto}.swi-picker-box .subagents-workspace-rail-list{max-height:min(272px,44vh)}@supports (height:round(down, 50vh, 46px)){.swi-picker-box .subagents-workspace-rail-list{max-height:calc(round(down, min(272px, 44vh) + 4px, var(--swi-row-step)) - 4px)}}}.main-inner:has(.usage-workspace-shell){max-width:1200px}.usage-workspace-shell{width:100%;min-width:0;container:usage-workspace/inline-size}.usage-workspace-root{grid-template-columns:minmax(0,1fr);gap:0;width:100%;max-width:100%;min-height:0;display:grid}.usw-section-block+.usw-section-block{margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--border)}.usage-workspace-rail{gap:var(--space-3);border-bottom:1px solid var(--border);padding-bottom:var(--space-3);flex-direction:column;min-width:0;display:flex}.usage-workspace-rail-header{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.usage-workspace-rail-title{font-size:var(--text-body);font-weight:var(--weight-semibold);color:var(--text)}.usage-workspace-rail-list{flex-direction:column;gap:2px;min-height:0;display:flex}.usage-workspace-rail-row{gap:var(--space-0-5);appearance:none;border-radius:var(--radius-sm);min-width:0;max-width:100%;min-height:46px;padding:var(--space-1-5) var(--space-2);cursor:pointer;text-align:left;color:inherit;font:inherit;background:0 0;border:none;flex-direction:column;display:flex;overflow:hidden}.usage-workspace-rail-row:hover{background:var(--raised)}.usage-workspace-rail-row--selected{background:var(--raised);box-shadow:inset 0 0 0 1px var(--border)}.usage-workspace-rail-name{font-size:var(--text-body);font-weight:var(--weight-medium);color:var(--text);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.usage-workspace-rail-meta{font-size:var(--text-caption);color:var(--faint);white-space:nowrap;text-overflow:ellipsis;font-variant-numeric:tabular-nums;overflow:hidden}.usage-workspace-main,.usw-body{gap:var(--space-4);flex-direction:column;min-width:0;display:flex}.usw-section{flex-direction:column;gap:0;min-width:0;display:flex}.usw-section .h-section{margin:0 0 var(--space-3);font-size:var(--text-title);font-weight:var(--weight-semibold);color:var(--text);line-height:1.2}.usw-section-toolbar{margin:0 0 var(--space-5);max-width:220px}.usw-section .tbl-wrap{min-width:0;padding:var(--space-3);overscroll-behavior:auto;scrollbar-gutter:stable;max-height:min(574px,58vh);overflow-y:auto}.usw-section .tbl-wrap thead th{top:calc(-1 * var(--space-3));z-index:1;background:var(--surface);box-shadow:0 calc(-1 * var(--space-3)) 0 var(--surface), inset 0 -1px 0 var(--border);border-bottom-color:#0000;position:sticky}.usw-section .usage-cards{margin-top:0}@container usage-workspace (width<=720px){.usage-workspace-root{min-height:auto}}@media (width<=768px){.usage-workspace-root{min-height:auto}}.main-inner:has(.claudecode-workspace-shell){max-width:1200px}.claudecode-workspace-shell{width:100%;min-width:0}.claudecode-workspace-root{gap:var(--space-4);grid-template-columns:minmax(240px,280px) minmax(0,1fr);width:100%;max-width:100%;min-height:0;display:grid}.claude-effective-auth{font-size:var(--text-caption);color:var(--muted);border-bottom:1px solid var(--border-soft);flex-direction:column;gap:2px;margin-top:-4px;padding:0 16px 12px;line-height:1.45;display:flex}.claude-effective-auth.warn{color:var(--amber)}.claude-effective-auth-label{font-weight:var(--weight-semibold);color:var(--faint);text-transform:uppercase;letter-spacing:.04em;font-size:10.5px}.claudecode-workspace-rail{gap:var(--space-3);border-right:1px solid var(--border);padding-right:var(--space-3);flex-direction:column;min-width:0;display:flex}.claudecode-workspace-rail-list{flex-direction:column;gap:2px;min-height:0;display:flex}.claudecode-workspace-rail-row{gap:var(--space-0-5);appearance:none;border-radius:var(--radius-sm);width:100%;min-height:46px;padding:var(--space-1-5) var(--space-2);cursor:pointer;text-align:left;color:inherit;font:inherit;background:0 0;border:none;flex-direction:column;display:flex;overflow:hidden}.claudecode-workspace-rail-row:hover{background:var(--raised)}.claudecode-workspace-rail-row--selected{background:var(--raised);box-shadow:inset 0 0 0 1px var(--border)}.claudecode-workspace-rail-name{font-size:var(--text-body);font-weight:var(--weight-medium);color:var(--text);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.claudecode-workspace-main{gap:var(--space-3);flex-direction:column;min-width:0;display:flex}.ccw-main-head{justify-content:space-between;align-items:center;gap:var(--space-3);min-width:0;min-height:32px;display:flex}.ccw-main-title{min-width:0;font-size:var(--text-control);font-weight:var(--weight-semibold);line-height:var(--leading-ui);color:var(--text);align-items:baseline;gap:8px;margin:0;display:flex}.ccw-main-title .count{color:var(--muted);font-weight:var(--weight-medium);font-family:var(--font-code);font-size:var(--text-label)}.claudecode-workspace-save[data-visible=false]{visibility:hidden;pointer-events:none}.ccw-body{gap:var(--space-3);flex-direction:column;min-width:0;display:flex}.claude-aliases{min-width:0}.claude-aliases-hint{margin:0 0 8px}.claude-aliases-scroll{overscroll-behavior:contain;scrollbar-gutter:stable;flex-direction:column;gap:10px;max-height:min(22rem,48vh);padding-right:2px;display:flex;overflow-y:auto}.claude-aliases-group{min-width:0}.claude-aliases-group-label{font-size:10.5px;font-weight:var(--weight-semibold);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);align-items:baseline;gap:6px;margin:0 0 5px;line-height:1.2;display:flex}.claude-aliases-group-count{font-family:var(--font-code);font-weight:var(--weight-medium);color:var(--faint);letter-spacing:0;text-transform:none;font-size:10px}.claude-aliases-chips{flex-wrap:wrap;gap:4px;display:flex}.claude-aliases-chip{border:1px solid var(--border-soft,var(--border));border-radius:var(--radius-xs);background:var(--raised);max-width:100%;color:var(--text);flex-direction:column;align-items:flex-start;gap:1px;padding:3px 8px;line-height:1.35;display:inline-flex;overflow:hidden}.claude-aliases-chip-id{font-family:var(--font-code);white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:11px;overflow:hidden}.claude-aliases-chip-name{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:10px;overflow:hidden}.claudecode-workspace-save{align-items:center;gap:var(--space-2);display:flex}@media (width<=768px){.claudecode-workspace-root{grid-template-columns:1fr}.claudecode-workspace-rail{border-right:none;border-bottom:1px solid var(--border);padding-right:0;padding-bottom:var(--space-3)}}:is(.main-inner:has(.api-page),.main-inner:has(.apikeys-workspace-shell)){box-sizing:border-box;max-width:1200px}.api-page{flex-direction:column;gap:0;min-width:0;display:flex}.api-page .page-head{margin-bottom:2px}.api-page .page-sub{margin:0 0 1.15rem}.api-page>.notice{margin-bottom:.85rem}.api-page .apikeys-workspace-shell{margin-top:.15rem}.apikeys-workspace-shell{width:100%;min-width:0;container:apikeys-workspace/inline-size}.apikeys-workspace-root{gap:var(--space-3);grid-template-columns:minmax(0,1fr);align-items:start;width:100%;max-width:100%;min-height:0;display:grid}.awi-section-anchor{gap:var(--space-3);flex-direction:column;min-width:0;display:flex}.awi-keylist-panel .awi-keylist-name{appearance:none;font:inherit;color:var(--accent-text,var(--text));font-weight:var(--weight-semibold);text-align:left;cursor:pointer;overflow-wrap:anywhere;background:0 0;border:none;padding:0}.awi-keylist-panel .awi-keylist-name:hover{text-decoration:underline}.awi-keylist-panel .awi-keylist-name:disabled{cursor:default;opacity:.6;text-decoration:none}.awi-keylist-panel .awi-keylist-name:focus-visible{outline:2px solid var(--accent-ring);outline-offset:2px;border-radius:var(--radius-sm)}.apikeys-workspace-main{min-width:0;max-width:100%;padding:0 var(--space-2);flex-direction:column;display:flex}.awi-detail{flex-direction:column;flex:1;min-height:0;display:flex}.awi-detail-toolbar{border-bottom:1px solid var(--border);background:0 0;flex:none;align-items:center;gap:8px;margin-bottom:0;padding:0 0 10px;display:flex}.awi-detail-body{min-height:0;padding-top:14px}.awi-overview{align-items:start;row-gap:var(--space-3);grid-template-columns:minmax(0,1fr);padding-top:0;display:grid}.awi-overview-section{gap:var(--space-3);flex-direction:column;min-width:0;display:flex}.awi-overview-section>.panel{flex:none;margin-top:0!important}.awi-overview .api-panel{gap:10px;padding:18px}.awi-overview .api-auth-list{gap:8px}.awi-overview .api-endpoints{margin-top:4px}.awi-overview-section>.panel>p.muted.small{margin:0;line-height:1.35}.awi-overview-section>.api-models-panel{flex-direction:column;flex:none;display:flex;overflow:visible}.awi-overview-section .api-models-panel>.input,.awi-overview-section .api-models-panel>.api-panel-head,.awi-overview-section .api-models-panel>.muted,.awi-overview-section .api-models-panel>.api-models-error{flex:none}.awi-overview-section .api-models-panel>.api-models-scroll{overscroll-behavior:auto;scrollbar-gutter:stable;min-width:0;max-height:min(574px,58vh);margin-top:.5rem;overflow:auto}.awi-overview-section .api-models-scroll>.tbl{table-layout:auto;width:100%}.awi-overview-section .api-models-scroll .api-model-cell{overflow-wrap:anywhere;min-width:0}.awi-overview-section .api-models-scroll thead th{z-index:1;background:var(--surface);box-shadow:inset 0 -1px 0 var(--border);border-bottom-color:#0000;position:sticky;top:0}.api-models-error{justify-content:space-between;align-items:center;gap:var(--space-2);flex-wrap:wrap;margin-top:.75rem;display:flex}.api-models-error p{min-width:0;margin:0}.api-models-empty{margin-top:.75rem}.api-example-copy-btn.ocx-tooltip,.api-example-copy-btn{width:100%;min-width:0;max-width:100%;display:block}.api-example-pre{overscroll-behavior:auto;white-space:pre;min-height:0;max-height:none;font-size:var(--text-label);line-height:var(--leading-relaxed);box-sizing:border-box;pointer-events:auto;padding:9px 11px;overflow:auto visible}.api-auth-matrix-block{margin-top:var(--space-3);gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.api-auth-matrix-title{font-size:var(--text-label);margin:0;font-weight:600}.api-auth-matrix{border-collapse:collapse;width:100%;font-size:var(--text-label)}.api-auth-matrix-scroll{overscroll-behavior-x:contain;max-width:100%;overflow-x:auto}.api-auth-matrix th,.api-auth-matrix td{text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;padding:4px 8px 4px 0}.api-auth-matrix th{color:var(--text-muted);font-weight:600}.api-auth-matrix code{font-size:inherit}.awi-rename{align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);flex-wrap:wrap;min-width:0;display:flex}.awi-rename-error,.awi-delete-error{color:var(--danger,#c44);font-size:var(--text-label);flex-basis:100%;margin:0}.awi-rename-label{font-size:var(--text-label);color:var(--text-muted)}.awi-rename .input{flex:12rem;min-width:0}.api-model-test-chip{align-items:center;gap:4px;min-width:0;display:inline-flex}.api-model-actions{flex-wrap:nowrap;align-items:center;gap:4px;min-width:0;display:flex}.api-model-actions .btn{white-space:nowrap}.awi-usage-panel-body{gap:var(--space-3);flex-direction:column;min-width:0;display:flex}.awi-usage-example{gap:8px;min-width:0;padding-top:2px;display:grid}.awi-usage-example+.awi-usage-example{border-top:1px solid var(--border-soft,var(--border));padding-top:10px}.awi-usage-example-title{font-size:var(--text-control);font-weight:var(--weight-semibold);line-height:var(--leading-ui);color:var(--text);margin:0}.awi-overview-section>.api-generate-panel,.awi-overview-section>.api-newkey-panel{margin-top:0}.awi-overview-section>.awi-clientconfig-panel,.awi-clientconfig-panel.api-panel{overflow:visible}.awi-clientconfig-head{gap:var(--space-2);flex-wrap:wrap}.awi-clientconfig-rows{gap:var(--space-1);flex-direction:column;min-width:0;margin:0;padding:0;list-style:none;display:flex}.awi-clientconfig-row{align-items:center;gap:var(--space-2);min-width:0;padding:var(--space-2);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);display:flex}.awi-clientconfig-mark{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--raised);flex:none;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex;overflow:hidden}.awi-clientconfig-mark:has(img){background:0 0;border-color:#0000}.awi-clientconfig-mark img{border-radius:var(--radius-sm);width:100%;height:100%}.awi-clientconfig-monogram{font-size:var(--text-label);font-weight:var(--weight-semibold);color:var(--muted);line-height:1}.awi-clientconfig-identity{flex-direction:column;flex:auto;gap:2px;min-width:0;display:flex}.awi-clientconfig-name{font-size:var(--text-control);font-weight:var(--weight-semibold);color:var(--text)}.awi-clientconfig-meta{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.awi-clientconfig-row-actions{align-items:center;gap:var(--space-1);flex:none;display:inline-flex}.awi-clientconfig-row-actions .btn{white-space:nowrap}.awi-clientconfig-dialog .awi-clientconfig-json{margin:0 0 var(--space-2)}@container apikeys-workspace (width<=560px){.awi-clientconfig-row{flex-wrap:wrap}.awi-clientconfig-row-actions{justify-content:flex-end;width:100%}}.awi-clientconfig-json{margin:0}.awi-clientconfig-json:focus-visible{outline:2px solid var(--accent-ring);outline-offset:1px}.awi-clientconfig-count,.awi-clientconfig-degraded,.awi-clientconfig-nokey,.awi-clientconfig-merge{margin:0;line-height:1.35}.awi-clientconfig-line{gap:4px;min-width:0;display:grid}.awi-clientconfig-where-title{margin:var(--space-2) 0 2px}.awi-section{margin-bottom:20px}.awi-section-title{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:0 0 8px;font-size:.7rem;font-weight:600}.awi-kv{flex-direction:column;margin:0;display:flex}.awi-kv-row{gap:12px;padding:5px 0;font-size:.84rem;line-height:1.4;display:flex}.awi-kv-row dt{width:130px;color:var(--muted);flex-shrink:0;font-weight:400}.awi-kv-row dd{overflow-wrap:anywhere;flex:1;min-width:0;margin:0}.awi-kv-row dd code{font-size:.8rem}.awi-detail-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.awi-back{appearance:none;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--raised);color:var(--text);font:inherit;font-size:var(--text-control);font-weight:var(--weight-medium);line-height:var(--leading-ui);cursor:pointer;transition:background var(--motion-fast), border-color var(--motion-fast), color var(--motion-fast);align-items:center;gap:6px;margin:0;padding:6px 12px 6px 8px;display:inline-flex}.awi-back:hover{background:var(--raised-hover,var(--surface));border-color:var(--faint);color:var(--text);text-decoration:none}.awi-back:focus-visible{outline:2px solid var(--accent-ring);outline-offset:1px}.awi-back-chevron{width:14px;height:14px;color:var(--muted);flex-shrink:0;transform:rotate(180deg)}.awi-detail-title{word-break:break-all;min-width:0;margin:0;font-size:1.15rem;font-weight:600}.awi-detail-actions{flex-shrink:0;align-items:center;gap:8px;display:inline-flex}@container apikeys-workspace (width<=720px){.apikeys-workspace-main{padding:var(--space-2) 0 0}}@media (width<=768px){.apikeys-workspace-main{padding:var(--space-2) 0 0}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:var(--lightningcss-light,#fff)var(--lightningcss-dark,#212121);--rail:var(--lightningcss-light,#f9f9f9)var(--lightningcss-dark,#171717);--surface:var(--lightningcss-light,#fff)var(--lightningcss-dark,#262626);--raised:var(--lightningcss-light,#f4f4f4)var(--lightningcss-dark,#303030);--raised-hover:var(--lightningcss-light,#ececec)var(--lightningcss-dark,#3a3a3a);--border:var(--lightningcss-light,#e6e6e6)var(--lightningcss-dark,#3d3d3d);--border-soft:var(--lightningcss-light,#f0f0f0)var(--lightningcss-dark,#333);--hover:var(--lightningcss-light,#0d0d0d08)var(--lightningcss-dark,#ffffff08);--text:var(--lightningcss-light,#0d0d0d)var(--lightningcss-dark,#ececec);--muted:var(--lightningcss-light,#6e6e6e)var(--lightningcss-dark,#a6a6a6);--faint:var(--lightningcss-light,#707070)var(--lightningcss-dark,#9a9a9a);--accent:var(--lightningcss-light,#0d0d0d)var(--lightningcss-dark,#ececec);--accent-hover:var(--lightningcss-light,#3d3d3d)var(--lightningcss-dark,#fff);--accent-ink:var(--lightningcss-light,#fff)var(--lightningcss-dark,#0d0d0d);--accent-soft:var(--lightningcss-light,#0d0d0d0f)var(--lightningcss-dark,#ffffff17);--accent-ring:var(--lightningcss-light,#00000080)var(--lightningcss-dark,#ffffff61);--green:var(--lightningcss-light,#0a7d5c)var(--lightningcss-dark,#4ecb9d);--green-soft:var(--lightningcss-light,#10a37f1a)var(--lightningcss-dark,#4ecb9d21);--red:var(--lightningcss-light,#b91c1c)var(--lightningcss-dark,#f87171);--red-soft:var(--lightningcss-light,#b91c1c17)var(--lightningcss-dark,#f8717121);--amber:var(--lightningcss-light,#9a4a08)var(--lightningcss-dark,#fbbf24);--amber-soft:var(--lightningcss-light,#b453091a)var(--lightningcss-dark,#fbbf2421);--blue:var(--lightningcss-light,#1d4ed8)var(--lightningcss-dark,#7aa2ff);--blue-soft:var(--lightningcss-light,#1d4ed81a)var(--lightningcss-dark,#7aa2ff29);--space-0-5:2px;--space-1:4px;--space-1-5:6px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--prose-measure:70ch;--radius-2xs:4px;--radius:12px;--radius-sm:8px;--radius-xs:6px;--radius-lg:16px;--radius-round:50%;--radius-pill:999px;--font-ui:"OpenAI Sans", "Pretendard Variable", Pretendard, "Noto Sans KR", "Apple SD Gothic Neo", "Malgun Gothic", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, system-ui, sans-serif;--font-code:ui-monospace, "SFMono-Regular", "Cascadia Code", "JetBrains Mono", "Noto Sans Mono CJK KR", Menlo, Consolas, monospace;--font:var(--font-ui);--mono:var(--font-code);--text-micro:10px;--text-caption:11px;--text-label:12px;--text-control:13px;--text-body:14px;--text-subtitle:16px;--text-title:20px;--text-display:24px;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--leading-tight:1.2;--leading-ui:1.35;--leading-body:1.5;--leading-relaxed:1.6;--tracking-normal:0;--tracking-wide:.04em;--control-sm:28px;--control-md:34px;--control-lg:40px;--control-touch:44px;--icon-sm:14px;--icon-md:16px;--icon-lg:20px;--motion-fast:.12s;--motion-normal:.18s;--z-sticky:20;--z-overlay:30;--z-popover:40;--z-modal:50;--shadow:0 1px 2px var(--lightningcss-light,#1018280f)var(--lightningcss-dark,#00000080), 0 10px 28px var(--lightningcss-light,#10182812)var(--lightningcss-dark,#0000004d);--shadow-sm:0 1px 2px var(--lightningcss-light,#1018280f)var(--lightningcss-dark,#0006);--toggle-w:36px;--toggle-h:20px;--toggle-dot:14px;--toggle-off-bg:var(--lightningcss-light,#d4d4d4)var(--lightningcss-dark,#4a4a4a);--toggle-on-bg:var(--lightningcss-light,#0d0d0d)var(--lightningcss-dark,#4ecb9d);--toggle-dot-color:var(--lightningcss-light,#fff)var(--lightningcss-dark,#0d0d0d)}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root{--glass-rail:var(--lightningcss-light,#f9f9f9a8)var(--lightningcss-dark,#1717179e);--glass-panel:var(--lightningcss-light,#ffffffc7)var(--lightningcss-dark,#262626d1);--glass-blur:saturate(1.6) blur(22px)}*{box-sizing:border-box}html,body,#root{height:100%}html{background:var(--bg);overflow-x:hidden}body{color:var(--text);font-family:var(--font-ui);font-size:var(--text-body);line-height:var(--leading-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background:0 0;margin:0;overflow-x:hidden}body:before{content:"";z-index:-1;pointer-events:none;filter:blur(70px);background:radial-gradient(42% 38% at 12% 6%,var(--lightningcss-light,#a4c4ff6b)var(--lightningcss-dark,#6082c829),#0000 70%),radial-gradient(46% 42% at 88% 18%,var(--lightningcss-light,#a8e2c561)var(--lightningcss-dark,#58a08221),#0000 70%),radial-gradient(40% 36% at 70% 92%,var(--lightningcss-light,#ffe0c24d)var(--lightningcss-dark,#b48c6414),#0000 72%);position:fixed;inset:-20%}a{color:var(--text);text-decoration:underline;-webkit-text-decoration-color:var(--faint);text-decoration-color:var(--faint);text-underline-offset:2px}a:hover{-webkit-text-decoration-color:var(--text);text-decoration-color:var(--text)}code{font-family:var(--font-code);font-size:var(--text-label)}.mono{font-family:var(--font-code);font-variant-numeric:tabular-nums}.model-label{align-items:center;gap:var(--space-2);display:inline-flex}h1,h2,h3,h4{font-weight:var(--weight-semibold);letter-spacing:0;line-height:var(--leading-tight);margin:0}.text-micro{line-height:var(--leading-ui);font-size:var(--text-micro)!important}.text-caption{line-height:var(--leading-ui);font-size:var(--text-caption)!important}.text-label{line-height:var(--leading-ui);font-size:var(--text-label)!important}.text-control{line-height:var(--leading-ui);font-size:var(--text-control)!important}p.muted.text-label,p.muted.text-control{max-width:var(--prose-measure)}.text-body{line-height:var(--leading-body);font-size:var(--text-body)!important}.text-subtitle{line-height:var(--leading-tight);font-size:var(--text-subtitle)!important}.text-title{line-height:var(--leading-tight);font-size:var(--text-title)!important}.text-display{line-height:var(--leading-tight);font-size:var(--text-display)!important}.font-regular{font-weight:var(--weight-regular)!important}.font-medium{font-weight:var(--weight-medium)!important}.font-semibold{font-weight:var(--weight-semibold)!important}.font-bold{font-weight:var(--weight-bold)!important}.leading-tight{line-height:var(--leading-tight)!important}.leading-ui{line-height:var(--leading-ui)!important}.leading-body{line-height:var(--leading-body)!important}.leading-relaxed{line-height:var(--leading-relaxed)!important}::selection{background:var(--accent-soft)}input[type=checkbox],input[type=radio]{accent-color:var(--accent)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--border);border-radius:var(--radius-pill);border:2px solid var(--bg)}::-webkit-scrollbar-thumb:hover{background:var(--faint)}:focus-visible{outline:2px solid var(--accent-ring);outline-offset:2px;border-radius:var(--radius-2xs)}.app{grid-template-columns:232px 1fr;min-height:100dvh;display:grid}.sidebar{height:100dvh;z-index:var(--z-overlay);border-right:1px solid var(--border);background:var(--glass-rail);-webkit-backdrop-filter:var(--glass-blur);flex-direction:column;align-self:start;gap:4px;padding:18px 14px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:10px;padding:6px 8px 14px;display:flex}.brand-logo{background:var(--text);flex-shrink:0;width:26px;height:26px;-webkit-mask:url(/logo.png) 50%/contain no-repeat;mask:url(/logo.png) 50%/contain no-repeat}.brand .name{font-weight:var(--weight-semibold);font-size:var(--text-subtitle);letter-spacing:0;line-height:26px}.brand .ver{font-family:var(--font-code);font-size:var(--text-micro);color:var(--muted);line-height:var(--leading-tight);background:var(--raised);border:1px solid var(--border);border-radius:var(--radius-pill);align-self:center;padding:2px 6px}.sidebar nav{flex-direction:column;gap:4px;display:flex}.nav-item{border-radius:var(--radius-sm);text-align:left;cursor:pointer;width:100%;color:var(--muted);font:inherit;font-size:var(--text-control);font-weight:var(--weight-medium);transition:background var(--motion-fast), color var(--motion-fast);background:0 0;border:none;align-items:center;gap:10px;padding:8px 10px;display:flex}.nav-item:hover,.nav-item.active{background:var(--accent-soft);color:var(--text)}.nav-item.active{font-weight:var(--weight-semibold)}.nav-item svg{width:17px;height:17px;color:var(--faint);flex-shrink:0}.nav-item.active svg{color:var(--text)}.nav-entry{border-radius:var(--radius-sm);align-items:center;min-width:0;display:flex}.nav-entry .nav-item{flex:auto;min-width:0}.nav-entry-claude{transition:background var(--motion-fast), color var(--motion-fast);padding-right:4px}.nav-entry-claude:hover,.nav-entry-claude.active{background:var(--accent-soft);color:var(--text)}.nav-entry-claude .nav-item,.nav-entry-claude .nav-item:hover,.nav-entry-claude .nav-item.active{background:0 0;width:auto}.nav-entry-claude .switch{margin-inline:2px 4px}.nav-entry-claude .switch:focus-visible{outline:2px solid var(--accent-ring);outline-offset:2px}.sidebar-foot{flex-direction:column;gap:2px;margin-top:auto;padding-top:12px;display:flex}.drawer-head{align-items:flex-start;display:flex}.drawer-head .brand{flex:auto;min-width:0}.mobile-topbar{display:none}.menu-toggle{border-radius:var(--radius-sm);min-width:44px;min-height:44px;color:var(--muted);cursor:pointer;transition:background var(--motion-fast), color var(--motion-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:8px;display:none}.menu-toggle:hover{background:var(--accent-soft);color:var(--text)}.menu-toggle svg{width:20px;height:20px}.drawer-scrim{z-index:var(--z-overlay);background:var(--lightningcss-light,#14141452)var(--lightningcss-dark,#00000085);display:none;position:fixed;inset:0}.sidebar-link{color:var(--muted);font-size:var(--text-control);border-radius:var(--radius-sm);align-items:center;gap:9px;padding:8px 10px;text-decoration:none;display:flex}.sidebar-link:hover{background:var(--accent-soft);color:var(--text);text-decoration:none}.sidebar-link svg{width:16px;height:16px}.sidebar-github-row{align-items:center;gap:4px;min-width:0;display:flex}.sidebar-github-link{flex:auto;min-width:0}.sidebar-github-actions{flex:none;align-items:center;gap:4px;display:flex}.sidebar-orb{border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--raised);width:28px;height:28px;color:var(--muted);cursor:pointer;transition:background var(--motion-fast), color var(--motion-fast), border-color var(--motion-fast);flex:0 0 28px;justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative}.sidebar-orb svg{width:14px;height:14px}.sidebar-orb:hover:not(:disabled){background:var(--accent-soft);color:var(--text);border-color:var(--accent-ring)}.sidebar-orb:focus-visible{outline:2px solid var(--accent-ring);outline-offset:2px}.sidebar-orb--starred{color:var(--amber);cursor:default;opacity:1}.sidebar-orb--update{color:var(--blue);border-color:var(--blue);background:var(--blue-soft)}.sidebar-orb--update:hover:not(:disabled){color:var(--blue);border-color:var(--blue);background:var(--blue-soft);filter:brightness(1.06)}.sidebar-orb-dot{background:var(--blue);border:1.5px solid var(--rail);border-radius:50%;width:7px;height:7px;position:absolute;top:1px;right:1px}.lang-toggle{width:100%;color:var(--muted);font-size:var(--text-control);border-radius:var(--radius-sm);transition:background var(--motion-fast), color var(--motion-fast);align-items:center;gap:9px;padding:8px 10px;display:flex;position:relative}.lang-toggle:hover{background:var(--accent-soft);color:var(--text)}.lang-toggle svg{flex-shrink:0;width:16px;height:16px}.lang-toggle .custom-select{width:100%;position:static!important}.lang-toggle .select-trigger{width:100%;color:inherit;font-size:var(--text-control);min-height:auto;box-shadow:none;-webkit-backdrop-filter:none;background:0 0;border:none;justify-content:space-between;padding:0}.lang-toggle .select-trigger:hover:not(:disabled){color:inherit;box-shadow:none;background:0 0;border:none}.lang-toggle .select-dropdown{background:var(--glass-rail);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--border);box-shadow:var(--shadow-sm)}.lang-toggle .select-dropdown-beside{min-width:10rem;max-height:min(60vh,20rem);inset:auto auto 0 calc(100% + 20px);overflow-y:auto}.theme-toggle{text-align:left;cursor:pointer;width:100%;color:var(--muted);font:inherit;font-size:var(--text-control);border-radius:var(--radius-sm);transition:background var(--motion-fast), color var(--motion-fast);background:0 0;border:none;align-items:center;gap:9px;padding:8px 10px;display:flex}.theme-toggle:hover{background:var(--accent-soft);color:var(--text)}.theme-toggle svg{flex-shrink:0;width:16px;height:16px}.theme-toggle .mode{text-transform:capitalize}.stop-toggle{color:var(--red)}.stop-toggle:hover{background:var(--red-soft);color:var(--red)}.stop-toggle:disabled{opacity:.5;cursor:default}.main{min-width:0}.main-inner{max-width:980px;margin:0 auto;padding:32px 36px 64px}.main-inner.main-inner--combos{flex-direction:column;max-width:none;height:100dvh;min-height:100dvh;margin:0;padding:0;display:flex;overflow:hidden}.main-inner.main-inner--combos>.combos-workspace-shell{flex-direction:column;flex:auto;height:100%;min-height:0;display:flex}.page-head{justify-content:space-between;align-items:center;gap:16px;margin-bottom:6px;display:flex}.page-head h2{font-size:var(--text-title)}.page-sub{color:var(--muted);font-size:var(--text-body);max-width:var(--prose-measure);margin:4px 0 22px}.page-tabs{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:2px;margin:2px 0 14px;display:flex;overflow:visible}.page-tab{white-space:nowrap;appearance:none;color:var(--muted);cursor:pointer;font:inherit;font-size:var(--text-control);background:0 0;border:none;border-bottom:2px solid #0000;flex:none;margin-bottom:-1px;padding:8px 12px}.page-tab:hover{color:var(--text)}.page-tab--active{color:var(--text);border-bottom-color:var(--accent);font-weight:var(--weight-semibold)}.page-tab:focus-visible{outline:2px solid var(--accent-ring);outline-offset:-2px}.section-tabs{z-index:3;background:var(--bg);margin-top:0;padding-top:6px;position:sticky;top:0}.section-tab-meta{color:var(--muted);font-size:var(--text-label);font-weight:var(--weight-regular);font-variant-numeric:tabular-nums;margin-left:6px}.page-tab--active>.section-tab-meta{color:var(--text)}[id*=-section-]{scroll-margin-top:56px}.page-sub b{color:var(--text);font-weight:var(--weight-semibold)}.api-page h2 svg{vertical-align:-.16em;width:1em;height:1em}.api-page .page-sub code{font-size:var(--text-label);color:var(--text);background:var(--raised);border:1px solid var(--border-soft);border-radius:var(--radius-xs);padding:1px 4px}.api-endpoints{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;margin-top:8px;display:grid}.api-endpoints>div{flex-direction:column;align-items:stretch;gap:4px;min-width:0;display:flex}.api-endpoints>div>.muted{flex:none;line-height:1.3}.api-endpoints .ocx-tooltip,.api-endpoints .api-endpoint-url-btn{text-align:left;z-index:1;appearance:none;width:100%;max-width:100%;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;margin:0;padding:0;position:relative;display:block!important}.api-endpoints .ocx-tooltip:focus-within,.api-endpoints .ocx-tooltip:hover,.api-endpoints .api-endpoint-url-btn:focus-within,.api-endpoints .api-endpoint-url-btn:hover{z-index:5}.api-endpoints .api-endpoint-url{box-sizing:border-box;white-space:nowrap;text-overflow:ellipsis;pointer-events:none;width:100%;max-width:100%;display:block;overflow:hidden}.api-endpoints .api-endpoint-url-btn:hover .api-endpoint-url,.api-endpoints .api-endpoint-url-btn:focus-visible .api-endpoint-url{border-color:color-mix(in srgb, var(--accent) 40%, var(--border))}.api-example-copy-btn,.ocx-tooltip.api-example-copy-btn{appearance:none;width:100%;max-width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;z-index:1;background:0 0;border:0;align-items:stretch;margin:0;padding:0;display:block;position:relative}.api-example-copy-btn:hover,.api-example-copy-btn:focus-within,.ocx-tooltip.api-example-copy-btn:hover,.ocx-tooltip.api-example-copy-btn:focus-within{z-index:5}.api-example-copy-btn .api-example-pre{box-sizing:border-box;pointer-events:auto;width:100%;max-width:100%;margin:0;display:block}.api-example-copy-btn:hover .api-example-pre,.api-example-copy-btn:focus-visible .api-example-pre{border-color:color-mix(in srgb, var(--accent) 40%, var(--border))}.ocx-tooltip-bubble.api-copy-tip-fixed{z-index:var(--z-popover,40);pointer-events:none;white-space:nowrap;width:max-content;max-width:min(320px,90vw);position:fixed;inset:0 auto auto 0;transform:translate(-50%,-100%)}@media (width<=720px){.api-endpoints{grid-template-columns:minmax(0,1fr)}}.api-auth-list{gap:8px;margin:0;padding-left:1.1rem;display:grid}.api-auth-list li{color:var(--muted);font-size:var(--text-label)}.api-model-actions{align-items:center;gap:6px;display:inline-flex}.api-test-note{font-size:var(--text-label)}.api-test-note--ok{color:var(--green,#22c55e)}.api-test-note--error{color:var(--red)}.btn{border-radius:var(--radius-pill);font:inherit;font-size:var(--text-control);font-weight:var(--weight-medium);line-height:var(--leading-ui);cursor:pointer;transition:background var(--motion-fast), border-color var(--motion-fast), opacity var(--motion-fast);white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:7px;padding:8px 16px;display:inline-flex}a.btn,a.btn:hover{text-decoration:none}.btn svg{width:15px;height:15px}.btn:disabled{opacity:.55;cursor:default}.btn-primary{background:var(--accent);color:var(--accent-ink)}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-ghost{background:var(--bg);color:var(--text);border-color:var(--border)}.btn-ghost:hover:not(:disabled){background:var(--raised)}.btn-danger{color:var(--red);background:0 0;border-color:#f871714d}.btn-danger:hover:not(:disabled){background:var(--red-soft)}.btn-sm{font-size:var(--text-label);border-radius:var(--radius-pill);padding:4px 12px}.btn-icon{appearance:none;font:inherit;cursor:pointer;width:28px;height:28px;color:var(--muted);border-radius:var(--radius-sm);transition:background var(--motion-fast), color var(--motion-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.btn-icon:hover{background:var(--raised-hover);color:var(--text)}.btn-icon:focus-visible{outline:2px solid var(--accent-ring);outline-offset:1px}.btn-icon svg{width:16px;height:16px;display:block}.btn.btn-ghost.btn-icon{width:28px;height:28px;padding:0}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);min-width:0}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px}.panel-accent{border-color:color-mix(in srgb, var(--accent) 28%, var(--border));background:color-mix(in srgb, var(--accent) 5%, var(--surface))}.api-panel{flex-direction:column;gap:10px;display:flex;overflow:hidden}.api-panel .panel-title,.api-panel .muted{margin:0}.api-panel-head{justify-content:space-between;align-items:baseline;gap:12px;min-width:0;display:flex}.api-panel-head .panel-title{min-width:0}.api-panel-head .muted{text-align:right;flex:none}.api-form-row{align-items:center;gap:8px;min-width:0;display:flex}.api-form-row .input{flex:1;min-width:0}.api-code{min-width:0;color:var(--text);background:var(--raised);border:1px solid var(--border-soft);border-radius:var(--radius-sm);font-family:var(--font-code);font-size:var(--text-label);line-height:var(--leading-relaxed);white-space:pre;margin:0;padding:9px 11px;display:block;overflow-x:auto}.api-code-inline{white-space:nowrap}.api-actions{justify-content:flex-end;align-items:center;gap:4px;display:flex}.dash-sync-summary{justify-content:space-between;align-items:center;gap:16px;display:flex}.dash-sync-copy{flex:auto;min-width:0}.dash-sync-hint{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:2px 0 0;display:-webkit-box;overflow:hidden}.maintenance-actions{flex:none;justify-content:flex-end;align-items:center;gap:8px;display:flex}.maintenance-update-anchor{background:0 0;border:0;width:0;height:0;padding:0;overflow:hidden}.maintenance-notice{align-items:flex-start;margin:14px 0 0}.update-row{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.update-row .field-label{margin:0}.update-empty{margin-bottom:14px;padding:18px}.update-box{flex-direction:column;gap:12px;display:flex}.update-command{font-size:var(--text-label);flex-wrap:wrap;align-items:flex-start;gap:6px;display:flex}.update-command .chip{white-space:pre-wrap;word-break:break-all;overflow-wrap:anywhere;flex:auto;min-width:0;max-width:100%;line-height:1.5}.update-recheck{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.update-recheck .btn{flex:none}.update-recheck-reason{min-width:0;font-size:var(--text-label);color:var(--muted);flex:200px}.update-restart{border-top:1px solid var(--border-soft);padding-top:12px}.injection-head{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.injection-label{font-weight:var(--weight-semibold)}@media (width<=800px){.injection-head{gap:8px}.injection-label{flex:1 0 calc(100% - 70px);order:1}.injection-head>.badge{order:1;margin-left:auto}.injection-head>.custom-select{order:2}}.stat-row{grid-template-columns:repeat(6,1fr);gap:12px;margin-bottom:28px;display:grid}.stat-row>.stat{flex-direction:column;justify-content:center;min-height:80px;display:flex}@media (width<=1100px){.stat-row{grid-template-columns:repeat(3,1fr)}}@media (width<=640px){.stat-row{grid-template-columns:repeat(2,1fr)}}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);transition:border-color var(--motion-fast);padding:14px 16px}.stat:hover{border-color:var(--faint)}.stat .label{font-size:var(--text-label);color:var(--muted);font-weight:var(--weight-medium);align-items:center;gap:6px;margin-bottom:6px;display:flex}.stat .label svg{width:14px;height:14px}.stat .value{font-size:var(--text-title);font-weight:var(--weight-semibold);letter-spacing:0;line-height:var(--leading-tight)}.stat .value.mono{font-family:var(--font-code);font-size:var(--text-subtitle)}.startup-health-bar{min-height:var(--control-lg);margin:calc(-1 * var(--space-3)) 0 var(--space-6);padding:0 var(--space-3);align-items:center;gap:var(--space-2);min-width:0;color:var(--muted);background:var(--hover);border-block:1px solid var(--border-soft);font-size:var(--text-control);line-height:var(--leading-ui);transition:background var(--motion-fast), color var(--motion-fast);text-decoration:none;display:flex}.startup-health-bar:hover{background:var(--raised);color:var(--text)}.startup-health-bar:active{transform:translateY(1px)}.startup-health-bar:focus-visible{outline:2px solid var(--accent-ring);outline-offset:2px}.startup-health-bar__summary{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.startup-health-slot{min-height:var(--control-lg)}.startup-health-bar--pending{pointer-events:none;color:var(--faint)}.dash-stat-coverage{min-height:1.25em;margin-top:2px;line-height:1.25}.dash-overview-head{flex-direction:column;margin-bottom:0;display:flex}.mem-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.mem-head-title{align-items:center;gap:8px;display:flex}.mem-head-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.mem-inflight{align-items:baseline;gap:6px;display:inline-flex}.mem-inflight-label{font-size:var(--text-label);color:var(--muted)}.mem-inflight-value{font-size:var(--text-control);font-weight:var(--weight-semibold)}.mem-status{flex-wrap:wrap;align-items:center;gap:10px;margin-top:10px;display:flex}.mem-status:empty{display:none}.mem-stats{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:0}@media (width<=900px){.mem-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=520px){.mem-stats{grid-template-columns:minmax(0,1fr)}}.mem-stats .stat-sub{font-size:var(--text-caption);color:var(--faint);margin-top:4px}.stat .value--warn{color:var(--amber)}.stat .value--danger{color:var(--red)}.mem-pressure{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--raised);margin-bottom:12px;padding:12px 14px}.mem-pressure--warn{border-color:color-mix(in srgb, var(--amber) 42%, var(--border));background:var(--amber-soft)}.mem-pressure--over{border-color:color-mix(in srgb, var(--red) 42%, var(--border));background:var(--red-soft)}.mem-pressure-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.mem-pressure-label{font-size:var(--text-label);font-weight:var(--weight-medium);color:var(--muted);align-items:baseline;gap:6px;display:inline-flex}.mem-pressure-metric{font-size:var(--text-caption);color:var(--faint)}.mem-pressure-figure{font-size:var(--text-subtitle);font-weight:var(--weight-semibold);line-height:var(--leading-tight);white-space:nowrap}.mem-pressure-limit{color:var(--faint);font-weight:var(--weight-regular)}.mem-pressure-track{border-radius:var(--radius-2xs);background:color-mix(in srgb, var(--muted) 20%, transparent);height:5px;margin:8px 0 6px;overflow:hidden}.mem-pressure-fill{border-radius:var(--radius-2xs);background:var(--green);width:100%;height:100%;transform:scaleX(var(--mem-scale,0));transform-origin:0;transition:transform var(--motion-normal);display:block}.mem-pressure--warn .mem-pressure-fill{background:var(--amber)}.mem-pressure--over .mem-pressure-fill{background:var(--red)}.mem-pressure-foot{font-size:var(--text-caption);color:var(--muted)}.dash-overview-head .stat-row{margin-bottom:0}.dash-overview-head .startup-health-bar,.dash-overview-head .startup-health-bar--pending{margin:var(--space-4) 0 0}.model-group-head{font-size:var(--text-control);font-weight:var(--weight-semibold);color:var(--text);align-items:baseline;gap:8px;margin:0 0 8px;display:flex}.model-group-head .count{font-family:var(--font-code);font-weight:var(--weight-medium);color:var(--faint);font-size:var(--text-label)}.group-head{cursor:pointer;background:var(--surface);transition:background var(--motion-fast);padding:10px 12px}.group-head:hover{background:var(--hover)}.group-head.open{border-bottom:1px solid var(--border-soft)}.models-combos-card{overflow:hidden}.models-combo-row{min-height:var(--control-lg);padding:0 var(--space-3) 0 calc(var(--space-8) + var(--space-0-5));gap:var(--space-2);align-items:center}.model-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;display:grid}.model-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);transition:border-color var(--motion-fast), background var(--motion-fast);padding:10px 12px}.model-card:hover{border-color:var(--faint);background:var(--hover)}.model-card .id{font-family:var(--font-code);font-weight:var(--weight-semibold);font-size:var(--text-control);letter-spacing:0;color:var(--text)}.badge{font-size:var(--text-caption);font-weight:var(--weight-semibold);line-height:var(--leading-ui);border-radius:var(--radius-pill);font-family:var(--font-code);letter-spacing:0;border:1px solid #0000;align-items:center;gap:5px;padding:2px 8px;display:inline-flex}.badge-accent{background:var(--accent-soft);color:var(--text)}.badge-green{background:var(--green-soft);color:var(--green)}.badge-amber{background:var(--amber-soft);color:var(--amber)}.badge-muted{background:var(--raised);color:var(--muted);border:1px solid var(--border)}.badge-clickable{cursor:pointer;transition:filter var(--motion-fast);appearance:none}.badge-clickable:hover{filter:brightness(1.1)}.badge-disabled{opacity:.5;cursor:default}.card-badges{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:inline-flex}.card-badges .badge{flex-shrink:0}.confirm-icon{border-radius:var(--radius-round);background:var(--amber-soft);width:44px;height:44px;color:var(--amber);justify-content:center;align-items:center;margin:0 auto 12px;display:flex}.credit-list{flex-direction:column;gap:6px;display:flex}.credit-item{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--raised);transition:border-color var(--motion-fast);padding:8px 10px}.credit-next{border-color:var(--amber);background:var(--amber-soft)}.credit-item-head{color:var(--text);font-size:var(--text-label);font-weight:var(--weight-semibold);align-items:center;gap:6px;margin-bottom:3px;display:flex}.credit-item-head svg{color:var(--amber);flex-shrink:0}.credit-item-dates{font-size:var(--text-caption);font-family:var(--font-code);color:var(--muted);justify-content:space-between;display:flex}.credit-urgent{color:var(--red);font-weight:var(--weight-semibold)}.dot{border-radius:var(--radius-round);flex-shrink:0;width:7px;height:7px}.dot-green{background:var(--green);box-shadow:0 0 0 3px var(--green-soft)}.dot-red{background:var(--red);box-shadow:0 0 0 3px var(--red-soft)}.tbl{border-collapse:collapse;width:100%;font-size:var(--text-control)}.tbl thead th{text-align:left;color:var(--muted);font-weight:var(--weight-medium);font-size:var(--text-label);border-bottom:1px solid var(--border);padding:9px 12px}.tbl tbody td{border-bottom:1px solid var(--border-soft);padding:10px 12px}.tbl tbody tr:last-child td{border-bottom:none}.tbl tbody tr:hover td{background:var(--hover)}.tbl .num{text-align:right;font-family:var(--font-code);font-variant-numeric:tabular-nums}.tbl-wrap{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:var(--space-3);overflow-x:auto}.api-models-scroll{overscroll-behavior:contain;min-height:0;max-height:min(360px,50vh);margin-top:.75rem;overflow:auto}.api-models-scroll thead th{z-index:1;background:var(--panel,var(--raised));position:sticky;top:0}.api-models-panel{min-height:0}.awi-overview-section .api-models-panel>.input,.awi-overview-section .api-models-panel>.api-panel-head,.awi-overview-section .api-models-panel>.muted{flex:none}.input,textarea.input{border-radius:var(--radius-sm);background:var(--raised);border:1px solid var(--border);width:100%;color:var(--text);font:inherit;font-size:var(--text-control);line-height:var(--leading-ui);transition:border-color var(--motion-fast);padding:8px 11px}.input::placeholder{color:var(--faint)}.input:focus{border-color:var(--faint);box-shadow:0 0 0 3px var(--accent-soft);outline:none}textarea.input{resize:vertical;font-family:var(--font-code);line-height:var(--leading-relaxed)}.field-label{font-size:var(--text-label);color:var(--muted);font-weight:var(--weight-medium);margin-bottom:5px;display:block}select.input{appearance:none}.select-sm{border-radius:var(--radius-pill);background:color-mix(in oklab, canvas 75%, transparent);-webkit-backdrop-filter:blur(12px)saturate(1.3);border:1px solid var(--border);color:var(--text);font:inherit;font-size:var(--text-control);line-height:var(--leading-ui);cursor:pointer;transition:border-color var(--motion-fast), box-shadow var(--motion-fast);padding:6px 12px;box-shadow:0 2px 8px #0000000f}.select-sm:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.select-sm:hover:not(:disabled){border-color:var(--faint);box-shadow:0 2px 12px #0000001a}.select-sm:disabled{opacity:.5;cursor:default;-webkit-backdrop-filter:none}.select-trigger{border-radius:var(--radius-pill);background:color-mix(in oklab, canvas 75%, transparent);-webkit-backdrop-filter:blur(12px)saturate(1.3);border:1px solid var(--border);color:var(--text);font:inherit;font-size:var(--text-control);line-height:var(--leading-ui);cursor:pointer;transition:border-color var(--motion-fast), box-shadow var(--motion-fast);white-space:nowrap;align-items:center;gap:6px;padding:6px 12px;display:inline-flex;box-shadow:0 2px 8px #0000000f}.select-trigger:hover:not(:disabled){border-color:var(--faint);box-shadow:0 2px 12px #0000001a}.select-trigger:disabled{opacity:.5;cursor:default}.select-dropdown{z-index:var(--z-popover);background:color-mix(in oklab, canvas 84%, transparent);-webkit-backdrop-filter:blur(20px)saturate(1.4);border:1px solid var(--border);border-radius:var(--radius);min-width:100%;max-height:280px;padding:4px;position:absolute;top:calc(100% + 4px);left:0;overflow-y:auto;box-shadow:0 8px 32px #00000029}.select-dropdown-portal{position:fixed;inset:auto}.select-dropdown-right{right:0;left:auto!important}.select-dropdown-beside{min-width:10rem;max-height:min(60vh,20rem);inset:auto auto 0 calc(100% + 12px);overflow-y:auto}.select-option{text-align:left;border-radius:var(--radius-sm);width:100%;color:var(--text);font:inherit;font-size:var(--text-control);line-height:var(--leading-ui);cursor:pointer;transition:background var(--motion-fast), box-shadow var(--motion-fast);white-space:nowrap;background:0 0;border:none;padding:7px 12px;display:block}.select-option:hover:not(.select-option-active){background:var(--hover)}.select-option.active{background:var(--accent-soft);color:var(--accent);font-weight:var(--weight-semibold)}.select-option-active{background:var(--hover)}.select-option.active.select-option-active{background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent)}.switch{border-radius:var(--radius-pill);border:1px solid var(--border);cursor:pointer;background:var(--raised);vertical-align:middle;width:34px;height:20px;transition:background var(--motion-normal), border-color var(--motion-normal);appearance:none;flex-shrink:0;align-items:center;padding:2px;line-height:0;display:inline-flex}.switch.on{background:var(--toggle-on-bg);border-color:var(--toggle-on-bg)}.switch:disabled{opacity:.6;cursor:default}.switch .knob{border-radius:var(--radius-round);width:14px;height:14px;transition:transform var(--motion-normal), background var(--motion-normal);background:var(--lightningcss-light,#fff)var(--lightningcss-dark,#ececec);transform:translate(0);box-shadow:0 0 0 1px #10182814,0 1px 1px #1018282e}.switch.on .knob{background:var(--toggle-dot-color);transform:translate(14px);box-shadow:0 0 0 1px #0000001f}.muted{color:var(--muted)}.faint{color:var(--faint)}.row{align-items:center;gap:10px;display:flex}.spread{justify-content:space-between;align-items:center;gap:12px;display:flex}.setting-hint{font-size:var(--text-control);line-height:var(--leading-body);max-width:var(--prose-measure);margin-top:3px}.stack{flex-direction:column;display:flex}.chip{font-family:var(--font-code);font-size:var(--text-label);line-height:var(--leading-ui);background:var(--raised);border:1px solid var(--border);border-radius:var(--radius-xs);color:var(--text);padding:1px 7px}.empty{text-align:center;border:1px dashed var(--border);border-radius:var(--radius);color:var(--muted);padding:56px 20px}.empty svg{width:30px;height:30px;color:var(--faint);margin-bottom:12px}.empty .title{color:var(--text);font-weight:var(--weight-semibold);margin-bottom:6px}.notice{font-size:var(--text-control);line-height:var(--leading-body);border-radius:var(--radius-sm);max-width:var(--prose-measure);align-items:center;gap:8px;margin-bottom:14px;padding:9px 12px;display:flex}.notice svg{flex-shrink:0;width:15px;height:15px}.notice-ok{background:var(--lightningcss-light,#ecfdf5)var(--lightningcss-dark,color-mix(in oklab, var(--green) 18%, var(--surface)));color:var(--lightningcss-light,#065f46)var(--lightningcss-dark,#d1fae5);border:1px solid color-mix(in srgb, var(--green) 32%, transparent)}.notice-ok svg{color:var(--green)}.notice-err{background:var(--lightningcss-light,#fef2f2)var(--lightningcss-dark,color-mix(in oklab, var(--red) 18%, var(--surface)));color:var(--lightningcss-light,#991b1b)var(--lightningcss-dark,#fee2e2);border:1px solid color-mix(in srgb, var(--red) 32%, transparent)}.notice-err svg{color:var(--red)}.h-section{font-size:var(--text-control);font-weight:var(--weight-semibold);line-height:var(--leading-ui);color:var(--text);align-items:center;gap:8px;margin:30px 0 12px;display:flex}.h-section .count{color:var(--muted);font-weight:var(--weight-medium);font-family:var(--font-code);font-size:var(--text-label)}.spin{border:2px solid var(--border);border-top-color:var(--accent);border-radius:var(--radius-round);width:14px;height:14px;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.data-surface-status{align-items:center;gap:var(--space-2);min-height:var(--control-md);color:var(--muted);font-size:var(--text-control);line-height:var(--leading-body);display:flex}.data-surface-skeleton{gap:var(--space-2);display:grid}.data-surface-skeleton__row{min-height:var(--control-lg)}.data-surface-skeleton__block{min-height:var(--control-lg);border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:linear-gradient(90deg, var(--raised) 0%, var(--surface) 50%, var(--raised) 100%);background-size:200% 100%;width:100%;animation:1.2s ease-in-out infinite codex-auth-skeleton-shimmer;display:block}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.sidebar,.lang-toggle .select-dropdown{background:var(--rail)}.modal-card{background:var(--surface)}}@media (prefers-reduced-transparency:reduce){body:before{display:none}.sidebar,.lang-toggle .select-dropdown{background:var(--rail);-webkit-backdrop-filter:none}.modal-card{background:var(--surface);-webkit-backdrop-filter:none}.modal-overlay{-webkit-backdrop-filter:none}}.modal-overlay{-webkit-backdrop-filter:blur(40px)saturate(1.2);z-index:var(--z-modal);background:var(--lightningcss-light,#11131cc7)var(--lightningcss-dark,#000000d1);justify-content:center;align-items:flex-start;padding:8vh 16px;display:flex;position:fixed;inset:0}dialog.modal-overlay{width:100%;max-width:none;height:100%;max-height:none;color:inherit;border:none;margin:0}dialog.modal-overlay::backdrop{background:0 0}.modal-card{z-index:1;background:color-mix(in oklab, canvas 92%, transparent);-webkit-backdrop-filter:blur(20px)saturate(1.4);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:520px;box-shadow:var(--shadow-sm);max-height:84vh;padding:20px;position:relative;overflow-y:auto}.modal-head{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.modal-head h3{font-size:var(--text-subtitle)}.card-head{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;padding:10px 16px 4px;display:flex}.card-head strong{overflow-wrap:anywhere;min-width:0}.card-sub{font-size:var(--text-label);line-height:var(--leading-body);color:var(--muted);overflow-wrap:anywhere;min-width:0;padding:0 16px 8px}.card-active{border-color:var(--accent-ring)}.card-right{font-size:var(--text-caption);color:var(--faint);align-items:center;gap:4px;margin-left:auto;display:flex}.btn-icon-danger.card-right{appearance:none;color:var(--red);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center}.btn-icon-danger.card-right:hover{background:var(--red-soft);border-color:var(--red-soft);color:var(--red)}.card-row{justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.badge-primary{background:var(--accent-soft);color:var(--accent-hover)}.dot-blue{background:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.dot-muted{background:var(--muted)}.dot-amber{background:var(--amber);box-shadow:0 0 0 3px var(--amber-soft)}.section-sep{align-items:center;gap:10px;margin:20px 0 12px;display:flex}.section-label{font-size:var(--text-label);color:var(--muted);font-weight:var(--weight-medium);white-space:nowrap}.sep-line{background:var(--border);flex:1;height:1px}.quota-compact{gap:4px;padding:0 16px 10px;display:grid}.codex-account-quota-slot{box-sizing:border-box;min-height:48px}.codex-auth-load-skeleton{display:contents}.codex-auth-load-skeleton__main{border-color:var(--border)}.codex-auth-load-skeleton__line{vertical-align:middle;background:linear-gradient(90deg, var(--raised) 0%, var(--surface) 50%, var(--raised) 100%);background-size:200% 100%;border-radius:4px;height:.9em;animation:1.2s ease-in-out infinite codex-auth-skeleton-shimmer;display:inline-block}.codex-auth-load-skeleton__line--sub{width:12rem;position:absolute;top:.35em;left:16px}.codex-auth-load-skeleton__main .card-sub{min-height:calc(var(--leading-body) * 1em + 10px);position:relative}.codex-auth-load-skeleton__strut{visibility:hidden;white-space:nowrap;display:inline-block}.codex-auth-load-skeleton__empty{pointer-events:none}.codex-auth-pool-empty{box-sizing:border-box}.openai-account-mode-banner__desc{margin:6px 0 0;padding-left:0;padding-right:0}.openai-account-mode-banner__desc--pending{visibility:hidden;min-height:1.35em}.openai-account-mode-banner__badge-slot{justify-content:center;min-width:4.5rem}.codex-ticket-badge-slot{visibility:hidden;pointer-events:none;justify-content:center;min-width:2.25rem}.quota-compact--pending{box-sizing:border-box;height:48px;min-height:48px;max-height:48px;overflow:hidden}.quota-compact--pending .quota-row--skeleton{height:18px;min-height:0}.quota-skel{border-radius:var(--radius-2xs);background:linear-gradient(90deg, var(--raised) 0%, var(--surface) 50%, var(--raised) 100%);background-size:200% 100%;height:8px;animation:1.2s ease-in-out infinite codex-auth-skeleton-shimmer;display:block}.quota-skel--reset{width:34px}.quota-skel--bar{align-self:center;width:100%;height:5px}.quota-skel--val{justify-self:end;width:28px}.quota-row{grid-template-columns:minmax(34px,max-content) 34px minmax(34px,44px) minmax(38px,42px) minmax(58px,1fr) minmax(30px,max-content);align-items:center;gap:8px;min-width:0;display:grid}.quota-label{font-size:var(--text-caption);color:var(--muted);font-weight:var(--weight-semibold)}.quota-val{font-size:var(--text-caption);font-family:var(--font-code);color:var(--text);text-align:right}.quota-reset-label{text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-caption);color:var(--faint);overflow:hidden}.quota-reset-day,.quota-reset-time{font-size:var(--text-caption);color:var(--muted);white-space:nowrap}.quota-reset-time{font-family:var(--font-code)}.bar{background:var(--raised);border-radius:var(--radius-2xs);min-width:0;height:5px;overflow:hidden}.bar-fill{border-radius:var(--radius-2xs);width:100%;height:100%;transform:scaleX(var(--bar-scale,0));transform-origin:0;transition:transform var(--motion-normal)}.bar-green{background:var(--green)}.bar-amber{background:linear-gradient(90deg, var(--green), var(--amber))}.quota-row--skeleton{min-height:18px}.quota-skel{border-radius:var(--radius-2xs);background:color-mix(in srgb, var(--muted) 22%, transparent);min-height:8px;display:inline-block}.quota-skel--label,.quota-skel--reset{width:34px}.quota-skel--day{width:36px}.quota-skel--time{width:38px}.quota-skel--bar{width:100%;min-height:5px}.quota-skel--val{width:30px}.openai-account-mode-banner__badge-slot--pending{visibility:hidden}.toggle{width:var(--toggle-w);height:var(--toggle-h);border-radius:var(--radius-pill);background:var(--toggle-off-bg);border:1px solid var(--border);cursor:pointer;transition:background var(--motion-normal), border-color var(--motion-normal);flex-shrink:0;position:relative}.toggle.on{background:var(--toggle-on-bg);border-color:var(--toggle-on-bg)}.toggle-knob{border-radius:var(--radius-round);width:16px;height:16px;transition:left var(--motion-normal), background var(--motion-normal);background:var(--lightningcss-light,#fff)var(--lightningcss-dark,#ececec);position:absolute;top:50%;left:1px;transform:translateY(-50%)}.toggle.on .toggle-knob{background:var(--toggle-dot-color);left:17px}.toggle:disabled{cursor:not-allowed;opacity:.55}.codex-auto-switch-card{flex-wrap:wrap;gap:16px}.codex-auto-switch-copy{flex:auto;min-width:0}.codex-auto-switch-copy .card-sub{padding:2px 0 0}.codex-auto-switch-controls{flex:none;align-items:flex-end;gap:12px;margin-left:auto;display:flex}.codex-auto-switch-toggle-slot{flex:none;justify-content:flex-end;align-items:center;min-height:36px;margin-left:auto;display:inline-flex}.codex-auto-switch-threshold{flex-direction:column;align-items:flex-start;margin:0;display:flex}.codex-auto-switch-threshold .field-label{white-space:nowrap;margin-bottom:4px}.codex-auto-switch-input-wrap{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);align-items:stretch;gap:0;width:max-content;max-width:100%;min-height:32px;display:inline-flex;overflow:hidden}.codex-auto-switch-input-wrap:focus-within{border-color:var(--accent-ring);box-shadow:0 0 0 1px var(--accent-ring)}.codex-auto-switch-input-wrap .input,.codex-auto-switch-input-wrap .codex-auto-switch-input{box-shadow:none;background:0 0;border:none;border-radius:0;align-self:stretch;height:auto;min-height:0}.codex-auto-switch-input-wrap .input:focus{box-shadow:none;border-color:#0000}.codex-auto-switch-input{text-align:right;font-variant-numeric:tabular-nums;width:84px}.codex-auto-switch-input[readonly]{cursor:progress;opacity:.7}.codex-auto-switch-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.codex-auto-switch-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.codex-auto-switch-input[type=number]{appearance:textfield}.codex-auto-switch-unit{color:var(--muted);font-size:var(--text-control);flex:none;align-items:center;padding-right:8px;display:inline-flex}.codex-auto-switch-feedback{color:var(--muted);font-size:var(--text-label);line-height:var(--leading-body);text-align:right;flex:1 0 100%;margin-top:-8px}.codex-auto-switch-feedback.is-error{color:var(--red)}.ocx-stepper{flex-direction:column;flex:none;gap:2px;display:inline-flex}.ocx-stepper__btn{appearance:none;border:1px solid var(--border);border-radius:var(--radius-2xs);background:var(--raised);width:22px;height:16px;color:var(--muted);cursor:pointer;justify-content:center;align-items:center;padding:0;display:inline-flex}.ocx-stepper__btn:hover:not(:disabled){color:var(--text);border-color:var(--faint)}.ocx-stepper__btn:disabled{opacity:.45;cursor:not-allowed}.ocx-stepper__btn:focus-visible{outline:2px solid var(--accent-ring);outline-offset:1px}.ocx-stepper__btn svg{display:block}.codex-auto-switch-input-wrap .ocx-stepper{border-left:1px solid var(--border);align-self:stretch;gap:0}.codex-auto-switch-input-wrap .ocx-stepper__btn{background:var(--raised);border:none;border-radius:0;flex:1 1 0;width:26px;height:auto;min-height:0}.codex-auto-switch-input-wrap .ocx-stepper__btn+.ocx-stepper__btn{border-top:1px solid var(--border)}.codex-auto-switch-input-wrap .ocx-stepper__btn:hover:not(:disabled){background:var(--surface);border-color:#0000}.codex-auto-switch-input-wrap .ocx-stepper__btn:focus-visible{outline-offset:-2px;z-index:1}.codex-auth-page-head{align-items:flex-start}.codex-auth-page-head__actions{align-items:center;gap:10px;min-width:0;display:flex}.codex-auth-action-btn:hover:not(:disabled){background:var(--raised-hover);border-color:var(--faint);color:var(--text)}.codex-auth-action-btn.btn-primary:hover:not(:disabled){background:var(--accent-hover);color:var(--accent-ink);border-color:#0000}.codex-auth-action-btn:focus-visible{outline:2px solid var(--accent-ring);outline-offset:1px}.codex-auth-page-head__feedback{min-width:8rem;max-width:18rem;min-height:calc(var(--leading-body) * 1em);text-align:right;font-size:var(--text-label);line-height:var(--leading-body);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;justify-content:flex-end;align-items:center;display:inline-flex;overflow:hidden}.codex-auth-page-head__feedback.is-ok{color:var(--green)}.codex-auth-page-head__feedback.is-err{color:var(--red)}.codex-auth-pause-label{text-align:center;display:inline-block}@keyframes codex-auth-skeleton-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.account-pool-strategy-card{gap:8px;margin-top:16px;padding:14px 16px;display:grid}.account-pool-strategy-card>strong{margin:0;display:block}.account-pool-strategy-card>.card-sub,.account-pool-strategy-controls>.card-sub,.account-pool-strategy-controls .field .card-sub{margin:0;padding:0}.account-pool-strategy-card__retry{justify-self:start}.account-pool-strategy-card__error{color:var(--danger,#c44)}.account-pool-strategy-controls{gap:8px;margin:0;display:grid}.account-pool-strategy-controls .field{gap:6px;margin:0;display:grid}.account-pool-strategy-controls .field-label{margin-bottom:0}.account-pool-strategy-controls .custom-select{width:100%;max-width:100%}.account-pool-strategy-controls .select-trigger{border-radius:var(--radius-sm);justify-content:space-between;width:100%;max-width:100%}.account-pool-strategy-controls .select-trigger>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.api-active-keys-skeleton{border:1px solid var(--border-soft);border-radius:var(--radius);background:linear-gradient(90deg, var(--raised) 0%, var(--surface) 50%, var(--raised) 100%);background-size:200% 100%;min-height:96px;animation:1.2s ease-in-out infinite codex-auth-skeleton-shimmer}.notice-warn{font-size:var(--text-label);line-height:var(--leading-body);border-radius:var(--radius-sm);background:var(--lightningcss-light,#fffbeb)var(--lightningcss-dark,color-mix(in oklab, var(--amber) 20%, var(--surface)));color:var(--lightningcss-light,#92400e)var(--lightningcss-dark,#fef3c7);border:1px solid color-mix(in srgb, var(--amber) 32%, transparent);max-width:var(--prose-measure);align-items:center;gap:6px;margin-bottom:12px;padding:8px 10px;display:flex}.notice-warn svg{width:14px;height:14px;color:var(--amber);flex-shrink:0}.startup-runtime-notice__text,.startup-runtime-notice__fix code{color:inherit}.startup-page-sub{margin-bottom:0}.startup-page-head-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.startup-runtime-notice-slot{min-height:52px;margin-bottom:12px}.startup-runtime-notice-slot--pending{border-radius:var(--radius-sm);background:color-mix(in srgb, var(--amber-soft) 45%, transparent)}.startup-runtime-notice-slot .startup-runtime-notice{margin-bottom:0}.notice.notice-warn.startup-page-notice{box-sizing:border-box;width:100%;max-width:none}.notice.notice-warn.startup-runtime-notice{flex-direction:column;align-items:stretch;gap:8px;display:flex}.startup-runtime-notice__text{max-width:none;margin:0}.startup-runtime-notice__fix{justify-content:space-between;align-items:center;gap:12px;min-width:0;display:flex}.startup-runtime-notice__fix code{overflow-wrap:anywhere;flex:auto;min-width:0;margin:0}.startup-runtime-notice__fix .btn{flex:none}.startup-hero{align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.startup-hero--safe{border-color:color-mix(in srgb, var(--green) 34%, var(--border));background:color-mix(in srgb, var(--green-soft) 64%, var(--surface))}.startup-hero--risk{border-color:color-mix(in srgb, var(--amber) 40%, var(--border));background:color-mix(in srgb, var(--amber-soft) 72%, var(--surface))}.startup-hero--native{border-color:color-mix(in srgb, var(--accent) 20%, var(--border))}.startup-hero-icon{border-radius:var(--radius);background:var(--raised);flex:none;place-items:center;width:42px;height:42px;display:grid}.startup-hero-icon svg{width:21px;height:21px}.startup-hero-copy h3{font-size:var(--text-title);margin:10px 0 4px}.startup-hero-copy p{color:var(--muted);line-height:var(--leading-body);max-width:var(--prose-measure);margin:0}.startup-state-grid{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px;display:grid}.startup-state-grid .value{font-size:var(--text-subtitle)}.startup-details,.startup-actions{margin-bottom:16px}.startup-actions .panel-head>svg{flex:none;width:18px;height:18px}.startup-detail-row{border-top:1px solid var(--border-soft);justify-content:space-between;align-items:center;gap:16px;padding:12px 0;display:flex}.startup-detail-row>div{flex-direction:column;gap:3px;min-width:0;display:flex}.startup-detail-row>.startup-detail-actions{flex-direction:row;flex:none;justify-content:flex-end;align-items:center;gap:8px}.startup-detail-row span:not(.badge){color:var(--muted);font-size:var(--text-label);line-height:var(--leading-body)}.startup-actions>.muted{font-size:var(--text-control);max-width:var(--prose-measure);margin:-4px 0 14px}.startup-tray-buttons{flex-wrap:wrap;gap:10px;min-height:36px;margin-top:16px;display:flex}.startup-tray-error{margin-top:12px}.startup-command-list{border:1px solid var(--border-soft);border-radius:var(--radius-sm);overflow:hidden}.startup-command-row{justify-content:space-between;align-items:center;gap:16px;padding:12px;display:flex}.startup-command-row+.startup-command-row{border-top:1px solid var(--border-soft)}.startup-command-row>div{flex-direction:column;gap:5px;min-width:0;display:flex}.startup-command-row strong{font-size:var(--text-control)}.startup-command-row code{color:var(--muted);font-size:var(--text-label);overflow-wrap:anywhere}.startup-action-notice{margin:14px 0 0}@media (width<=700px){.startup-state-grid{grid-template-columns:1fr}.startup-command-row,.startup-detail-row{align-items:flex-start}.startup-detail-row>.startup-detail-actions{flex-direction:column;align-items:flex-end}}.modal-desc{font-size:var(--text-control);line-height:var(--leading-body);color:var(--muted);max-width:var(--prose-measure);margin-bottom:14px}.modal-actions{gap:8px;margin-top:16px;display:flex}.modal-actions .btn{flex:1}.log-reqid{-webkit-line-clamp:2;word-break:break-all;-webkit-box-orient:vertical;max-width:14ch;display:-webkit-box;overflow:hidden}.main-inner:has(.logs-page){max-width:1200px}.log-col-model{overflow-wrap:break-word;word-break:normal;max-width:16ch}.log-col-tokens{min-width:10ch}.log-col-time{white-space:nowrap;vertical-align:middle}.log-col-duration{white-space:nowrap}table.logs-table{width:100%;min-width:1100px}.log-col-rate{white-space:nowrap;min-width:7ch}.log-col-cost{white-space:nowrap;min-width:10ch}.log-status-cell{align-items:flex-start;gap:var(--space-0-5);min-width:7ch;line-height:var(--leading-tight);flex-direction:column;display:inline-flex}.log-detail-btn{cursor:pointer;color:var(--accent-hover);font:inherit;font-size:var(--text-caption);white-space:nowrap;background:0 0;border:none;padding:0;text-decoration:underline}.logs-auto-refresh{align-items:center;gap:var(--space-2);cursor:pointer;display:inline-flex}.logs-toolbar{align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.logs-segmented{border-radius:var(--radius-pill);background:var(--surface-soft,var(--raised));padding:var(--space-1);gap:var(--space-1);display:inline-flex}.logs-segmented .btn{border-radius:var(--radius-pill);min-width:64px;padding:var(--space-1-5) var(--space-3);border:none}.logs-filter-field{align-items:center;gap:var(--space-2);display:inline-flex}.logs-filter-field .input{min-width:220px;max-width:360px}.logs-conversation-totals{margin-bottom:var(--space-3)}.logs-table-wrap{max-height:calc(100vh - 260px);overflow-y:auto}.logs-table thead{z-index:1;background:var(--surface);position:sticky;top:0}.logs-virtual-spacer{border:0;padding:0}.logs-stack-end{align-items:flex-end;gap:var(--space-0-5);flex-direction:column;display:inline-flex}.logs-stack-start{align-items:flex-start;gap:var(--space-0-5);flex-direction:column;display:inline-flex}.logs-model-cell{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:inline-flex}.logs-detail-info{margin-left:var(--space-2)}.log-detail-grid{gap:var(--space-2) var(--space-3);font-size:var(--text-control);grid-template-columns:max-content minmax(0,1fr);display:grid}.log-detail-break{word-break:break-all}.log-detail-card{max-width:760px}.log-detail-section{border-top:1px solid var(--border-soft);padding:14px 0}.log-detail-section:first-of-type{border-top:0;padding-top:0}.log-detail-section-title{font-size:var(--text-label);font-weight:var(--weight-semibold);color:var(--text);margin:0 0 10px}.log-detail-request-row{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.log-detail-request-row>span{min-width:0}.log-detail-notes{color:var(--muted);font-size:var(--text-label);margin:10px 0 0;padding-left:18px}.log-detail-notes-line{font-size:var(--text-label);margin:8px 0 0}.log-detail-attempts-wrap{border:1px solid var(--border-soft);border-radius:var(--radius-sm);overflow-x:auto}.log-detail-attempts{min-width:680px}.log-detail-attempts th,.log-detail-attempts td{vertical-align:top}.log-detail-raw{margin-top:14px}.log-detail-raw>summary{cursor:pointer;color:var(--muted);font-size:var(--text-label)}.log-detail-raw[open]>summary{margin-bottom:6px}.usage-cost-row{border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:var(--raised);align-items:baseline;gap:10px;margin:10px 0 4px;padding:10px 14px;display:flex}.usage-cost-value{font-size:var(--text-lg,1.15em)}@media (width<=760px){.modal-overlay{padding:16px 10px}.log-detail-card{max-height:calc(100dvh - 32px);padding:16px}.log-detail-grid{grid-template-columns:minmax(7rem,max-content) minmax(0,1fr);gap:8px 10px}.log-detail-request-row{flex-direction:column;align-items:flex-start}}.log-detail-json{background:var(--raised);border:1px solid var(--border-soft);border-radius:var(--radius-sm);font-family:var(--font-code);font-size:var(--text-caption);line-height:var(--leading-body);white-space:pre-wrap;word-break:break-all;max-height:40vh;margin:0;padding:10px 12px;overflow:auto}.setup-guide{font-size:var(--text-control);line-height:var(--leading-body);border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:4px;padding:8px 12px}.setup-guide summary{cursor:pointer;color:var(--accent-hover);font-weight:var(--weight-medium)}.setup-guide summary:hover{text-decoration:underline}.setup-guide a{color:var(--accent-hover)}.list-row{text-align:left;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--raised);cursor:pointer;width:100%;color:var(--text);font:inherit;transition:background var(--motion-fast), border-color var(--motion-fast);justify-content:space-between;align-items:center;gap:10px;padding:11px 13px;display:flex}.list-row:hover{background:var(--raised-hover);border-color:var(--accent-ring)}.list-row .title{font-weight:var(--weight-semibold);font-size:var(--text-body)}.list-row .sub{font-size:var(--text-label);color:var(--muted);margin-top:2px}.prov-card{overflow:hidden}.prov-card-main{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;padding:15px 16px;display:flex}.prov-card-disabled{opacity:.62}.prov-card-info{flex:360px;align-items:flex-start;gap:11px;min-width:0;display:flex}.prov-card-copy{flex:1;min-width:0}.prov-title{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;margin-bottom:5px;display:flex}.provider-icon{border-radius:var(--radius-xs);background:var(--raised);border:1px solid var(--border-soft);width:31px;height:31px;color:var(--text);flex:none;justify-content:center;align-items:center;display:inline-flex}.provider-icon img{object-fit:contain;width:19px;height:19px;display:block}.prov-meta{flex-wrap:wrap;align-items:center;gap:5px;min-width:0;display:flex}.prov-meta>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:100%;overflow:hidden}.provider-quota{padding-left:58px}.provider-actions{flex-shrink:0;align-items:center;gap:8px;margin-left:auto;display:flex}.openai-mode-row{flex-wrap:wrap;align-items:center;gap:10px;margin-top:10px;display:flex}.openai-mode-control .usage-segmented-btn{min-width:76px}.link-btn{color:var(--accent-hover);font:inherit;font-size:var(--text-control);cursor:pointer;background:0 0;border:none;padding:6px 2px;text-decoration:underline}.link-btn svg{flex-shrink:0;width:14px;height:14px}.prov-accounts-toggle{border:none;border-top:1px solid var(--border-soft);width:100%;color:var(--muted);font:inherit;font-size:var(--text-label);cursor:pointer;background:0 0;justify-content:center;align-items:center;gap:6px;min-height:24px;padding:4px 0;display:flex}.prov-accounts-toggle:hover{color:var(--text);background:var(--raised)}.prov-accounts-toggle .chev{transition:transform var(--motion-normal) ease;display:inline-flex}.prov-accounts-toggle .chev svg{width:12px;height:12px;transform:rotate(90deg)}.prov-accounts-toggle.open .chev svg{transform:rotate(-90deg)}.prov-accounts-list{border-top:1px solid var(--border-soft);flex-direction:column;gap:2px;padding:6px 16px 10px;display:flex}.prov-account-row{border-radius:var(--radius-xs);align-items:center;gap:8px;width:100%;min-height:32px;padding:6px 8px;display:flex}button.prov-account-row{text-align:left;color:var(--text);font:inherit;font-size:var(--text-control);line-height:var(--leading-ui);cursor:pointer;background:0 0;border:none}button.prov-account-row:hover,.prov-account-row:hover{background:var(--raised)}button.prov-account-row.active{cursor:default}.prov-account-row-main{appearance:none;min-width:0;color:inherit;text-align:left;cursor:pointer;font:inherit;font-size:var(--text-control);line-height:var(--leading-ui);background:0 0;border:0;flex:auto;align-items:center;gap:8px;padding:0;display:flex}.prov-account-row-main:disabled{cursor:default;opacity:.72}.prov-account-row .prov-account-email{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.prov-account-row .badge{flex:none}.prov-account-reauth{color:var(--accent);cursor:pointer;font:inherit;font-size:var(--text-label);border-radius:var(--radius-xs);background:0 0;border:none;flex:none;padding:4px 6px}.prov-account-reauth:hover:not(:disabled){color:var(--accent-hover);background:var(--raised)}.prov-account-reauth:disabled{opacity:.6;cursor:default}.prov-account-remove{color:var(--muted);cursor:pointer;border-radius:var(--radius-xs);background:0 0;border:none;flex:none;justify-content:center;align-items:center;padding:4px;display:inline-flex}.prov-account-remove:hover{color:var(--red);background:var(--red-soft)}.prov-account-add{color:var(--muted);font-size:var(--text-label)}.prov-account-add:hover{color:var(--accent-hover)}.prov-account-keyform{cursor:default;gap:6px}.prov-account-keyform:hover{background:0 0}.prov-account-keyform .input-sm{min-width:0;font-size:var(--text-label);height:var(--control-sm);flex:auto;padding:4px 8px}.oauth-grid{grid-template-columns:minmax(140px,max-content) minmax(0,1fr) max-content;align-items:center;gap:10px 16px;display:grid}.oauth-row{grid-column:1/-1;grid-template-columns:subgrid;align-items:center;min-height:30px;display:grid}.oauth-name{font-size:var(--text-control);font-weight:var(--weight-semibold);align-items:center;gap:8px;min-width:0;display:inline-flex}.oauth-name-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.provider-icon-sm{border-radius:var(--radius-xs);width:24px;height:24px}.provider-icon-sm img{width:15px;height:15px}.oauth-status{font-size:var(--text-control);align-items:center;gap:7px;min-width:0;display:inline-flex}.oauth-email{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.oauth-actions{justify-content:flex-end;align-items:center;gap:8px;min-width:0;display:inline-flex}.oauth-login-hint{font-size:var(--text-label);line-height:var(--leading-body);flex-direction:column;grid-column:1/-1;align-items:stretch;gap:8px;display:flex}.oauth-login-hint-links{flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}.oauth-device-code-wrap{border:1px solid var(--border);background:var(--surface);border-radius:10px;flex-wrap:wrap;align-items:center;gap:10px;padding:12px;display:flex}.oauth-device-code-label{font-size:var(--text-label);color:var(--text);font-weight:600}.oauth-device-code{letter-spacing:.14em;color:var(--text);-webkit-user-select:all;user-select:all;font-size:20px;font-weight:800}.oauth-login-paste{align-items:center;gap:8px;width:100%;display:flex}.oauth-login-paste .input{min-width:0;font-size:var(--text-label);flex:1;padding:6px 10px}@media (width<=760px){.app{grid-template-rows:auto 1fr;grid-template-columns:1fr}.mobile-topbar{z-index:var(--z-sticky);border-bottom:1px solid var(--border);background:var(--glass-rail);min-width:0;-webkit-backdrop-filter:var(--glass-blur);align-items:center;gap:2px;padding:4px 10px;display:flex;position:sticky;top:0}.mobile-topbar .brand{flex:auto;min-width:0;padding:4px}.mobile-topbar .stop-toggle{justify-content:center;width:auto;min-width:44px;min-height:44px;padding:8px}.menu-toggle{display:inline-flex}.sidebar{z-index:var(--z-popover);width:min(280px,84vw);height:100dvh;padding-bottom:calc(18px + env(safe-area-inset-bottom));visibility:hidden;transition:transform var(--motion-normal) ease, visibility var(--motion-normal);background:var(--lightningcss-light,#f9f9f9f7)var(--lightningcss-dark,#171717f5);outline:none;position:fixed;top:0;bottom:0;left:0;overflow-y:auto;transform:translate(-100%)}.sidebar.open{visibility:visible;transform:translate(0);box-shadow:0 12px 40px var(--lightningcss-light,#14141438)var(--lightningcss-dark,#00000080)}.drawer-scrim{display:block}.main-inner{padding:22px 18px 48px}.main-inner.main-inner--combos{height:100%;min-height:0;padding:0;overflow:hidden}.setting-row{flex-wrap:wrap}.setting-row .setting-copy{flex:100%!important}.setting-row .setting-controls{width:100%}.setting-row .setting-controls .select-sm{flex:1 1 0;min-width:0}.setting-row>.select-sm{width:100%}.api-form-row{flex-direction:column;align-items:stretch}.api-form-row .btn{width:100%;min-height:40px}.codex-auto-switch-card{flex-direction:column;align-items:stretch}.codex-auto-switch-controls{justify-content:space-between;align-items:flex-end;width:100%}.codex-auto-switch-feedback{text-align:left;margin-top:-6px}.stat-row>.stat{min-width:100px}.tbl{min-width:460px}.usage-cards{grid-template-columns:repeat(2,minmax(0,1fr))!important}.provider-quota{padding-left:16px}.prov-meta{grid-template-columns:max-content minmax(0,1fr);width:100%;display:grid}.prov-meta .chip~span:not(:last-child){display:none}.oauth-grid{grid-template-columns:minmax(0,auto) minmax(0,1fr) max-content;column-gap:8px}.sidebar .lang-toggle .select-dropdown-beside{inset:auto auto calc(100% + 6px) 0}}.usage-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:8px;display:grid}.usage-cards .stat-value{font-size:var(--text-title);font-weight:var(--weight-semibold);margin-top:4px}.usage-head{flex-wrap:wrap;align-items:flex-start}.usage-filters{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.usage-segmented{border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface);gap:2px;padding:2px;display:inline-flex}.usage-segmented-btn{color:var(--muted);border-radius:var(--radius-pill);cursor:pointer;font:inherit;white-space:nowrap;background:0 0;border:none;justify-content:center;align-items:center;gap:6px;padding:4px 12px;display:inline-flex}.usage-segmented-btn.active{background:var(--raised);color:var(--text);font-weight:var(--weight-semibold)}.usage-source-mark{width:var(--icon-sm);height:var(--icon-sm);object-fit:contain;flex:none}:root[data-theme=dark] .usage-source-mark{filter:invert()}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .usage-source-mark{filter:invert()}}@media (width<=760px){.usage-segmented-btn{min-height:var(--control-touch)}.openai-mode-row{flex-direction:column;align-items:stretch;gap:6px}.openai-mode-control{width:100%}.openai-mode-control .usage-segmented-btn{flex:1 1 0;min-width:0}}@media (width<=640px){.usage-source-btn .usage-source-label-collapsible{display:none}}@media (width<=360px){.usage-filters{flex-direction:column;align-items:stretch;width:100%}.usage-segmented{width:100%}.usage-segmented-btn{flex:1 1 0}}.panel-title{font-size:var(--text-body);font-weight:var(--weight-semibold);color:var(--text);margin:0 0 12px}.panel-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.panel-head .panel-title{margin:0}.panel-head .input{max-width:220px}.heatmap{--hm-cell:11px;--hm-gap:3px;flex-direction:column;gap:6px;padding-bottom:4px;display:flex;overflow-x:auto}.heatmap-months{font-size:var(--text-caption);color:var(--muted);width:max-content;margin-bottom:-2px;display:grid}.heatmap-day-spacer{grid-column:1}.heatmap-month{white-space:nowrap}.heatmap-body{gap:var(--hm-gap);width:max-content;display:flex}.heatmap-days{grid-template-rows:repeat(7, var(--hm-cell));row-gap:var(--hm-gap);font-size:var(--text-micro);color:var(--muted);background:var(--surface);z-index:1;flex-shrink:0;align-items:center;width:25px;display:grid;position:sticky;left:0}.heatmap-grid{gap:var(--hm-gap);display:grid}.heatmap-week{grid-template-rows:repeat(7, var(--hm-cell));gap:var(--hm-gap);display:grid}.heatmap-cell{width:var(--hm-cell);height:var(--hm-cell);border-radius:var(--radius-2xs);background:var(--border)}.heatmap-cell-0{background:var(--border)}.heatmap-cell-1{background:color-mix(in oklch, var(--green) 25%, var(--surface))}.heatmap-cell-2{background:color-mix(in oklch, var(--green) 50%, var(--surface))}.heatmap-cell-3{background:color-mix(in oklch, var(--green) 75%, var(--surface))}.heatmap-cell-4{background:var(--green)}.heatmap-legend{font-size:var(--text-label);align-self:flex-end;align-items:center;gap:4px;display:inline-flex;position:sticky;right:0}.heatmap-legend .heatmap-cell{width:10px;height:10px}.heatmap-tip{z-index:10;pointer-events:none;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);white-space:nowrap;font-size:var(--text-label);padding:6px 10px;position:fixed;transform:translate(-50%,-100%)translateY(-8px)}.heatmap-tip-date{font-weight:var(--weight-semibold);color:var(--text);margin-bottom:2px}.heatmap-tip-val{color:var(--text);font-variant-numeric:tabular-nums}.heatmap-tip-req{font-size:var(--text-caption)}.usage-bar{background:var(--border);border-radius:var(--radius-pill);width:100%;min-width:60px;height:6px;overflow:hidden}.usage-bar-fill{background:var(--green);border-radius:var(--radius-pill);height:100%}.daybars{grid-template-columns:repeat(7,1fr);align-items:end;gap:10px;height:180px;padding-top:8px;display:grid}.daybar{flex-direction:column;justify-content:flex-end;align-items:center;gap:6px;height:100%;display:flex;position:relative}.daybar-track{background:var(--border);border-radius:var(--radius-xs);flex:1;align-items:flex-end;width:100%;max-width:48px;display:flex;overflow:hidden}.daybar-stack{border-radius:var(--radius-xs) var(--radius-xs) 0 0;width:100%;height:100%;min-height:2px;transform:scaleY(var(--daybar-scale,0));transform-origin:bottom;transition:transform var(--motion-normal) ease;flex-direction:column-reverse;display:flex;overflow:hidden}.daybar-seg{width:100%;min-height:1px}.daybar-count{font-size:var(--text-label);font-weight:var(--weight-semibold);color:var(--text)}.daybar-label{font-size:var(--text-caption);white-space:nowrap}.daybar:hover .daybar-track{outline:1px solid var(--border)}.daybar-tip{z-index:5;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);min-width:160px;box-shadow:var(--shadow-sm);pointer-events:none;padding:8px 10px;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.daybar-tip-date{font-size:var(--text-label);font-weight:var(--weight-semibold);color:var(--text);white-space:nowrap;margin-bottom:6px}.daybar-tip-row{font-size:var(--text-label);line-height:var(--leading-relaxed);align-items:center;gap:8px;display:flex}.daybar-tip-swatch{border-radius:var(--radius-2xs);flex-shrink:0;width:10px;height:10px}.daybar-tip-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;flex:1;max-width:160px;overflow:hidden}.daybar-tip-val{color:var(--muted);font-variant-numeric:tabular-nums}.toggle{width:var(--toggle-w);height:var(--toggle-h);flex-shrink:0;display:inline-block;position:relative}.toggle input{opacity:0;width:0;height:0;position:absolute}.toggle .slider{background:var(--toggle-off-bg);border-radius:var(--radius-pill);cursor:pointer;transition:background var(--motion-normal) ease;position:absolute;inset:0}.toggle .slider:after{content:"";width:var(--toggle-dot);height:var(--toggle-dot);background:var(--toggle-dot-color);border-radius:var(--radius-round);transition:transform var(--motion-normal) ease;position:absolute;top:50%;left:3px;transform:translateY(-50%)}.toggle input:checked+.slider{background:var(--toggle-on-bg)}.toggle input:checked+.slider:after{transform:translate(calc(var(--toggle-w) - var(--toggle-dot) - 6px), -50%)}.toggle input:focus-visible+.slider{outline:2px solid var(--accent-ring);outline-offset:2px}.toggle input:disabled+.slider{opacity:.5;cursor:not-allowed}.setting-row{justify-content:space-between;align-items:center;gap:16px;padding:12px 16px;display:flex}.setting-row+.setting-row{border-top:1px solid var(--border-soft)}.dash-delegation-summary{justify-content:space-between;align-items:center;gap:16px;display:flex}.dash-delegation-controls{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;min-width:0;display:flex}.setting-label{flex-direction:column;gap:2px;min-width:0;display:flex}.setting-label .title{font-size:var(--text-body);font-weight:var(--weight-semibold);color:var(--text)}.setting-label .desc{font-size:var(--text-label);color:var(--muted);line-height:var(--leading-body)}.model-row-wrap{position:relative}.model-tip{z-index:10;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);pointer-events:none;min-width:320px;max-width:480px;max-height:360px;font-size:var(--text-control);line-height:var(--leading-relaxed);white-space:nowrap;padding:12px 16px;overflow-y:auto;box-shadow:0 6px 20px #00000059}.model-tip.has-actions{pointer-events:auto}.model-tip-id{font-family:var(--mono);font-size:var(--text-body);font-weight:var(--weight-semibold);color:var(--text);white-space:normal;word-break:break-all;margin-bottom:2px}.model-tip-display{color:var(--muted);margin-bottom:6px}.model-tip-grid{grid-template-columns:auto 1fr;gap:4px 16px;margin-bottom:6px;display:grid}.model-tip-key{color:var(--muted)}.model-tip-val{color:var(--text);font-family:var(--mono);font-size:var(--text-label)}.model-tip-actions{border-top:1px solid var(--border-soft);gap:6px;margin-top:8px;padding-top:8px;display:flex}.ocx-tooltip{align-items:center;display:inline-flex;position:relative}.ocx-tooltip-bubble{z-index:var(--z-popover);background:color-mix(in oklab, canvas 84%, transparent);-webkit-backdrop-filter:blur(20px)saturate(1.4);border:1px solid var(--border);border-radius:var(--radius-sm);width:max-content;color:var(--text);font-size:var(--text-label);line-height:var(--leading-body);white-space:normal;pointer-events:none;animation:ocx-tooltip-in var(--motion-fast) ease-out;padding:8px 12px;position:absolute;box-shadow:0 8px 32px #00000029}.ocx-tooltip-bubble--top{bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.ocx-tooltip-bubble--bottom{top:calc(100% + 8px);left:50%;transform:translate(-50%)}.ocx-tooltip-bubble--left{top:50%;right:calc(100% + 8px);transform:translateY(-50%)}.ocx-tooltip-bubble--right{top:50%;left:calc(100% + 8px);transform:translateY(-50%)}@keyframes ocx-tooltip-in{0%{opacity:0}to{opacity:1}}.modal-backdrop-dismiss{z-index:0;cursor:pointer;background:0 0;border:0;margin:0;padding:0;position:fixed;inset:0}.claude-page{flex-direction:column;min-width:0;display:flex}.claude-page-intro .page-head{margin-bottom:6px}.claude-page-intro .page-sub{margin:4px 0 14px}.claude-tabs{border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface);box-sizing:border-box;flex:none;align-items:stretch;gap:2px;min-height:42px;margin-bottom:22px;padding:3px;display:inline-flex}.claude-desktop-toolbar{justify-content:flex-end;margin-bottom:12px;display:flex}.claude-tabs button{border-radius:var(--radius-pill);min-width:88px;min-height:34px;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;padding:6px 14px;font-size:13px;font-weight:550;line-height:1.2}.claude-tabs button:hover{color:var(--text);background:var(--hover)}.claude-tabs button.active{color:var(--text);background:var(--raised);box-shadow:var(--shadow-sm)}.claude-desktop-loading{color:var(--muted);padding:28px 4px}.claude-desktop-error{flex-direction:column;align-items:flex-start;gap:12px;display:flex}.claude-desktop-head{align-items:flex-start}.claude-desktop-head .page-sub{margin-bottom:0}.claude-profile-tools,.claude-save-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.claude-profile-bar{z-index:8;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm);justify-content:space-between;align-items:center;gap:12px;margin:18px 0 16px;padding:10px 12px;display:flex;position:sticky;top:12px}.claude-dirty{color:var(--muted);font-size:12.5px;font-weight:550}.claude-dirty.active{color:var(--amber)}.ocx-group-stack{flex-direction:column;gap:10px;display:flex}.ocx-group{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);min-width:0;overflow:hidden}.ocx-group-head{background:var(--raised);justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.ocx-group-head.open{border-bottom:1px solid var(--border-soft)}.ocx-group-heading{flex:1;min-width:0;margin:0;font-size:14px}.ocx-group-toggle{width:100%;min-width:0;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;align-items:baseline;gap:10px;padding:0;display:flex}.ocx-group-name{font-size:14px;font-weight:600}.ocx-group-count{color:var(--muted);flex-shrink:0;font-size:11.5px}.ocx-chevron{color:var(--muted);transition:transform var(--motion-fast);flex-shrink:0;align-self:center}.claude-model-names{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.claude-model-names strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:13px;display:block;overflow:hidden}.claude-model-names code{color:var(--text);font-family:var(--font-code);font-weight:var(--weight-semibold);font-size:var(--text-control);letter-spacing:0;text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.claude-lane-default{min-width:0;color:var(--faint);font-family:var(--font-code);font-size:11px;font-weight:var(--weight-semibold);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.claude-default-radio{color:var(--muted);cursor:pointer;align-items:center;gap:6px;font-size:11.5px;display:inline-flex}.claude-default-needed{color:var(--amber);font-size:11.5px;font-weight:550}.claude-effective-default{color:var(--amber);margin-top:6px;font-size:11px;font-weight:550;display:inline-block}.claude-lane-models{flex-direction:column;gap:9px;min-height:104px;padding:10px;display:flex}.claude-lane-search{width:calc(100% - 20px);min-height:32px;margin:10px 10px 0;font-size:12.5px}.claude-lane-more{justify-content:center;align-self:stretch}.grok-endpoint{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);font-size:var(--text-control);align-items:center;gap:10px;margin:14px 0 6px;padding:10px 14px;display:flex}.grok-endpoint>span{color:var(--muted)}.grok-model-list{flex-direction:column;display:flex}.grok-model-row{border-top:1px solid var(--border-soft);align-items:center;gap:12px;padding:7px 14px;display:flex}.grok-model-row:first-child{border-top:0}.grok-model-names{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.grok-model-names strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;overflow:hidden}.grok-model-names code{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:10.5px;overflow:hidden}.claude-lane-empty{border:1px dashed var(--border);border-radius:var(--radius-sm);min-height:82px;color:var(--muted);text-align:center;place-items:center;padding:12px;font-size:12px;display:grid}.claude-model-card{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);box-shadow:var(--shadow-sm)}.claude-model-card[draggable=true]{cursor:grab}.claude-model-card[draggable=true]:active{cursor:grabbing}.claude-model-summary{width:100%;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:10px;padding:9px 12px;display:flex}.claude-model-summary:hover{background:var(--hover)}.claude-model-context{color:var(--muted);flex-shrink:0;font-size:11px}.claude-model-context-unknown{color:var(--faint);font-style:italic}.claude-row-default{color:var(--green);flex-shrink:0;font-size:10.5px;font-weight:600}.claude-1m-chip{border-radius:var(--radius-xs);background:color-mix(in srgb, var(--accent) 15%, transparent);color:var(--accent);letter-spacing:.02em;flex-shrink:0;padding:1px 6px;font-size:10px;font-weight:700}.claude-model-body{border-top:1px solid var(--border-soft);padding:10px 12px 12px}.claude-field{margin-top:10px;display:block}.claude-model-body>.claude-field:first-child{margin-top:0}.claude-field>span,.claude-move-row>label{color:var(--muted);margin-bottom:4px;font-size:11.5px;font-weight:550;display:block}.claude-alias{border:1px solid var(--border);border-radius:var(--radius-xs);background:var(--raised);width:100%;min-height:34px;color:var(--text);text-overflow:ellipsis;white-space:nowrap;padding:7px 10px;font-size:11.5px;display:block;overflow:hidden}.claude-default-radio{color:var(--text);margin-top:10px}.claude-move-row{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:6px;margin-top:10px;display:grid}.claude-move-row>label{grid-column:1/-1;margin:0}.claude-move-row .input{min-width:0;height:34px;padding-block:4px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=760px){.claude-tabs{width:100%;display:flex}.claude-tabs button{flex:1;min-height:44px}.claude-desktop-head{flex-direction:column}.claude-profile-tools{width:100%}.claude-profile-tools .btn{flex:1;min-height:44px}.claude-profile-bar{flex-direction:column;align-items:stretch;top:8px}.claude-save-actions .btn{flex:1;min-height:44px}.ocx-group-head{align-items:flex-start}.claude-move-row .input,.claude-move-row .btn{min-height:44px}}.claude-status-bar{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--muted);align-items:center;gap:10px;margin-bottom:14px;padding:8px 14px;font-size:12.5px;display:flex}.claude-status-bar.applied{border-color:var(--green)}.claude-status-bar.stale{border-color:var(--amber)}.claude-status-bar.not-applied,.claude-status-bar.pending{border-color:var(--border)}.claude-status-dot{background:var(--muted);border-radius:50%;flex-shrink:0;width:8px;height:8px}.claude-status-bar.applied .claude-status-dot{background:var(--green)}.claude-status-bar.stale .claude-status-dot{background:var(--amber)}.claude-status-health{margin-left:auto;font-size:11.5px}.claude-effort-badge{border-radius:var(--radius-xs);letter-spacing:.02em;flex-shrink:0;padding:1px 6px;font-size:10px;font-weight:600;display:inline-block}.claude-effort-badge.on{background:color-mix(in srgb, var(--green) 15%, transparent);color:var(--green)}.claude-effort-badge.off{background:color-mix(in srgb, var(--muted) 12%, transparent);color:var(--muted)}.clients-proxy-card{margin-bottom:16px;padding:14px 16px}.clients-proxy-row{flex-wrap:wrap;align-items:center;gap:10px 14px;display:flex}.clients-meta{color:var(--muted);font-size:var(--text-caption)}.clients-hint{color:var(--muted);font-size:var(--text-label);margin:10px 0 0}.clients-table-card{padding:0;overflow:hidden}.clients-table-wrap{overflow-x:auto}.clients-table{border-collapse:collapse;width:100%;font-size:var(--text-body)}.clients-table th,.clients-table td{text-align:left;border-bottom:1px solid var(--border);vertical-align:middle;padding:10px 14px}.clients-table th{font-size:var(--text-caption);font-weight:var(--weight-semibold);color:var(--muted);letter-spacing:.02em;background:var(--raised)}.clients-table tbody tr:last-child td{border-bottom:none}.clients-expand{color:inherit;cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;align-items:center;gap:6px;padding:0;display:inline-flex}.clients-expand:hover strong{color:var(--accent-hover)}.clients-mono{font-family:var(--font-code);font-size:var(--text-caption);word-break:break-all}.clients-muted{color:var(--muted);font-size:var(--text-label)}.clients-manage{font-size:var(--text-label);color:var(--accent-hover);text-decoration:none}.clients-manage:hover{text-decoration:underline}.clients-detail{border-top:1px solid var(--border);background:color-mix(in srgb, var(--raised) 60%, transparent);padding:12px 16px 16px}.clients-detail h3{font-size:var(--text-body);font-weight:var(--weight-semibold);margin:0 0 10px}.clients-dl{font-size:var(--text-label);grid-template-columns:minmax(100px,140px) 1fr;gap:8px 12px;margin:0;display:grid}.clients-dl dt{color:var(--muted);margin:0}.clients-dl dd{margin:0}.clients-paths,.clients-notes{margin:0;padding-left:1.1em}.clients-paths li,.clients-notes li{margin:2px 0}.clients-footer-hint{color:var(--muted);font-size:var(--text-label);margin-top:14px}.clients-footer-hint a{color:var(--accent-hover)}
@@ -1 +0,0 @@
1
- <svg width="1em" height="1em" viewBox="0 0 434 400" fill="currentColor" xmlns="http://www.w3.org/2000/svg" style="flex:none;line-height:1"><title>Antigravity</title><path d="M392.709 390.137c24.168 18.13 60.419 6.044 27.188-27.195C320.208 266.248 341.354.339 217.497.339S114.786 266.248 15.096 362.942c-36.251 36.26 3.021 45.325 27.188 27.195 93.648-63.455 87.606-175.258 175.213-175.258s81.564 111.803 175.212 175.258Z"/></svg>
@@ -1 +0,0 @@
1
- <svg fill="currentColor" fill-rule="evenodd" height="1em" style="flex:none;line-height:1" viewBox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><title>Claude</title><path d="M4.709 15.955l4.72-2.647.08-.23-.08-.128H9.2l-.79-.048-2.698-.073-2.339-.097-2.266-.122-.571-.121L0 11.784l.055-.352.48-.321.686.06 1.52.103 2.278.158 1.652.097 2.449.255h.389l.055-.157-.134-.098-.103-.097-2.358-1.596-2.552-1.688-1.336-.972-.724-.491-.364-.462-.158-1.008.656-.722.881.06.225.061.893.686 1.908 1.476 2.491 1.833.365.304.145-.103.019-.073-.164-.274-1.355-2.446-1.446-2.49-.644-1.032-.17-.619a2.97 2.97 0 01-.104-.729L6.283.134 6.696 0l.996.134.42.364.62 1.414 1.002 2.229 1.555 3.03.456.898.243.832.091.255h.158V9.01l.128-1.706.237-2.095.23-2.695.08-.76.376-.91.747-.492.584.28.48.685-.067.444-.286 1.851-.559 2.903-.364 1.942h.212l.243-.242.985-1.306 1.652-2.064.73-.82.85-.904.547-.431h1.033l.76 1.129-.34 1.166-1.064 1.347-.881 1.142-1.264 1.7-.79 1.36.073.11.188-.02 2.856-.606 1.543-.28 1.841-.315.833.388.091.395-.328.807-1.969.486-2.309.462-3.439.813-.042.03.049.061 1.549.146.662.036h1.622l3.02.225.79.522.474.638-.079.485-1.215.62-1.64-.389-3.829-.91-1.312-.329h-.182v.11l1.093 1.068 2.006 1.81 2.509 2.33.127.578-.322.455-.34-.049-2.205-1.657-.851-.747-1.926-1.62h-.128v.17l.444.649 2.345 3.521.122 1.08-.17.353-.608.213-.668-.122-1.374-1.925-1.415-2.167-1.143-1.943-.14.08-.674 7.254-.316.37-.729.28-.607-.461-.322-.747.322-1.476.389-1.924.315-1.53.286-1.9.17-.632-.012-.042-.14.018-1.434 1.967-2.18 2.945-1.726 1.845-.414.164-.717-.37.067-.662.401-.589 2.388-3.036 1.44-1.882.93-1.086-.006-.158h-.055L4.132 18.56l-1.13.146-.487-.456.061-.746.231-.243 1.908-1.312-.006.006z"></path></svg>
@@ -1 +0,0 @@
1
- <svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" fill="currentColor"><title>Copilot</title><path d="M23.922 16.997C23.061 18.492 18.063 22.02 12 22.02 5.937 22.02.939 18.492.078 16.997A.641.641 0 0 1 0 16.741v-2.869a.883.883 0 0 1 .053-.22c.372-.935 1.347-2.292 2.605-2.656.167-.429.414-1.055.644-1.517a10.098 10.098 0 0 1-.052-1.086c0-1.331.282-2.499 1.132-3.368.397-.406.89-.717 1.474-.952C7.255 2.937 9.248 1.98 11.978 1.98c2.731 0 4.767.957 6.166 2.093.584.235 1.077.546 1.474.952.85.869 1.132 2.037 1.132 3.368 0 .368-.014.733-.052 1.086.23.462.477 1.088.644 1.517 1.258.364 2.233 1.721 2.605 2.656a.841.841 0 0 1 .053.22v2.869a.641.641 0 0 1-.078.256Zm-11.75-5.992h-.344a4.359 4.359 0 0 1-.355.508c-.77.947-1.918 1.492-3.508 1.492-1.725 0-2.989-.359-3.782-1.259a2.137 2.137 0 0 1-.085-.104L4 11.746v6.585c1.435.779 4.514 2.179 8 2.179 3.486 0 6.565-1.4 8-2.179v-6.585l-.098-.104s-.033.045-.085.104c-.793.9-2.057 1.259-3.782 1.259-1.59 0-2.738-.545-3.508-1.492a4.359 4.359 0 0 1-.355-.508Zm2.328 3.25c.549 0 1 .451 1 1v2c0 .549-.451 1-1 1-.549 0-1-.451-1-1v-2c0-.549.451-1 1-1Zm-5 0c.549 0 1 .451 1 1v2c0 .549-.451 1-1 1-.549 0-1-.451-1-1v-2c0-.549.451-1 1-1Zm3.313-6.185c.136 1.057.403 1.913.878 2.497.442.544 1.134.938 2.344.938 1.573 0 2.292-.337 2.657-.751.384-.435.558-1.15.558-2.361 0-1.14-.243-1.847-.705-2.319-.477-.488-1.319-.862-2.824-1.025-1.487-.161-2.192.138-2.533.529-.269.307-.437.808-.438 1.578v.021c0 .265.021.562.063.893Zm-1.626 0c.042-.331.063-.628.063-.894v-.02c-.001-.77-.169-1.271-.438-1.578-.341-.391-1.046-.69-2.533-.529-1.505.163-2.347.537-2.824 1.025-.462.472-.705 1.179-.705 2.319 0 1.211.175 1.926.558 2.361.365.414 1.084.751 2.657.751 1.21 0 1.902-.394 2.344-.938.475-.584.742-1.44.878-2.497Z"/></svg>
@@ -1,2 +0,0 @@
1
- <!-- Source: https://cursor.com/en-US/brand (brand-logo-7.svg), cropped to mono symbol. -->
2
- <svg width="1em" height="1em" viewBox="675 357 250 286" fill="none" xmlns="http://www.w3.org/2000/svg"><title>Cursor</title><path fill="currentColor" d="M920.015 424.958L805.919 359.086C802.256 356.97 797.735 356.97 794.071 359.086L679.981 424.958C676.901 426.736 675 430.025 675 433.587V566.419C675 569.981 676.901 573.269 679.981 575.048L794.077 640.92C797.74 643.036 802.261 643.036 805.925 640.92L920.02 575.048C923.1 573.269 925.001 569.981 925.001 566.419V433.587C925.001 430.025 923.1 426.736 920.02 424.958H920.015ZM912.848 438.911L802.706 629.682C801.961 630.968 799.995 630.443 799.995 628.954V504.039C799.995 501.543 798.662 499.234 796.498 497.981L688.321 435.526C687.036 434.781 687.561 432.816 689.05 432.816H909.334C912.462 432.816 914.417 436.206 912.853 438.917H912.848V438.911Z"/></svg>
@@ -1 +0,0 @@
1
- <svg fill="currentColor" fill-rule="evenodd" height="1em" style="flex:none;line-height:1" viewBox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><title>Gemini</title><path d="M20.616 10.835a14.147 14.147 0 01-4.45-3.001 14.111 14.111 0 01-3.678-6.452.503.503 0 00-.975 0 14.134 14.134 0 01-3.679 6.452 14.155 14.155 0 01-4.45 3.001c-.65.28-1.318.505-2.002.678a.502.502 0 000 .975c.684.172 1.35.397 2.002.677a14.147 14.147 0 014.45 3.001 14.112 14.112 0 013.679 6.453.502.502 0 00.975 0c.172-.685.397-1.351.677-2.003a14.145 14.145 0 013.001-4.45 14.113 14.113 0 016.453-3.678.503.503 0 000-.975 13.245 13.245 0 01-2.003-.678z"></path></svg>
@@ -1 +0,0 @@
1
- <svg fill="currentColor" fill-rule="evenodd" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>Grok</title><path d="M9.27 15.29l7.978-5.897c.391-.29.95-.177 1.137.272.98 2.369.542 5.215-1.41 7.169-1.951 1.954-4.667 2.382-7.149 1.406l-2.711 1.257c3.889 2.661 8.611 2.003 11.562-.953 2.341-2.344 3.066-5.539 2.388-8.42l.006.007c-.983-4.232.242-5.924 2.75-9.383.06-.082.12-.164.179-.248l-3.301 3.305v-.01L9.267 15.292M7.623 16.723c-2.792-2.67-2.31-6.801.071-9.184 1.761-1.763 4.647-2.483 7.166-1.425l2.705-1.25a7.808 7.808 0 00-1.829-1A8.975 8.975 0 005.984 5.83c-2.533 2.536-3.33 6.436-1.962 9.764 1.022 2.487-.653 4.246-2.34 6.022-.599.63-1.199 1.259-1.682 1.925l7.62-6.815"/></svg>
@@ -1,14 +0,0 @@
1
- <!-- Source: https://kiro.dev/icon.svg (official Kiro mascot mark, fetched 2026-05-31) -->
2
- <svg width="1em" height="1em" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
3
- <title>Kiro</title>
4
- <g transform="scale(0.02)">
5
- <mask id="kiroMonoMask" style="mask-type:luminance" maskUnits="userSpaceOnUse" x="272" y="202" width="655" height="796">
6
- <path d="M926.578 202.793H272.637V997.857H926.578V202.793Z" fill="white"/>
7
- </mask>
8
- <g mask="url(#kiroMonoMask)">
9
- <path d="M398.554 818.914C316.315 1001.03 491.477 1046.74 620.672 940.156C658.687 1059.66 801.052 970.473 852.234 877.795C964.787 673.567 919.318 465.357 907.64 422.374C827.637 129.443 427.623 128.946 358.8 423.865C342.651 475.544 342.402 534.18 333.458 595.051C328.986 625.86 325.507 645.488 313.83 677.785C306.873 696.424 297.68 712.819 282.773 740.645C259.915 783.881 269.604 867.113 387.87 823.883L399.051 818.914H398.554Z" fill="currentColor"/>
10
- <path d="M636.123 549.353C603.328 549.353 598.359 510.097 598.359 486.742C598.359 465.623 602.086 448.977 609.293 438.293C615.504 428.852 624.697 424.131 636.123 424.131C647.555 424.131 657.492 428.852 664.447 438.541C672.398 449.474 676.623 466.12 676.623 486.742C676.623 525.998 661.471 549.353 636.375 549.353H636.123Z" fill="black"/>
11
- <path d="M771.24 549.353C738.445 549.353 733.477 510.097 733.477 486.742C733.477 465.623 737.203 448.977 744.41 438.293C750.621 428.852 759.814 424.131 771.24 424.131C782.672 424.131 792.609 428.852 799.564 438.541C807.516 449.474 811.74 466.12 811.74 486.742C811.74 525.998 796.588 549.353 771.492 549.353H771.24Z" fill="black"/>
12
- </g>
13
- </g>
14
- </svg>
@@ -1,20 +0,0 @@
1
- export type InternalCliCommand = "__tray-start" | "__tray-restart" | "__startup-health";
2
-
3
- export interface InternalCliHandlers {
4
- trayStart: () => void | Promise<void>;
5
- trayRestart: () => void | Promise<void>;
6
- startupHealth: () => void | Promise<void>;
7
- }
8
-
9
- /** Dispatch fixed internal commands without accepting caller-selected process arguments. */
10
- export async function dispatchInternalCliCommand(
11
- command: InternalCliCommand,
12
- handlers: InternalCliHandlers,
13
- ): Promise<void> {
14
- switch (command) {
15
- case "__tray-start": return void await handlers.trayStart();
16
- case "__tray-restart": return void await handlers.trayRestart();
17
- case "__startup-health": return void await handlers.startupHealth();
18
- default: throw new Error(`Unsupported internal CLI command: ${String(command)}`);
19
- }
20
- }