@cluesmith/codev 3.3.5 → 3.3.6

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 (231) hide show
  1. package/dashboard-dist/assets/{index-r3bZzLmX.css → index-BjcqV9Vv.css} +1 -1
  2. package/dashboard-dist/assets/{index-BuflRUi6.js → index-b7GnZV2i.js} +55 -55
  3. package/dashboard-dist/assets/index-b7GnZV2i.js.map +1 -0
  4. package/dashboard-dist/index.html +2 -2
  5. package/dist/agent-farm/cli.d.ts.map +1 -1
  6. package/dist/agent-farm/cli.js +50 -17
  7. package/dist/agent-farm/cli.js.map +1 -1
  8. package/dist/agent-farm/commands/architect.d.ts.map +1 -1
  9. package/dist/agent-farm/commands/architect.js +5 -1
  10. package/dist/agent-farm/commands/architect.js.map +1 -1
  11. package/dist/agent-farm/commands/attach.d.ts +1 -1
  12. package/dist/agent-farm/commands/attach.d.ts.map +1 -1
  13. package/dist/agent-farm/commands/cleanup.d.ts +1 -1
  14. package/dist/agent-farm/commands/cleanup.d.ts.map +1 -1
  15. package/dist/agent-farm/commands/cleanup.js +2 -1
  16. package/dist/agent-farm/commands/cleanup.js.map +1 -1
  17. package/dist/agent-farm/commands/decisions.d.ts +25 -0
  18. package/dist/agent-farm/commands/decisions.d.ts.map +1 -0
  19. package/dist/agent-farm/commands/decisions.js +54 -0
  20. package/dist/agent-farm/commands/decisions.js.map +1 -0
  21. package/dist/agent-farm/commands/ide.d.ts +32 -3
  22. package/dist/agent-farm/commands/ide.d.ts.map +1 -1
  23. package/dist/agent-farm/commands/ide.js +180 -19
  24. package/dist/agent-farm/commands/ide.js.map +1 -1
  25. package/dist/agent-farm/commands/reset/context.d.ts +4 -2
  26. package/dist/agent-farm/commands/reset/context.d.ts.map +1 -1
  27. package/dist/agent-farm/commands/reset/context.js +12 -4
  28. package/dist/agent-farm/commands/reset/context.js.map +1 -1
  29. package/dist/agent-farm/commands/send.d.ts.map +1 -1
  30. package/dist/agent-farm/commands/send.js +13 -18
  31. package/dist/agent-farm/commands/send.js.map +1 -1
  32. package/dist/agent-farm/commands/spawn-worktree.d.ts +7 -0
  33. package/dist/agent-farm/commands/spawn-worktree.d.ts.map +1 -1
  34. package/dist/agent-farm/commands/spawn-worktree.js +51 -18
  35. package/dist/agent-farm/commands/spawn-worktree.js.map +1 -1
  36. package/dist/agent-farm/commands/spawn.d.ts +17 -0
  37. package/dist/agent-farm/commands/spawn.d.ts.map +1 -1
  38. package/dist/agent-farm/commands/spawn.js +41 -19
  39. package/dist/agent-farm/commands/spawn.js.map +1 -1
  40. package/dist/agent-farm/lib/builder-lookup.d.ts +3 -2
  41. package/dist/agent-farm/lib/builder-lookup.d.ts.map +1 -1
  42. package/dist/agent-farm/lib/builder-lookup.js +24 -9
  43. package/dist/agent-farm/lib/builder-lookup.js.map +1 -1
  44. package/dist/agent-farm/lib/ide-extensions.d.ts +82 -0
  45. package/dist/agent-farm/lib/ide-extensions.d.ts.map +1 -0
  46. package/dist/agent-farm/lib/ide-extensions.js +179 -0
  47. package/dist/agent-farm/lib/ide-extensions.js.map +1 -0
  48. package/dist/agent-farm/lib/ide-record.d.ts +6 -1
  49. package/dist/agent-farm/lib/ide-record.d.ts.map +1 -1
  50. package/dist/agent-farm/lib/ide-record.js +8 -1
  51. package/dist/agent-farm/lib/ide-record.js.map +1 -1
  52. package/dist/agent-farm/lib/ide-version.d.ts +97 -0
  53. package/dist/agent-farm/lib/ide-version.d.ts.map +1 -0
  54. package/dist/agent-farm/lib/ide-version.js +224 -0
  55. package/dist/agent-farm/lib/ide-version.js.map +1 -0
  56. package/dist/agent-farm/lib/tunnel-client.d.ts.map +1 -1
  57. package/dist/agent-farm/lib/tunnel-client.js +7 -3
  58. package/dist/agent-farm/lib/tunnel-client.js.map +1 -1
  59. package/dist/agent-farm/servers/agent-state/broadcast.d.ts +19 -0
  60. package/dist/agent-farm/servers/agent-state/broadcast.d.ts.map +1 -0
  61. package/dist/agent-farm/servers/agent-state/broadcast.js +30 -0
  62. package/dist/agent-farm/servers/agent-state/broadcast.js.map +1 -0
  63. package/dist/agent-farm/servers/agent-state/identity.d.ts +50 -0
  64. package/dist/agent-farm/servers/agent-state/identity.d.ts.map +1 -0
  65. package/dist/agent-farm/servers/agent-state/identity.js +120 -0
  66. package/dist/agent-farm/servers/agent-state/identity.js.map +1 -0
  67. package/dist/agent-farm/servers/agent-state/liveness.d.ts +107 -0
  68. package/dist/agent-farm/servers/agent-state/liveness.d.ts.map +1 -0
  69. package/dist/agent-farm/servers/agent-state/liveness.js +224 -0
  70. package/dist/agent-farm/servers/agent-state/liveness.js.map +1 -0
  71. package/dist/agent-farm/servers/agent-state/route.d.ts +38 -0
  72. package/dist/agent-farm/servers/agent-state/route.d.ts.map +1 -0
  73. package/dist/agent-farm/servers/agent-state/route.js +170 -0
  74. package/dist/agent-farm/servers/agent-state/route.js.map +1 -0
  75. package/dist/agent-farm/servers/agent-state/serve.d.ts +31 -0
  76. package/dist/agent-farm/servers/agent-state/serve.d.ts.map +1 -0
  77. package/dist/agent-farm/servers/agent-state/serve.js +49 -0
  78. package/dist/agent-farm/servers/agent-state/serve.js.map +1 -0
  79. package/dist/agent-farm/servers/agent-state/store.d.ts +76 -0
  80. package/dist/agent-farm/servers/agent-state/store.d.ts.map +1 -0
  81. package/dist/agent-farm/servers/agent-state/store.js +157 -0
  82. package/dist/agent-farm/servers/agent-state/store.js.map +1 -0
  83. package/dist/agent-farm/servers/decisions/parse.d.ts.map +1 -1
  84. package/dist/agent-farm/servers/decisions/parse.js +45 -15
  85. package/dist/agent-farm/servers/decisions/parse.js.map +1 -1
  86. package/dist/agent-farm/servers/decisions/stamp.d.ts +6 -2
  87. package/dist/agent-farm/servers/decisions/stamp.d.ts.map +1 -1
  88. package/dist/agent-farm/servers/decisions/stamp.js +53 -29
  89. package/dist/agent-farm/servers/decisions/stamp.js.map +1 -1
  90. package/dist/agent-farm/servers/decisions/template.d.ts +2 -0
  91. package/dist/agent-farm/servers/decisions/template.d.ts.map +1 -0
  92. package/dist/agent-farm/servers/decisions/template.js +15 -0
  93. package/dist/agent-farm/servers/decisions/template.js.map +1 -0
  94. package/dist/agent-farm/servers/ide-server.d.ts +28 -8
  95. package/dist/agent-farm/servers/ide-server.d.ts.map +1 -1
  96. package/dist/agent-farm/servers/ide-server.js +147 -50
  97. package/dist/agent-farm/servers/ide-server.js.map +1 -1
  98. package/dist/agent-farm/servers/overview.d.ts +27 -1
  99. package/dist/agent-farm/servers/overview.d.ts.map +1 -1
  100. package/dist/agent-farm/servers/overview.js +184 -31
  101. package/dist/agent-farm/servers/overview.js.map +1 -1
  102. package/dist/agent-farm/servers/tower-instances.d.ts +14 -1
  103. package/dist/agent-farm/servers/tower-instances.d.ts.map +1 -1
  104. package/dist/agent-farm/servers/tower-instances.js +51 -9
  105. package/dist/agent-farm/servers/tower-instances.js.map +1 -1
  106. package/dist/agent-farm/servers/tower-routes.d.ts.map +1 -1
  107. package/dist/agent-farm/servers/tower-routes.js +50 -9
  108. package/dist/agent-farm/servers/tower-routes.js.map +1 -1
  109. package/dist/agent-farm/servers/tower-server.js +35 -1
  110. package/dist/agent-farm/servers/tower-server.js.map +1 -1
  111. package/dist/agent-farm/servers/tower-terminals.d.ts +25 -0
  112. package/dist/agent-farm/servers/tower-terminals.d.ts.map +1 -1
  113. package/dist/agent-farm/servers/tower-terminals.js +128 -4
  114. package/dist/agent-farm/servers/tower-terminals.js.map +1 -1
  115. package/dist/agent-farm/servers/tower-utils.d.ts.map +1 -1
  116. package/dist/agent-farm/servers/tower-utils.js +18 -5
  117. package/dist/agent-farm/servers/tower-utils.js.map +1 -1
  118. package/dist/agent-farm/utils/builder-worktree-identity.d.ts +39 -0
  119. package/dist/agent-farm/utils/builder-worktree-identity.d.ts.map +1 -0
  120. package/dist/agent-farm/utils/builder-worktree-identity.js +42 -0
  121. package/dist/agent-farm/utils/builder-worktree-identity.js.map +1 -0
  122. package/dist/agent-farm/utils/harness.d.ts +71 -0
  123. package/dist/agent-farm/utils/harness.d.ts.map +1 -1
  124. package/dist/agent-farm/utils/harness.js +153 -0
  125. package/dist/agent-farm/utils/harness.js.map +1 -1
  126. package/dist/agent-farm/utils/lifecycle-reporter.d.ts +79 -0
  127. package/dist/agent-farm/utils/lifecycle-reporter.d.ts.map +1 -0
  128. package/dist/agent-farm/utils/lifecycle-reporter.js +347 -0
  129. package/dist/agent-farm/utils/lifecycle-reporter.js.map +1 -0
  130. package/dist/cli.d.ts.map +1 -1
  131. package/dist/cli.js +17 -0
  132. package/dist/cli.js.map +1 -1
  133. package/dist/commands/adopt.d.ts +16 -2
  134. package/dist/commands/adopt.d.ts.map +1 -1
  135. package/dist/commands/adopt.js +67 -23
  136. package/dist/commands/adopt.js.map +1 -1
  137. package/dist/commands/bootstrap-docs.d.ts +132 -0
  138. package/dist/commands/bootstrap-docs.d.ts.map +1 -0
  139. package/dist/commands/bootstrap-docs.js +725 -0
  140. package/dist/commands/bootstrap-docs.js.map +1 -0
  141. package/dist/commands/consult/index.d.ts.map +1 -1
  142. package/dist/commands/consult/index.js +14 -1
  143. package/dist/commands/consult/index.js.map +1 -1
  144. package/dist/commands/consult/tree-tripwire.d.ts +2 -75
  145. package/dist/commands/consult/tree-tripwire.d.ts.map +1 -1
  146. package/dist/commands/consult/tree-tripwire.js +7 -184
  147. package/dist/commands/consult/tree-tripwire.js.map +1 -1
  148. package/dist/commands/doctor.d.ts.map +1 -1
  149. package/dist/commands/doctor.js +36 -4
  150. package/dist/commands/doctor.js.map +1 -1
  151. package/dist/commands/porch/state.d.ts +0 -4
  152. package/dist/commands/porch/state.d.ts.map +1 -1
  153. package/dist/commands/porch/state.js +23 -10
  154. package/dist/commands/porch/state.js.map +1 -1
  155. package/dist/commands/update.d.ts +5 -1
  156. package/dist/commands/update.d.ts.map +1 -1
  157. package/dist/commands/update.js +73 -18
  158. package/dist/commands/update.js.map +1 -1
  159. package/dist/lib/agent-env.d.ts +22 -1
  160. package/dist/lib/agent-env.d.ts.map +1 -1
  161. package/dist/lib/agent-env.js +27 -1
  162. package/dist/lib/agent-env.js.map +1 -1
  163. package/dist/lib/agent-process.d.ts +23 -0
  164. package/dist/lib/agent-process.d.ts.map +1 -0
  165. package/dist/lib/agent-process.js +24 -0
  166. package/dist/lib/agent-process.js.map +1 -0
  167. package/dist/lib/forge-contracts.d.ts +9 -3
  168. package/dist/lib/forge-contracts.d.ts.map +1 -1
  169. package/dist/lib/forge-contracts.js.map +1 -1
  170. package/dist/lib/forge.d.ts +8 -5
  171. package/dist/lib/forge.d.ts.map +1 -1
  172. package/dist/lib/forge.js +57 -1
  173. package/dist/lib/forge.js.map +1 -1
  174. package/dist/lib/github.d.ts.map +1 -1
  175. package/dist/lib/github.js +38 -0
  176. package/dist/lib/github.js.map +1 -1
  177. package/dist/lib/governance-bootstrap.d.ts +155 -0
  178. package/dist/lib/governance-bootstrap.d.ts.map +1 -0
  179. package/dist/lib/governance-bootstrap.js +469 -0
  180. package/dist/lib/governance-bootstrap.js.map +1 -0
  181. package/dist/lib/issue-id.d.ts +34 -0
  182. package/dist/lib/issue-id.d.ts.map +1 -0
  183. package/dist/lib/issue-id.js +61 -0
  184. package/dist/lib/issue-id.js.map +1 -0
  185. package/dist/lib/scaffold.d.ts +4 -0
  186. package/dist/lib/scaffold.d.ts.map +1 -1
  187. package/dist/lib/scaffold.js +29 -5
  188. package/dist/lib/scaffold.js.map +1 -1
  189. package/dist/lib/shipped-skill-hashes.d.ts +10 -0
  190. package/dist/lib/shipped-skill-hashes.d.ts.map +1 -0
  191. package/dist/lib/shipped-skill-hashes.js +197 -0
  192. package/dist/lib/shipped-skill-hashes.js.map +1 -0
  193. package/dist/lib/skill-refresh.d.ts +90 -0
  194. package/dist/lib/skill-refresh.d.ts.map +1 -0
  195. package/dist/lib/skill-refresh.js +267 -0
  196. package/dist/lib/skill-refresh.js.map +1 -0
  197. package/dist/lib/tree-snapshot.d.ts +172 -0
  198. package/dist/lib/tree-snapshot.d.ts.map +1 -0
  199. package/dist/lib/tree-snapshot.js +393 -0
  200. package/dist/lib/tree-snapshot.js.map +1 -0
  201. package/dist/terminal/pty-session.d.ts +5 -0
  202. package/dist/terminal/pty-session.d.ts.map +1 -1
  203. package/dist/terminal/pty-session.js +7 -0
  204. package/dist/terminal/pty-session.js.map +1 -1
  205. package/ide-extension/codev-vscode.vsix +0 -0
  206. package/ide-extension/manifest.json +7 -0
  207. package/package.json +8 -6
  208. package/scripts/forge/jira/_lib.sh +113 -0
  209. package/scripts/forge/jira/auth-status.sh +29 -0
  210. package/scripts/forge/jira/issue-comment.sh +23 -0
  211. package/scripts/forge/jira/issue-list.sh +32 -0
  212. package/scripts/forge/jira/issue-search.sh +40 -0
  213. package/scripts/forge/jira/issue-view.sh +41 -0
  214. package/scripts/forge/jira/recently-closed.sh +81 -0
  215. package/scripts/forge/jira/user-identity.sh +18 -0
  216. package/skeleton/.claude/skills/afx/SKILL.md +36 -0
  217. package/skeleton/.claude/skills/codev/SKILL.md +18 -2
  218. package/skeleton/.claude/skills/update-arch-docs/SKILL.md +28 -2
  219. package/skeleton/.codex/skills/afx/SKILL.md +36 -0
  220. package/skeleton/.codex/skills/codev/SKILL.md +18 -2
  221. package/skeleton/.codex/skills/update-arch-docs/SKILL.md +28 -2
  222. package/skeleton/resources/commands/agent-farm.md +112 -0
  223. package/skeleton/resources/commands/codev.md +47 -0
  224. package/skeleton/resources/commands/overview.md +1 -0
  225. package/skeleton/resources/decision-protocol.md +215 -0
  226. package/skeleton/resources/workflow-reference.md +12 -0
  227. package/skeleton/roles/architect.md +6 -0
  228. package/skeleton/templates/bootstrap-docs-prompt.md +16 -0
  229. package/skeleton/templates/bootstrap-docs-review-prompt.md +19 -0
  230. package/skeleton/templates/cheatsheet.md +1 -0
  231. package/dashboard-dist/assets/index-BuflRUi6.js.map +0 -1
@@ -29,4 +29,4 @@
29
29
  * The original design remains. The terminal itself
30
30
  * has been extended to include xterm CSI codes, among
31
31
  * other features.
32
- */.xterm{cursor:text;position:relative;user-select:none;-ms-user-select:none;-webkit-user-select:none}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{position:absolute;top:0;z-index:5}.xterm .xterm-helper-textarea{padding:0;border:0;margin:0;position:absolute;opacity:0;left:-9999em;top:0;width:0;height:0;z-index:-5;white-space:nowrap;overflow:hidden;resize:none}.xterm .composition-view{background:#000;color:#fff;display:none;position:absolute;white-space:nowrap;z-index:1}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{background-color:#000;overflow-y:scroll;cursor:default;position:absolute;right:0;left:0;top:0;bottom:0}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;left:0;top:0}.xterm .xterm-scroll-area{visibility:hidden}.xterm-char-measure-element{display:inline-block;visibility:hidden;position:absolute;top:0;left:-9999em;line-height:normal}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{position:absolute;left:0;top:0;bottom:0;right:0;z-index:10;color:transparent;pointer-events:none}.xterm .xterm-accessibility-tree:not(.debug) *::selection{color:transparent}.xterm .xterm-accessibility-tree{-webkit-user-select:text;user-select:text;white-space:pre}.xterm .live-region{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{text-decoration:double underline}.xterm-underline-3{text-decoration:wavy underline}.xterm-underline-4{text-decoration:dotted underline}.xterm-underline-5{text-decoration:dashed underline}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:overline underline}.xterm-overline.xterm-underline-2{text-decoration:overline double underline}.xterm-overline.xterm-underline-3{text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;position:absolute;top:0;right:0;pointer-events:none}.xterm-decoration-top{z-index:2;position:relative}.codev-artifact-canvas,.codev-artifact-canvas-rendered{--codev-canvas-foreground: #1f2328;--codev-canvas-background: #ffffff;--codev-canvas-accent: #0969da;--codev-canvas-border: #d0d7de;--codev-canvas-muted: #656d76;--codev-canvas-code-background: #f6f8fa;--codev-canvas-code-foreground: #1f2328;--codev-canvas-link: #0969da;--codev-canvas-comment-marker: #bf8700;--codev-canvas-hover-word-background: color-mix(in srgb, var(--codev-canvas-foreground) 14%, transparent);--codev-canvas-hover-line-background: color-mix(in srgb, var(--codev-canvas-foreground) 6%, transparent);--codev-canvas-hover-paragraph-background: color-mix(in srgb, var(--codev-canvas-foreground) 3.5%, transparent);--codev-canvas-font-size: 16px;--codev-canvas-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";--codev-canvas-line-height: 1.5;--codev-canvas-paragraph-spacing: 16px;--codev-canvas-prose-max-width: none;--codev-canvas-gutter: 1.9rem;--codev-canvas-column-width: 25em;--codev-canvas-column-gap: 3em;--codev-canvas-h1-size: 2em;--codev-canvas-h2-size: 1.5em;--codev-canvas-h3-size: 1.25em;--codev-canvas-h4-size: 1em;--codev-canvas-h5-size: .875em;--codev-canvas-h6-size: .85em;--codev-canvas-code-font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--codev-canvas-code-font-size: .85em;color:var(--codev-canvas-foreground);background:var(--codev-canvas-background);font-family:var(--codev-canvas-font-family);font-size:var(--codev-canvas-font-size);line-height:var(--codev-canvas-line-height)}.codev-artifact-canvas{position:relative;isolation:isolate}.codev-canvas-hover-word-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;overflow:hidden}.codev-canvas-hover-paragraph,.codev-canvas-hover-line,.codev-canvas-hover-word{position:absolute}.codev-canvas-hover-paragraph{background:var(--codev-canvas-hover-paragraph-background)}.codev-canvas-hover-line{background:var(--codev-canvas-hover-line-background)}.codev-canvas-hover-word{background:var(--codev-canvas-hover-word-background)}.codev-artifact-canvas-body{cursor:default}.codev-artifact-canvas[data-reading-cursor=iBeam] .codev-artifact-canvas-body{cursor:text}.codev-artifact-canvas[data-reading-cursor=hand] .codev-artifact-canvas-body{cursor:pointer}.codev-artifact-canvas[data-reading-cursor] .codev-artifact-canvas-body :is(pre,.codev-canvas-marker-cards,.codev-canvas-comment-composer-host,.codev-canvas-row-affordance){cursor:default}:is(.codev-artifact-canvas-body,.codev-artifact-canvas-rendered){max-width:var(--codev-canvas-prose-max-width);overflow-wrap:break-word}:is(.codev-artifact-canvas-body,.codev-artifact-canvas-rendered) p{margin:0 0 var(--codev-canvas-paragraph-spacing)}:is(.codev-artifact-canvas-body,.codev-artifact-canvas-rendered) ul,:is(.codev-artifact-canvas-body,.codev-artifact-canvas-rendered) ol,:is(.codev-artifact-canvas-body,.codev-artifact-canvas-rendered) blockquote,:is(.codev-artifact-canvas-body,.codev-artifact-canvas-rendered) table,:is(.codev-artifact-canvas-body,.codev-artifact-canvas-rendered) pre{margin:0 0 var(--codev-canvas-paragraph-spacing)}:is(.codev-artifact-canvas-body,.codev-artifact-canvas-rendered)>*:last-child{margin-bottom:0}:is(.codev-artifact-canvas-body,.codev-artifact-canvas-rendered) h1,:is(.codev-artifact-canvas-body,.codev-artifact-canvas-rendered) h2,:is(.codev-artifact-canvas-body,.codev-artifact-canvas-rendered) h3,:is(.codev-artifact-canvas-body,.codev-artifact-canvas-rendered) h4,:is(.codev-artifact-canvas-body,.codev-artifact-canvas-rendered) h5,:is(.codev-artifact-canvas-body,.codev-artifact-canvas-rendered) h6{margin:24px 0 16px;line-height:1.25;font-weight:600}:is(.codev-artifact-canvas-body,.codev-artifact-canvas-rendered) h1{font-size:var(--codev-canvas-h1-size)}:is(.codev-artifact-canvas-body,.codev-artifact-canvas-rendered) h2{font-size:var(--codev-canvas-h2-size)}:is(.codev-artifact-canvas-body,.codev-artifact-canvas-rendered) h3{font-size:var(--codev-canvas-h3-size)}:is(.codev-artifact-canvas-body,.codev-artifact-canvas-rendered) h4{font-size:var(--codev-canvas-h4-size)}:is(.codev-artifact-canvas-body,.codev-artifact-canvas-rendered) h5{font-size:var(--codev-canvas-h5-size)}:is(.codev-artifact-canvas-body,.codev-artifact-canvas-rendered) h6{font-size:var(--codev-canvas-h6-size);color:var(--codev-canvas-muted)}:is(.codev-artifact-canvas-body,.codev-artifact-canvas-rendered) ul,:is(.codev-artifact-canvas-body,.codev-artifact-canvas-rendered) ol{padding-left:2em}:is(.codev-artifact-canvas-body,.codev-artifact-canvas-rendered) code{font-family:var(--codev-canvas-code-font-family);font-size:var(--codev-canvas-code-font-size);color:var(--codev-canvas-code-foreground);background:var(--codev-canvas-code-background);padding:.2em .4em;border-radius:6px}:is(.codev-artifact-canvas-body,.codev-artifact-canvas-rendered) pre{font-family:var(--codev-canvas-code-font-family);font-size:var(--codev-canvas-code-font-size);background:var(--codev-canvas-code-background);border:1px solid var(--codev-canvas-border);border-radius:6px;padding:16px}:is(.codev-artifact-canvas-body,.codev-artifact-canvas-rendered) pre code{display:block;overflow-x:auto;background:transparent;color:inherit;padding:0;border-radius:0;font-size:inherit}:is(.codev-artifact-canvas-body,.codev-artifact-canvas-rendered) blockquote{padding:0 1em;color:var(--codev-canvas-muted);border-left:.25em solid var(--codev-canvas-border)}:is(.codev-artifact-canvas-body,.codev-artifact-canvas-rendered) table{display:block;width:max-content;max-width:100%;overflow:auto;border-collapse:collapse}:is(.codev-artifact-canvas-body,.codev-artifact-canvas-rendered) th,:is(.codev-artifact-canvas-body,.codev-artifact-canvas-rendered) td{border:1px solid var(--codev-canvas-border);padding:6px 13px}:is(.codev-artifact-canvas-body,.codev-artifact-canvas-rendered) th{font-weight:600}:is(.codev-artifact-canvas-body,.codev-artifact-canvas-rendered) tr:nth-child(2n){background:var(--codev-canvas-code-background)}:is(.codev-artifact-canvas-body,.codev-artifact-canvas-rendered) hr{height:0;border:0;border-top:1px solid var(--codev-canvas-border);margin:24px 0}:is(.codev-artifact-canvas-body,.codev-artifact-canvas-rendered) img{max-width:100%}.codev-artifact-canvas-body>:is([data-line],[data-row]){position:relative;padding-left:var(--codev-canvas-gutter)}.codev-artifact-canvas-body>pre[data-line]{padding-left:calc(var(--codev-canvas-gutter) + 16px)}.codev-artifact-canvas-body>blockquote[data-row]{padding-left:calc(var(--codev-canvas-gutter) + 1em)}.codev-artifact-canvas-body>:is(ul,ol)[data-row]{padding-left:calc(var(--codev-canvas-gutter) + 2em)}.codev-artifact-canvas-body>:not([data-line]):not([data-row]){margin-left:var(--codev-canvas-gutter)}.codev-canvas-add-comment{font:inherit;line-height:1;border:1px solid var(--codev-canvas-border);background:var(--codev-canvas-background);color:var(--codev-canvas-comment-marker);cursor:pointer;border-radius:4px;padding:0 6px;min-width:24px;min-height:24px;-webkit-user-select:none;user-select:none}.codev-canvas-add-comment:hover,.codev-canvas-add-comment:focus-visible{background:var(--codev-canvas-code-background);outline:2px solid var(--codev-canvas-accent)}.codev-canvas-has-marker{box-shadow:inset 3px 0 0 0 var(--codev-canvas-comment-marker);padding-left:10px}.codev-artifact-canvas-body>.codev-canvas-has-marker{box-shadow:none}.codev-artifact-canvas-body>.codev-canvas-has-marker:before{content:"";position:absolute;left:calc(var(--codev-canvas-gutter) - 13px);top:0;bottom:0;width:3px;background:var(--codev-canvas-comment-marker)}.codev-artifact-canvas-body [data-line]:focus-visible{outline:2px solid var(--codev-canvas-accent);outline-offset:2px}.codev-canvas-quiet-focus .codev-artifact-canvas-body [data-line]:focus-visible{outline:none}:is(.codev-artifact-canvas-body,.codev-artifact-canvas-rendered) a{color:var(--codev-canvas-link)}.codev-canvas-row-affordance{position:absolute;left:2px;z-index:5;transform:translateY(-50%);-webkit-user-select:none;user-select:none;font-family:var(--codev-canvas-font-family);font-size:var(--codev-canvas-font-size);line-height:var(--codev-canvas-line-height)}.codev-canvas-marker-cards{list-style:none;margin:4px 0 10px;padding-left:10px;display:flex;flex-direction:column;gap:4px}.codev-canvas-marker-card{border:1px solid var(--codev-canvas-border);border-left:3px solid var(--codev-canvas-comment-marker);border-radius:4px;padding:4px 8px;background:var(--codev-canvas-code-background);color:var(--codev-canvas-foreground);font-size:.9em;display:flex;align-items:baseline;gap:2px}.codev-canvas-marker-card-icon{margin-right:4px}.codev-canvas-marker-card-author{font-weight:600;color:var(--codev-canvas-muted);margin-right:4px}.codev-canvas-marker-card-body{flex:1 1 auto}.codev-canvas-marker-card-actions{flex:0 0 auto;display:inline-flex;gap:2px;margin-left:6px;opacity:0;transition:opacity .1s ease-in-out}.codev-canvas-marker-card:hover .codev-canvas-marker-card-actions,.codev-canvas-marker-card-actions:focus-within{opacity:1}.codev-canvas-marker-card-action{cursor:pointer;border:none;background:transparent;color:var(--codev-canvas-muted);padding:2px;line-height:0;border-radius:3px;display:inline-flex;align-items:center;justify-content:center}.codev-canvas-marker-card-action svg{display:block}.codev-canvas-marker-card-action:hover{color:var(--codev-canvas-foreground);background:var(--codev-canvas-border)}.codev-canvas-marker-card-action:focus-visible{outline:1px solid var(--codev-canvas-comment-marker);outline-offset:1px}.codev-canvas-comment-composer-host{display:block}.codev-canvas-comment-composer{margin:4px 0 10px;padding-left:8px;border-left:2px solid var(--codev-canvas-comment-marker);display:flex;flex-direction:column;gap:6px}.codev-canvas-comment-composer-input{width:100%;box-sizing:border-box;resize:vertical;font:inherit;color:var(--codev-canvas-foreground);background:var(--codev-canvas-background);border:1px solid var(--codev-canvas-border);border-radius:4px;padding:6px 8px}.codev-canvas-comment-composer-input:focus-visible{outline:2px solid var(--codev-canvas-accent);outline-offset:1px}.codev-canvas-comment-composer-actions{display:flex;justify-content:flex-end;gap:8px}.codev-canvas-comment-composer-actions button{font:inherit;cursor:pointer;border-radius:4px;border:1px solid var(--codev-canvas-border);padding:3px 12px}.codev-canvas-comment-composer-cancel{background:var(--codev-canvas-background);color:var(--codev-canvas-foreground)}.codev-canvas-comment-composer-submit{background:var(--codev-canvas-accent);color:var(--codev-canvas-background);border-color:var(--codev-canvas-accent)}.codev-canvas-comment-composer-submit:disabled{opacity:.5;cursor:default}.codev-canvas-comment-composer-actions button:focus-visible{outline:2px solid var(--codev-canvas-accent);outline-offset:1px}.codev-canvas-mode-horizontal{height:100%}.codev-canvas-mode-horizontal .codev-artifact-canvas-body{height:100%;max-height:100vh;box-sizing:border-box;column-width:var(--codev-canvas-column-width);column-gap:var(--codev-canvas-column-gap);column-fill:auto;overflow-x:auto;overflow-y:hidden;max-width:none;--_codev-column-cap: calc( var(--codev-canvas-column-height, 100vh) - 2 * var(--codev-canvas-paragraph-spacing) )}.codev-canvas-mode-horizontal .codev-artifact-canvas-body pre,.codev-canvas-mode-horizontal .codev-artifact-canvas-body table,.codev-canvas-mode-horizontal .codev-artifact-canvas-body img,.codev-canvas-mode-horizontal .codev-artifact-canvas-body .codev-canvas-marker-card,.codev-canvas-mode-horizontal .codev-artifact-canvas-body .codev-canvas-comment-composer-host{break-inside:avoid}.codev-canvas-mode-horizontal .codev-artifact-canvas-body pre>code{max-height:calc(var(--_codev-column-cap) - 34px);overflow-y:auto}.codev-canvas-mode-horizontal .codev-artifact-canvas-body table{max-height:var(--_codev-column-cap)}.codev-canvas-mode-horizontal .codev-artifact-canvas-body .codev-canvas-marker-card-body{max-height:calc(var(--_codev-column-cap) - 24px);overflow-y:auto}.codev-canvas-mode-horizontal .codev-artifact-canvas-body img{max-height:var(--_codev-column-cap)}.codev-canvas-mode-horizontal .codev-artifact-canvas-body .codev-canvas-comment-composer-input{max-height:calc(var(--_codev-column-cap) * .5)}.codev-canvas-mode-horizontal .codev-artifact-canvas-body .codev-canvas-composing,.codev-canvas-mode-horizontal .codev-artifact-canvas-body .codev-canvas-composing+.codev-canvas-marker-cards,.codev-canvas-mode-horizontal .codev-artifact-canvas-body .codev-canvas-composing>.codev-canvas-marker-cards{break-after:avoid}.codev-canvas-mode-horizontal .codev-artifact-canvas-body .codev-canvas-composing+.codev-canvas-marker-cards,.codev-canvas-mode-horizontal .codev-artifact-canvas-body .codev-canvas-composing>.codev-canvas-marker-cards{break-inside:avoid}.codev-canvas-mode-horizontal .codev-artifact-canvas-body .codev-canvas-comment-composer-host{break-before:avoid}.codev-canvas-mode-horizontal .codev-artifact-canvas-body:focus-visible{outline:2px solid var(--codev-canvas-accent);outline-offset:-2px}.codev-canvas-reading-progress{position:fixed;left:16px;bottom:16px;z-index:6;padding:3px 10px;border:1px solid var(--codev-canvas-border);border-radius:12px;background:var(--codev-canvas-background);color:var(--codev-canvas-muted);font-family:var(--codev-canvas-font-family);font-size:12px;line-height:1.6;-webkit-user-select:none;user-select:none;pointer-events:none}.codev-canvas-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.codev-canvas-reading-mode-toggle{position:fixed;top:12px;right:20px;z-index:6;display:inline-flex;align-items:center;justify-content:center;min-width:24px;min-height:24px;padding:3px;font:inherit;border:1px solid var(--codev-canvas-border);border-radius:4px;background:var(--codev-canvas-background);color:var(--codev-canvas-muted);cursor:pointer;-webkit-user-select:none;user-select:none}.codev-canvas-reading-mode-toggle:hover,.codev-canvas-reading-mode-toggle:focus-visible{background:var(--codev-canvas-code-background);color:var(--codev-canvas-foreground);outline:2px solid var(--codev-canvas-accent)}.codev-canvas-reading-mode-toggle[aria-pressed=true]{color:var(--codev-canvas-accent);border-color:var(--codev-canvas-accent)}.codev-canvas-minimap{position:fixed;top:0;right:0;height:100vh;width:14px;z-index:4;pointer-events:none}.codev-canvas-minimap-dot{position:absolute;right:3px;width:8px;height:8px;padding:0;border:none;border-radius:50%;background:var(--codev-canvas-comment-marker);cursor:pointer;pointer-events:auto;transform:translateY(-50%)}.codev-canvas-minimap-dot:hover,.codev-canvas-minimap-dot:focus-visible{outline:2px solid var(--codev-canvas-accent);outline-offset:1px}.codev-canvas-keyboard-help{position:fixed;right:20px;bottom:16px;z-index:6;background:var(--codev-canvas-background);color:var(--codev-canvas-foreground);border:1px solid var(--codev-canvas-border);border-radius:6px;padding:10px 14px;font-family:var(--codev-canvas-font-family);font-size:12px;line-height:1.6;box-shadow:0 2px 8px #00000026}.codev-canvas-keyboard-help ul{list-style:none;margin:0;padding:0}.codev-canvas-keyboard-help li{display:flex;gap:10px;align-items:baseline}.codev-canvas-keyboard-help kbd{flex:0 0 auto;min-width:96px;font-family:var(--codev-canvas-code-font-family);font-size:11px;color:var(--codev-canvas-muted)}.codev-canvas-keyboard-help span{flex:1 1 auto}:root{--bg-primary: #1a1a1a;--bg-secondary: #252525;--bg-tertiary: #2a2a2a;--bg-hover: #333333;--text-primary: #e0e0e0;--text-secondary: #a0a0a0;--text-muted: #666666;--border-color: #333333;--accent: #3b82f6;--accent-hover: #2563eb;--status-active: #22c55e;--status-waiting: #eab308;--status-error: #ef4444;--status-implementing: #f97316}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%;width:100%;overflow:hidden}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,monospace;background:var(--bg-primary);color:var(--text-primary);font-size:13px}.fullscreen-terminal{height:100vh;width:100vw;overflow:hidden}.fullscreen-terminal>div{height:100%;width:100%}.app{display:flex;flex-direction:column;height:100vh}.app-header{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);height:40px;flex-shrink:0}.app-title{font-size:14px;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.header-version{font-size:11px;color:var(--text-secondary);font-weight:400}.app-body{flex:1;overflow:hidden}.split-pane{display:flex;height:100%;width:100%}.split-left,.split-right{height:100%;overflow:hidden;position:relative}.split-handle{width:4px;cursor:col-resize;background:var(--border-color);flex-shrink:0}.split-handle:hover{background:var(--accent)}.expand-bar{width:24px;height:100%;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);border:none;border-left:1px solid var(--border-color);border-right:1px solid var(--border-color);color:var(--text-muted);cursor:pointer;padding:0;font-family:inherit}.expand-bar:hover{background:var(--bg-hover);color:var(--accent)}.header-controls{display:flex;align-items:center;gap:4px}.header-btn{display:flex;align-items:center;justify-content:center;width:32px;height:28px;padding:0;background:transparent;border:1px solid var(--border-color);border-radius:4px;color:var(--text-secondary);cursor:pointer}.header-btn:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--accent)}.right-panel{display:flex;flex-direction:column;height:100%}.tab-bar{display:flex;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);overflow-x:auto;flex-shrink:0;height:34px}.tab{display:flex;align-items:center;gap:6px;padding:6px 12px;background:none;border:none;border-bottom:2px solid transparent;color:var(--text-secondary);font-size:12px;cursor:pointer;white-space:nowrap;font-family:inherit}.tab:hover{background:var(--bg-hover);color:var(--text-primary)}.tab-active{color:var(--text-primary);border-bottom-color:var(--accent)}.tab-icon{flex-shrink:0}.tab-label{max-width:120px;overflow:hidden;text-overflow:ellipsis}.tab-close{font-size:14px;line-height:1;opacity:.5;padding:0 2px;border-radius:3px}.tab-close:hover{opacity:1;background:var(--bg-hover)}.remove-architect-modal-backdrop,.confirm-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.remove-architect-modal,.confirm-dialog{background:var(--bg-primary, #1e1e1e);color:var(--text-primary, #e0e0e0);border-radius:6px;padding:24px;max-width:500px;width:90%;box-shadow:0 10px 40px #00000080}.remove-architect-modal h2,.confirm-dialog h2{margin:0 0 12px;font-size:18px}.remove-architect-modal p,.confirm-dialog p{margin:0 0 16px;line-height:1.5}.remove-architect-modal code,.confirm-dialog code{background:var(--bg-secondary, #2a2a2a);padding:2px 6px;border-radius:3px;font-family:ui-monospace,monospace}.remove-architect-error{color:var(--text-error, #ff6b6b)}.remove-architect-modal-actions,.confirm-dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.remove-architect-modal-actions button,.confirm-dialog-actions button{padding:6px 14px;border:1px solid var(--border-color, #444);background:var(--bg-secondary, #2a2a2a);color:var(--text-primary, #e0e0e0);border-radius:4px;cursor:pointer}.remove-architect-modal-actions button:hover:not(:disabled),.confirm-dialog-actions button:hover:not(:disabled){background:var(--bg-hover, #333)}.remove-architect-modal-actions button.primary,.confirm-dialog-actions button.primary{background:var(--accent-color, #f44747);color:#fff;border-color:var(--accent-color, #f44747)}.remove-architect-modal-actions button:disabled,.confirm-dialog-actions button:disabled{opacity:.6;cursor:not-allowed}.tab-content{flex:1;overflow:hidden}.terminal-tab-pane{width:100%;height:100%}.file-path-decoration{border-bottom:1px dotted rgba(255,255,255,.3)!important;background:transparent!important;pointer-events:none}.file-path-decoration-hover{border-bottom-color:#ffffffb3!important}.terminal-iframe{display:block}.file-tree{padding:8px;overflow-y:auto;height:100%}.file-node{display:flex;align-items:center;gap:6px;padding:3px 0;cursor:pointer;font-size:12px;border-radius:4px}.file-node:hover{background:var(--bg-hover)}.file-icon{font-size:14px;flex-shrink:0}.file-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-tree-error,.file-tree-loading{padding:16px;color:var(--text-muted);font-size:12px}.no-architect{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-muted);font-size:14px}.architect-pane{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;min-height:0}.architect-pane-body{flex:1;min-height:0}.virtual-keyboard{display:flex;gap:6px;padding:6px 8px;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);flex-shrink:0}.virtual-key{padding:4px 12px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-secondary);font-size:12px;font-family:inherit;cursor:pointer;touch-action:manipulation;user-select:none;-webkit-user-select:none}.virtual-key:active{background:var(--bg-hover);color:var(--text-primary)}.virtual-key-active{background:var(--accent);border-color:var(--accent);color:#fff}.virtual-key-active:active{background:var(--accent-hover)}.terminal-controls{position:absolute;top:8px;right:12px;z-index:20;display:flex;align-items:center;gap:4px;padding:4px 6px;background:#1e1e1ed9;border:1px solid rgba(255,255,255,.12);border-radius:8px}.terminal-control-btn{display:flex;align-items:center;justify-content:center;min-width:32px;min-height:32px;padding:0;background:transparent;border:1px solid transparent;border-radius:5px;color:silver;cursor:pointer;touch-action:manipulation;user-select:none;-webkit-user-select:none}.terminal-control-btn:hover{background:#ffffff1a;border-color:#ffffff26;color:#fff}.terminal-control-btn:active{background:#ffffff26}.toolbar-divider{width:1px;height:20px;background:#ffffff26;margin:0 2px;flex-shrink:0}.terminal-status-icon{cursor:default}.terminal-status-icon.terminal-status-connected{color:#22c55e;opacity:.7}.terminal-status-icon.terminal-status-reconnecting{color:#eab308;opacity:.8;animation:terminal-pulse 1.2s ease-in-out infinite}.terminal-status-icon.terminal-status-disconnected{color:#ef4444;opacity:.8}@keyframes terminal-pulse{0%,to{opacity:.8}50%{opacity:.2}}.mobile-layout{display:flex;flex-direction:column;height:100vh}.mobile-content{flex:1;overflow:hidden;display:flex;flex-direction:column}@media(max-width:768px){.app-header{padding:6px 12px}.tab{padding:4px 8px;font-size:11px}}.file-viewer{display:flex;flex-direction:column;height:100%;background:var(--bg-primary)}.file-loading,.file-error{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-secondary)}.file-error{color:var(--status-error)}.file-header{display:flex;align-items:center;gap:12px;padding:8px 12px;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);flex-shrink:0}.file-path{font-family:monospace;font-size:12px;color:var(--text-primary);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-language{font-size:11px;color:var(--text-muted);text-transform:uppercase}.file-save-btn{padding:4px 12px;font-size:11px;background:var(--accent);color:#fff;border:none;border-radius:4px;cursor:pointer}.file-save-btn:hover{background:var(--accent-hover)}.file-save-btn:disabled{opacity:.5;cursor:not-allowed}.file-content{display:flex;flex:1;overflow:auto;background:var(--bg-primary)}.line-numbers{display:flex;flex-direction:column;padding:12px 8px;background:var(--bg-secondary);color:var(--text-muted);font-family:Menlo,Monaco,Courier New,monospace;font-size:13px;line-height:1.5;text-align:right;-webkit-user-select:none;user-select:none;flex-shrink:0;min-width:40px}.line-number{padding-right:8px}.line-number.highlighted-line{background:#3b82f64d}.file-text{flex:1;padding:12px;font-family:Menlo,Monaco,Courier New,monospace;font-size:13px;line-height:1.5;background:var(--bg-primary);color:var(--text-primary);border:none;outline:none;resize:none;white-space:pre;overflow:auto}.file-image-container,.file-video-container{flex:1;display:flex;align-items:center;justify-content:center;overflow:auto;padding:20px}.file-image{max-width:100%;max-height:100%;object-fit:contain}.file-video{max-width:100%;max-height:100%}.file-tree-container{display:flex;flex-direction:column;height:100%;overflow:hidden}.file-search{position:relative;padding:8px;border-bottom:1px solid var(--border-color);flex-shrink:0}.file-search-input{width:100%;padding:6px 10px;font-size:12px;font-family:inherit;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);outline:none}.file-search-input:focus{border-color:var(--accent)}.file-search-input::placeholder{color:var(--text-muted)}.file-search-suggestions{position:absolute;top:100%;left:8px;right:8px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px;box-shadow:0 4px 12px #0000004d;z-index:100;max-height:240px;overflow-y:auto}.file-search-suggestion{display:flex;flex-direction:column;padding:8px 10px;cursor:pointer;border-bottom:1px solid var(--border-color)}.file-search-suggestion:last-child{border-bottom:none}.file-search-suggestion:hover{background:var(--bg-hover)}.suggestion-name{font-size:12px;color:var(--text-primary);font-weight:500}.suggestion-path{font-size:10px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-tree-section{display:flex;flex-direction:column;overflow:hidden}.file-tree-section:first-of-type{flex-shrink:0}.file-tree-section:last-of-type{flex:1;overflow:hidden}.file-tree-section-header{padding:8px 12px;font-size:11px;font-weight:600;text-transform:uppercase;color:var(--text-muted);letter-spacing:.5px;border-bottom:1px solid var(--border-color);flex-shrink:0}.recent-file{color:var(--text-secondary)}.recent-file:hover{color:var(--text-primary)}.file-path-hint{font-size:10px;color:var(--text-muted);margin-left:auto;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.git-indicator{font-family:monospace;font-size:10px;font-weight:700;padding:1px 4px;border-radius:3px;margin-left:auto;flex-shrink:0}.git-modified{color:var(--status-implementing);background:#f9731626}.git-staged{color:var(--status-active);background:#22c55e26}.git-untracked{color:var(--text-muted);background:#66666626}.cloud-status{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary);margin-right:12px}.cloud-status--none{color:var(--text-muted)}.cloud-status--error{color:var(--status-error)}.cloud-dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0}.cloud-dot--green{background:var(--status-active)}.cloud-dot--yellow{background:var(--status-waiting);animation:cloud-pulse 1.2s ease-in-out infinite}@keyframes cloud-pulse{0%,to{opacity:1}50%{opacity:.3}}.cloud-dot--red{background:var(--status-error)}.cloud-dot--gray{background:var(--text-muted)}.cloud-uptime{color:var(--text-muted);font-size:11px}.held-badge-wrapper{position:relative;display:inline-flex}.held-badge{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary);white-space:nowrap;background:none;border:none;padding:0;font-family:inherit;cursor:pointer;text-decoration:underline dotted;text-underline-offset:3px}.held-badge:hover{color:var(--text-primary);text-decoration:underline solid}.held-badge:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}.held-badge--attention{color:var(--status-waiting);font-weight:600}.held-popover{position:absolute;top:calc(100% + 8px);right:0;z-index:1000;min-width:280px;max-width:380px;max-height:320px;overflow-y:auto;padding:10px 12px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;box-shadow:0 8px 24px #00000059;font-size:12px;text-align:left;cursor:default}.held-popover-note{margin:0;color:var(--text-secondary)}.held-popover-note--error{color:var(--status-error)}.held-group+.held-group{margin-top:12px;padding-top:10px;border-top:1px solid var(--border-color)}.held-group-title{margin:0 0 6px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.held-group-note{margin:-2px 0 6px;font-size:11px;font-style:italic;color:var(--text-muted)}.held-list{margin:0;padding:0;list-style:none}.held-row{display:flex;flex-direction:column;gap:1px;padding:4px 0}.held-row+.held-row{border-top:1px solid var(--border-color)}.held-row-addresses{color:var(--text-primary);font-family:ui-monospace,monospace;word-break:break-word}.held-row-meta{font-size:11px;color:var(--text-muted)}.held-row--attention .held-row-meta{color:var(--status-waiting);font-weight:600}.held-popover-foot{margin:10px 0 0;padding-top:8px;border-top:1px solid var(--border-color);font-size:11px;color:var(--text-muted)}.held-popover-foot code{font-family:ui-monospace,monospace;font-size:11px}.held-dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0;background:var(--text-muted)}.held-dot--attention{background:var(--status-waiting);animation:cloud-pulse 1.2s ease-in-out infinite}.cloud-hint{color:var(--text-muted);font-size:11px;font-style:italic}.cloud-link{color:var(--accent);text-decoration:none;font-size:11px}.cloud-link:hover{text-decoration:underline}.cloud-btn{background:transparent;border:1px solid var(--border-color);color:var(--text-secondary);font-size:11px;padding:1px 6px;border-radius:3px;cursor:pointer}.cloud-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.cloud-btn:disabled{opacity:.5;cursor:default}.mobile-wrapper{display:flex;flex-direction:column;height:100vh}.mobile-header{padding:4px 8px;border-bottom:1px solid var(--border-color);background:var(--bg-primary)}.mobile-wrapper .mobile-layout{flex:1;min-height:0}.work-view{display:flex;flex-direction:column;height:100%;overflow:hidden}.work-content{flex:1;overflow-y:auto;padding:12px 16px}.work-view.file-panel-open .work-content{flex:2}.work-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.work-title{font-size:19px;font-weight:600;color:var(--text-primary)}.work-actions{display:flex;gap:6px}.work-btn{background:var(--accent);color:#fff;border:none;padding:4px 10px;border-radius:4px;font-size:14px;cursor:pointer}.work-btn:hover{background:var(--accent-hover)}.work-btn-secondary{background:transparent;border:1px solid var(--border-color);color:var(--text-secondary)}.work-btn-secondary:hover{background:var(--bg-hover);color:var(--text-primary)}.tip-banner{display:flex;align-items:center;gap:8px;padding:6px 12px;margin-bottom:16px;background:var(--bg-tertiary);border-radius:4px;font-size:14px;color:var(--text-secondary)}.tip-banner-label{font-weight:600;color:var(--text-muted);white-space:nowrap}.tip-banner-text{flex:1;min-width:0}.tip-banner-text code{font-family:var(--font-mono, monospace);background:var(--bg-primary);padding:1px 4px;border-radius:2px;font-size:13px;color:var(--text-primary)}.tip-banner-nav{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:2px 4px;font-size:14px;line-height:1;border-radius:2px}.tip-banner-nav:hover{color:var(--text-primary);background:var(--bg-hover)}.tip-banner-dismiss{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:2px 4px;font-size:14px;line-height:1;border-radius:2px;margin-left:4px}.tip-banner-dismiss:hover{color:var(--text-primary);background:var(--bg-hover)}.work-section{margin-bottom:20px}.work-section-title{font-size:13px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;display:flex;align-items:center;gap:6px}.work-empty{color:var(--text-muted);font-style:italic;font-size:14px;padding:8px 0}.work-unavailable{color:var(--status-waiting);font-size:14px;padding:8px 0}.work-error{color:var(--status-error);font-size:14px;padding:8px;margin-bottom:12px;background:#ef44441a;border-radius:4px}.work-loading{color:var(--text-muted);padding:16px}.builder-table{width:100%;border-collapse:separate;border-spacing:0 4px}.builder-table thead th{font-size:13px;font-weight:500;color:var(--text-secondary);text-align:left;padding:0 10px 4px;white-space:nowrap}.builder-row td{background:var(--bg-secondary);padding:8px 10px;font-size:16px;border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color)}.builder-row td:first-child{border-left:1px solid var(--border-color);border-radius:8px 0 0 8px}.builder-row td:last-child{border-right:1px solid var(--border-color);border-radius:0 8px 8px 0}.builder-row:hover td{border-color:var(--accent)}.builder-row--blocked td:first-child{border-left:3px solid var(--status-waiting)}.builder-col-id{font-weight:500;color:var(--accent);white-space:nowrap;min-width:60px}.builder-attribution{font-size:.9em;color:var(--text-secondary);font-weight:400}.builder-col-title{color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:0;width:40%}.builder-col-state{white-space:nowrap;width:140px}.builder-state-active{font-size:14px;color:var(--accent)}.builder-state-blocked{font-size:14px;color:var(--status-waiting)}.builder-col-progress{width:120px;white-space:nowrap}.progress-bar{width:80px;height:4px;background:var(--bg-tertiary);border-radius:2px;overflow:hidden;display:inline-block;vertical-align:middle}.progress-fill{height:100%;background:var(--status-active);border-radius:2px;transition:width .3s ease}.progress-fill--blocked{background:var(--status-waiting)}.progress-pct{font-size:13px;color:var(--text-secondary);margin-left:6px;vertical-align:middle}.builder-col-elapsed{font-size:14px;color:var(--text-secondary);white-space:nowrap;width:70px}.builder-col-actions{width:60px;text-align:right}.builder-row-open{font-size:13px;color:var(--accent);background:#3b82f614;border:1px solid rgba(59,130,246,.2);padding:3px 10px;border-radius:5px;cursor:pointer;white-space:nowrap}.builder-row-open:hover{background:#3b82f62e}.pr-rows{display:flex;flex-direction:column;gap:4px}a.pr-row{text-decoration:none;color:inherit;cursor:pointer}.pr-row{display:flex;align-items:center;gap:10px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:10px 14px}.pr-row:hover{border-color:var(--accent)}.pr-row-number{font-size:16px;font-weight:500;color:var(--accent);white-space:nowrap}.pr-row-title{flex:1;font-size:16px;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pr-row-status{font-size:13px;white-space:nowrap}.pr-status--approved{color:var(--status-active)}.pr-status--reviewing{color:var(--status-waiting)}.pr-status--changes{color:var(--status-error)}.pr-row-age{font-size:13px;color:var(--text-muted);white-space:nowrap}.pr-row-author{font-size:12px;color:var(--text-muted);white-space:nowrap}.attention-rows{display:flex;flex-direction:column;gap:4px}a.attention-row{text-decoration:none;color:inherit;cursor:pointer}.attention-row{display:flex;align-items:center;gap:10px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:10px 14px}.attention-row:hover{border-color:var(--accent)}.attention-row-id{font-size:16px;font-weight:500;color:var(--accent);white-space:nowrap}.attention-row-title{flex:1;font-size:16px;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attention-row-kind{font-size:13px;white-space:nowrap}.attention-kind--pr{color:var(--status-waiting)}.attention-kind--spec,.attention-kind--plan{color:var(--status-error)}.attention-kind--dev{color:var(--status-implementing)}.attention-kind--verify{color:var(--status-waiting)}.attention-kind--other{color:var(--text-secondary)}.attention-row-age{font-size:13px;color:var(--text-muted);white-space:nowrap}.backlog-rows{display:flex;flex-direction:column;gap:2px}.backlog-row{display:flex;align-items:center;gap:6px;padding:4px 14px;border-radius:6px}.backlog-row:hover{background:var(--bg-secondary)}.backlog-row-main{display:flex;align-items:center;gap:10px;flex:1;min-width:0;text-decoration:none;color:inherit}.backlog-row-main:hover .backlog-row-title{color:var(--accent)}.backlog-artifacts{display:flex;gap:4px;flex-shrink:0}.backlog-artifact-link{font-size:12px;padding:1px 5px;border-radius:3px;border:1px solid var(--border-color);background:transparent;color:var(--text-secondary);cursor:pointer;white-space:nowrap}.backlog-artifact-link:hover{background:var(--bg-hover);color:var(--accent);border-color:var(--accent)}.backlog-priority-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.priority-dot--high{background:var(--status-error)}.priority-dot--med{background:var(--status-waiting)}.priority-dot--low{background:var(--text-muted)}.backlog-row-number{font-size:16px;font-weight:500;color:var(--accent);white-space:nowrap}.backlog-type-tag{font-size:12px;padding:1px 5px;border-radius:3px;font-weight:500;white-space:nowrap}.type-tag--bug{background:#ef444426;color:var(--status-error)}.type-tag--project{background:#a855f71f;color:#a855f7}.type-tag--spike{background:#0ea5e91f;color:#0ea5e9}.backlog-row-title{flex:1;font-size:16px;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.backlog-row-age{font-size:13px;color:var(--text-muted);white-space:nowrap}.backlog-row-author,.backlog-row-assignees{font-size:12px;color:var(--text-muted);white-space:nowrap}.recently-closed-rows{display:flex;flex-direction:column;gap:2px}.recently-closed-row{display:flex;align-items:center;gap:6px;padding:4px 14px;border-radius:6px;opacity:.7}.recently-closed-row:hover{background:var(--bg-secondary);opacity:1}.recently-closed-row-main{display:flex;align-items:center;gap:10px;flex:1;min-width:0;text-decoration:none;color:inherit}.recently-closed-check{font-size:13px;color:var(--status-active);flex-shrink:0}.work-file-panel{border-top:1px solid var(--border-color);background:var(--bg-secondary)}.work-file-panel.expanded{flex:1;display:flex;flex-direction:column;overflow:hidden}.work-file-panel.collapsed{flex-shrink:0}.work-file-panel-header{display:flex;align-items:center;gap:6px;padding:6px 12px;cursor:pointer;-webkit-user-select:none;user-select:none}.work-file-panel-header:hover{background:var(--bg-hover)}.work-file-panel-toggle{font-size:12px;color:var(--text-muted)}.work-file-panel-label{font-size:14px;font-weight:500;color:var(--text-secondary)}.work-file-panel-search{flex:1;margin-left:8px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:3px;color:var(--text-primary);font-size:14px;padding:3px 8px;outline:none}.work-file-panel-search::placeholder{color:var(--text-muted)}.work-file-panel-search:focus{border-color:var(--accent)}.work-file-panel-content{flex:1;overflow-y:auto;padding:0 12px 12px}@media(max-width:768px){.work-content{padding:8px 12px}.work-header{flex-wrap:wrap;gap:8px}.pr-row,.attention-row{flex-wrap:wrap}.builder-table{font-size:14px}.builder-col-elapsed,.builder-table thead th:nth-child(5){display:none}.pr-row-title,.attention-row-title,.backlog-row-title{min-width:60%}}.analytics-view{display:flex;flex-direction:column;height:100%;overflow:hidden}.analytics-content{flex:1;overflow-y:auto;padding:12px 16px}.analytics-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.analytics-title{font-size:16px;font-weight:600;color:var(--text-primary)}.analytics-actions{display:flex;gap:6px;align-items:center}.analytics-range-selector{display:flex;border:1px solid var(--border-color);border-radius:4px;overflow:hidden}.analytics-range-btn{background:transparent;border:none;border-right:1px solid var(--border-color);padding:3px 8px;font-size:11px;cursor:pointer;color:var(--text-secondary)}.analytics-range-btn:last-child{border-right:none}.analytics-range-btn:hover{background:var(--bg-hover)}.analytics-range-btn.active{background:var(--accent);color:#fff}.analytics-section{margin-bottom:16px}.analytics-section-title{font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;display:flex;align-items:center;gap:4px}.analytics-collapse-icon{font-size:10px;width:12px;display:inline-block}.analytics-error{color:var(--status-error);font-size:12px;margin-bottom:8px;padding:6px 8px;background:#ef44441a;border-radius:4px}.analytics-loading{color:var(--text-secondary);font-size:13px;padding:20px 0;text-align:center}.analytics-metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px}.analytics-metric{display:flex;flex-direction:column;padding:8px 10px;background:var(--bg-secondary, var(--bg-hover));border-radius:4px}.analytics-metric-value{font-size:18px;font-weight:600;color:var(--text-primary);line-height:1.2}.analytics-metric-label{font-size:10px;color:var(--text-secondary);margin-top:2px}.analytics-sub-section{margin-top:10px}.analytics-sub-title{font-size:11px;font-weight:500;color:var(--text-secondary);margin-bottom:4px}.analytics-table{width:100%;border-collapse:collapse;font-size:11px}.analytics-table th{text-align:left;color:var(--text-secondary);font-weight:500;padding:3px 6px;border-bottom:1px solid var(--border-color)}.analytics-table td{padding:3px 6px;color:var(--text-primary);border-bottom:1px solid var(--border-subtle, var(--border-color))}.analytics-list{list-style:none;padding:0;margin:0}.analytics-list li{display:flex;justify-content:space-between;padding:2px 0;font-size:12px}.analytics-list-label{color:var(--text-secondary)}.analytics-list-value{color:var(--text-primary);font-weight:500}.analytics-charts-row{display:flex;gap:8px}.analytics-chart-half{flex:1;min-width:0}.team-view{display:flex;flex-direction:column;height:100%;overflow:hidden}.team-content{flex:1;overflow-y:auto;padding:12px 16px}.team-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.team-title{font-size:16px;font-weight:600;color:var(--text-primary);margin:0}.team-refresh-btn{background:transparent;border:1px solid var(--border-color);border-radius:4px;padding:4px 10px;font-size:11px;color:var(--text-secondary);cursor:pointer}.team-refresh-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.team-refresh-btn:disabled{opacity:.5;cursor:default}.team-error{color:var(--status-error);font-size:12px;margin-bottom:8px;padding:6px 8px;background:#ef44441a;border-radius:4px}.team-loading{color:var(--text-secondary);font-size:13px;padding:20px 0;text-align:center}.team-section{margin-bottom:16px}.team-section-title{font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.team-member-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px}.team-member-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;padding:10px 12px}.team-member-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.team-member-name{font-size:13px;font-weight:600;color:var(--text-primary)}.team-member-role{font-size:10px;color:var(--text-muted);background:var(--bg-tertiary);padding:1px 5px;border-radius:3px;text-transform:uppercase;letter-spacing:.3px}.team-member-github{font-size:11px;color:var(--accent);text-decoration:none;display:block;margin-bottom:6px}.team-member-github:hover{text-decoration:underline}.team-member-section{margin-top:6px}.team-section-label{font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;display:block;margin-bottom:2px}.team-item-list{display:flex;flex-direction:column}.team-item-link{display:block;font-size:11px;color:var(--accent);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;padding:1px 0}.team-item-link:hover{text-decoration:underline}.team-item-empty{font-size:11px;color:var(--text-muted);font-style:italic}.team-member-activity{display:flex;gap:8px;font-size:10px;color:var(--text-muted);margin-top:4px}.team-review-blocking-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:2px}.team-review-blocking-item{display:flex;align-items:baseline;gap:6px;font-size:11px;line-height:1.3;min-width:0}.team-review-blocking-sentence{flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.team-review-blocking-sentence strong{font-weight:600}.team-review-blocking-link{display:inline;white-space:normal}.team-review-blocking-age{flex:0 0 auto;font-size:10px;color:var(--text-muted);font-style:italic}.team-activity-label{color:var(--text-muted);font-style:italic}.team-messages{display:flex;flex-direction:column;gap:6px}.team-message{padding:8px 10px;background:var(--bg-secondary);border-radius:4px;border-left:2px solid var(--border-color)}.team-message-header{display:flex;align-items:baseline;gap:8px;margin-bottom:4px}.team-message-author{font-size:12px;font-weight:600;color:var(--text-primary)}.team-message-time{font-size:10px;color:var(--text-muted)}.team-message-body{font-size:12px;color:var(--text-secondary);white-space:pre-wrap;word-break:break-word}.team-no-messages{font-size:12px;color:var(--text-muted);padding:8px 0}.team-activity-feed{display:flex;flex-direction:column;gap:2px}.team-activity-entry{display:flex;align-items:baseline;gap:6px;font-size:12px;color:var(--text-secondary);text-decoration:none;padding:4px 8px;border-radius:3px}.team-activity-entry:hover{background:var(--bg-secondary)}.team-activity-date{font-size:10px;color:var(--text-muted);min-width:50px;flex-shrink:0}.team-activity-author{color:var(--accent);flex-shrink:0}.team-activity-action{color:var(--text-muted);flex-shrink:0}.team-activity-ref{color:var(--text-secondary);flex-shrink:0}.team-activity-title{color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.ofs-rows{display:flex;flex-direction:column;gap:2px}.ofs-subgroup-label{font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;padding:4px 14px 2px}.ofs-row{display:flex;align-items:center;gap:8px;padding:5px 14px;border-radius:6px;cursor:pointer;font-size:14px}.ofs-row:hover{background:var(--bg-secondary)}.ofs-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.ofs-dot--running{background:var(--status-active)}.ofs-dot--idle{background:var(--text-secondary)}.ofs-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ofs-idle{font-size:12px;color:var(--text-secondary);white-space:nowrap}.ofs-file-icon{font-size:14px;flex-shrink:0}.ofs-path{font-size:12px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.decisions-view{display:flex;flex-direction:column;height:100%;overflow:hidden}.decisions-content{flex:1;overflow-y:auto;padding:12px 16px}.decisions-header{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:4px}.decisions-title{font-size:16px;font-weight:600;color:var(--text-primary);margin:0}.decisions-count{font-size:12px;color:var(--text-secondary);white-space:nowrap}.decisions-path{font-size:12px;color:var(--text-muted);margin-bottom:12px;overflow-wrap:anywhere}.decisions-loading,.decisions-empty{color:var(--text-secondary);font-size:13px;padding:20px 0;text-align:center}.decisions-notice,.decisions-error{font-size:12px;margin-bottom:8px;padding:6px 8px;border-radius:4px;overflow-wrap:anywhere}.decisions-notice{color:var(--status-waiting);background:#eab3081a}.decisions-error{color:var(--status-error);background:#ef44441a}.decisions-view .codev-artifact-canvas-rendered{--codev-canvas-foreground: var(--text-primary);--codev-canvas-background: transparent;--codev-canvas-accent: var(--accent);--codev-canvas-border: var(--border-color);--codev-canvas-muted: var(--text-secondary);--codev-canvas-code-background: var(--bg-tertiary);--codev-canvas-code-foreground: var(--text-primary);--codev-canvas-link: #60a5fa;--codev-canvas-font-size: 13px;--codev-canvas-paragraph-spacing: 8px;overflow-wrap:anywhere}.decisions-cards{display:flex;flex-direction:column;gap:10px}.decisions-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;padding:10px 12px;min-width:0}.decisions-card-meta{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 10px;font-size:12px}.decisions-item-id{font-family:monospace;color:var(--accent)}.decisions-stamp{color:var(--text-secondary)}.decisions-stamp-unconverted{font-family:monospace}.decisions-stamp-flag{display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:11px;color:var(--status-waiting)}.decisions-card-question{font-size:14px;font-weight:600;color:var(--text-primary);margin:4px 0 8px;overflow-wrap:anywhere}.decisions-card-body{margin-bottom:8px}.decisions-section-label{font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;margin-bottom:4px}.decisions-thread{list-style:none;margin:0 0 8px;padding-left:10px;border-left:2px solid var(--border-color)}.decisions-thread-entry+.decisions-thread-entry{margin-top:6px}.decisions-thread-label{display:flex;flex-wrap:wrap;gap:6px;align-items:baseline;font-size:11px;margin-bottom:2px}.decisions-thread-who{font-weight:600;color:var(--text-secondary)}.decisions-thread-answer .decisions-thread-who{color:var(--accent)}.decisions-thread-time{color:var(--text-muted)}.decisions-thread-awaiting{font-size:11px;font-style:italic;color:var(--status-waiting)}.decisions-options{margin-bottom:8px}.decisions-option-list{list-style:none;margin:0;padding:0}.decisions-option{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 8px;padding:3px 0;font-size:13px;color:var(--text-primary);min-width:0}.decisions-option-word{font-family:monospace;background:var(--bg-tertiary);padding:0 4px;border-radius:3px}.decisions-option-term{white-space:nowrap}.decisions-option-desc{color:var(--text-secondary);overflow-wrap:anywhere}.decisions-badge{font-size:10px;text-transform:uppercase;letter-spacing:.3px;color:var(--status-active);border:1px solid currentColor;border-radius:3px;padding:0 4px}.decisions-ruling-text{margin:0;padding:6px 8px;font-family:monospace;font-size:12px;color:var(--text-primary);background:var(--bg-tertiary);border-left:3px solid var(--accent);border-radius:3px;white-space:pre-wrap;overflow-wrap:anywhere}.decisions-ruling-note{margin:4px 0 0;font-size:11px;color:var(--text-secondary)}.decisions-form{margin-bottom:8px}.decisions-form .decisions-options{border:none;margin:0 0 8px;padding:0;min-width:0}.decisions-form legend{padding:0}.decisions-choice{cursor:pointer;padding:4px 0}.decisions-choice input{margin:0;align-self:center;accent-color:var(--accent)}.decisions-options:disabled .decisions-choice{cursor:default;opacity:.6}.decisions-link-btn{background:none;border:none;padding:2px 0;font-size:11px;color:var(--text-secondary);text-decoration:underline;cursor:pointer}.decisions-held-pointer{margin:8px 0 0}.decisions-held-pointer .decisions-link-btn{color:inherit;font-size:inherit}.decisions-comment-label{display:block}.decisions-comment{display:block;width:100%;box-sizing:border-box;min-height:60px;resize:vertical;padding:6px 8px;font:inherit;font-size:13px;color:var(--text-primary);background:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px}.decisions-comment:focus{outline:none;border-color:var(--accent)}.decisions-comment:read-only{opacity:.6}.decisions-form .decisions-notice,.decisions-form .decisions-error{margin:6px 0 0}.decisions-form-actions{display:flex;justify-content:flex-end;margin-top:6px}.decisions-submit-btn{padding:5px 14px;font-size:13px;background:var(--accent);color:#fff;border:none;border-radius:4px;cursor:pointer}.decisions-submit-btn:hover:not(:disabled){background:var(--accent-hover)}.decisions-submit-btn:disabled{opacity:.5;cursor:not-allowed}.decisions-held{display:flex;flex-direction:column;gap:10px;margin-bottom:12px}.decisions-held-card{border-style:dashed;border-color:var(--status-waiting)}.decisions-held-tag{font-size:10px;text-transform:uppercase;letter-spacing:.3px;color:var(--status-waiting)}.decisions-held-question{font-size:13px;font-weight:600;color:var(--text-primary);margin:4px 0 6px;overflow-wrap:anywhere}.decisions-held-text{-webkit-user-select:text;user-select:text}.decisions-discard-btn{background:transparent;border:1px solid var(--border-color);border-radius:4px;padding:4px 12px;font-size:12px;color:var(--text-secondary);cursor:pointer}.decisions-discard-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.decisions-ruled{margin-top:16px;padding-top:8px;border-top:1px solid var(--border-color)}.decisions-ruled>summary{cursor:pointer;font-size:13px;font-weight:600;color:var(--text-secondary);padding:4px 0}.decisions-ruled-empty{font-size:12px;color:var(--text-muted)}@media(max-width:768px){.decisions-content{padding:8px 12px}.decisions-card{padding:8px 10px}.decisions-comment{font-size:16px}.decisions-submit-btn{padding:8px 18px;font-size:14px}}
32
+ */.xterm{cursor:text;position:relative;user-select:none;-ms-user-select:none;-webkit-user-select:none}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{position:absolute;top:0;z-index:5}.xterm .xterm-helper-textarea{padding:0;border:0;margin:0;position:absolute;opacity:0;left:-9999em;top:0;width:0;height:0;z-index:-5;white-space:nowrap;overflow:hidden;resize:none}.xterm .composition-view{background:#000;color:#fff;display:none;position:absolute;white-space:nowrap;z-index:1}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{background-color:#000;overflow-y:scroll;cursor:default;position:absolute;right:0;left:0;top:0;bottom:0}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;left:0;top:0}.xterm .xterm-scroll-area{visibility:hidden}.xterm-char-measure-element{display:inline-block;visibility:hidden;position:absolute;top:0;left:-9999em;line-height:normal}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{position:absolute;left:0;top:0;bottom:0;right:0;z-index:10;color:transparent;pointer-events:none}.xterm .xterm-accessibility-tree:not(.debug) *::selection{color:transparent}.xterm .xterm-accessibility-tree{-webkit-user-select:text;user-select:text;white-space:pre}.xterm .live-region{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{text-decoration:double underline}.xterm-underline-3{text-decoration:wavy underline}.xterm-underline-4{text-decoration:dotted underline}.xterm-underline-5{text-decoration:dashed underline}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:overline underline}.xterm-overline.xterm-underline-2{text-decoration:overline double underline}.xterm-overline.xterm-underline-3{text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;position:absolute;top:0;right:0;pointer-events:none}.xterm-decoration-top{z-index:2;position:relative}.codev-artifact-canvas,.codev-artifact-canvas-rendered{--codev-canvas-foreground: #1f2328;--codev-canvas-background: #ffffff;--codev-canvas-accent: #0969da;--codev-canvas-border: #d0d7de;--codev-canvas-muted: #656d76;--codev-canvas-code-background: #f6f8fa;--codev-canvas-code-foreground: #1f2328;--codev-canvas-link: #0969da;--codev-canvas-comment-marker: #bf8700;--codev-canvas-hover-word-background: color-mix(in srgb, var(--codev-canvas-foreground) 14%, transparent);--codev-canvas-hover-line-background: color-mix(in srgb, var(--codev-canvas-foreground) 6%, transparent);--codev-canvas-hover-paragraph-background: color-mix(in srgb, var(--codev-canvas-foreground) 3.5%, transparent);--codev-canvas-font-size: 16px;--codev-canvas-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";--codev-canvas-line-height: 1.5;--codev-canvas-paragraph-spacing: 16px;--codev-canvas-prose-max-width: none;--codev-canvas-gutter: 1.9rem;--codev-canvas-column-width: 25em;--codev-canvas-column-gap: 3em;--codev-canvas-h1-size: 2em;--codev-canvas-h2-size: 1.5em;--codev-canvas-h3-size: 1.25em;--codev-canvas-h4-size: 1em;--codev-canvas-h5-size: .875em;--codev-canvas-h6-size: .85em;--codev-canvas-code-font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--codev-canvas-code-font-size: .85em;color:var(--codev-canvas-foreground);background:var(--codev-canvas-background);font-family:var(--codev-canvas-font-family);font-size:var(--codev-canvas-font-size);line-height:var(--codev-canvas-line-height)}.codev-artifact-canvas{position:relative;isolation:isolate}.codev-canvas-hover-word-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;overflow:hidden}.codev-canvas-hover-paragraph,.codev-canvas-hover-line,.codev-canvas-hover-word{position:absolute}.codev-canvas-hover-paragraph{background:var(--codev-canvas-hover-paragraph-background)}.codev-canvas-hover-line{background:var(--codev-canvas-hover-line-background)}.codev-canvas-hover-word{background:var(--codev-canvas-hover-word-background)}.codev-artifact-canvas-body{cursor:default}.codev-artifact-canvas[data-reading-cursor=iBeam] .codev-artifact-canvas-body{cursor:text}.codev-artifact-canvas[data-reading-cursor=hand] .codev-artifact-canvas-body{cursor:pointer}.codev-artifact-canvas[data-reading-cursor] .codev-artifact-canvas-body :is(pre,.codev-canvas-marker-cards,.codev-canvas-comment-composer-host,.codev-canvas-row-affordance){cursor:default}:is(.codev-artifact-canvas-body,.codev-artifact-canvas-rendered){max-width:var(--codev-canvas-prose-max-width);overflow-wrap:break-word}:is(.codev-artifact-canvas-body,.codev-artifact-canvas-rendered) p{margin:0 0 var(--codev-canvas-paragraph-spacing)}:is(.codev-artifact-canvas-body,.codev-artifact-canvas-rendered) ul,:is(.codev-artifact-canvas-body,.codev-artifact-canvas-rendered) ol,:is(.codev-artifact-canvas-body,.codev-artifact-canvas-rendered) blockquote,:is(.codev-artifact-canvas-body,.codev-artifact-canvas-rendered) table,:is(.codev-artifact-canvas-body,.codev-artifact-canvas-rendered) pre{margin:0 0 var(--codev-canvas-paragraph-spacing)}:is(.codev-artifact-canvas-body,.codev-artifact-canvas-rendered)>*:last-child{margin-bottom:0}:is(.codev-artifact-canvas-body,.codev-artifact-canvas-rendered) h1,:is(.codev-artifact-canvas-body,.codev-artifact-canvas-rendered) h2,:is(.codev-artifact-canvas-body,.codev-artifact-canvas-rendered) h3,:is(.codev-artifact-canvas-body,.codev-artifact-canvas-rendered) h4,:is(.codev-artifact-canvas-body,.codev-artifact-canvas-rendered) h5,:is(.codev-artifact-canvas-body,.codev-artifact-canvas-rendered) h6{margin:24px 0 16px;line-height:1.25;font-weight:600}:is(.codev-artifact-canvas-body,.codev-artifact-canvas-rendered) h1{font-size:var(--codev-canvas-h1-size)}:is(.codev-artifact-canvas-body,.codev-artifact-canvas-rendered) h2{font-size:var(--codev-canvas-h2-size)}:is(.codev-artifact-canvas-body,.codev-artifact-canvas-rendered) h3{font-size:var(--codev-canvas-h3-size)}:is(.codev-artifact-canvas-body,.codev-artifact-canvas-rendered) h4{font-size:var(--codev-canvas-h4-size)}:is(.codev-artifact-canvas-body,.codev-artifact-canvas-rendered) h5{font-size:var(--codev-canvas-h5-size)}:is(.codev-artifact-canvas-body,.codev-artifact-canvas-rendered) h6{font-size:var(--codev-canvas-h6-size);color:var(--codev-canvas-muted)}:is(.codev-artifact-canvas-body,.codev-artifact-canvas-rendered) ul,:is(.codev-artifact-canvas-body,.codev-artifact-canvas-rendered) ol{padding-left:2em}:is(.codev-artifact-canvas-body,.codev-artifact-canvas-rendered) code{font-family:var(--codev-canvas-code-font-family);font-size:var(--codev-canvas-code-font-size);color:var(--codev-canvas-code-foreground);background:var(--codev-canvas-code-background);padding:.2em .4em;border-radius:6px}:is(.codev-artifact-canvas-body,.codev-artifact-canvas-rendered) pre{font-family:var(--codev-canvas-code-font-family);font-size:var(--codev-canvas-code-font-size);background:var(--codev-canvas-code-background);border:1px solid var(--codev-canvas-border);border-radius:6px;padding:16px}:is(.codev-artifact-canvas-body,.codev-artifact-canvas-rendered) pre code{display:block;overflow-x:auto;background:transparent;color:inherit;padding:0;border-radius:0;font-size:inherit}:is(.codev-artifact-canvas-body,.codev-artifact-canvas-rendered) blockquote{padding:0 1em;color:var(--codev-canvas-muted);border-left:.25em solid var(--codev-canvas-border)}:is(.codev-artifact-canvas-body,.codev-artifact-canvas-rendered) table{display:block;width:max-content;max-width:100%;overflow:auto;border-collapse:collapse}:is(.codev-artifact-canvas-body,.codev-artifact-canvas-rendered) th,:is(.codev-artifact-canvas-body,.codev-artifact-canvas-rendered) td{border:1px solid var(--codev-canvas-border);padding:6px 13px}:is(.codev-artifact-canvas-body,.codev-artifact-canvas-rendered) th{font-weight:600}:is(.codev-artifact-canvas-body,.codev-artifact-canvas-rendered) tr:nth-child(2n){background:var(--codev-canvas-code-background)}:is(.codev-artifact-canvas-body,.codev-artifact-canvas-rendered) hr{height:0;border:0;border-top:1px solid var(--codev-canvas-border);margin:24px 0}:is(.codev-artifact-canvas-body,.codev-artifact-canvas-rendered) img{max-width:100%}.codev-artifact-canvas-body>:is([data-line],[data-row]){position:relative;padding-left:var(--codev-canvas-gutter)}.codev-artifact-canvas-body>pre[data-line]{padding-left:calc(var(--codev-canvas-gutter) + 16px)}.codev-artifact-canvas-body>blockquote[data-row]{padding-left:calc(var(--codev-canvas-gutter) + 1em)}.codev-artifact-canvas-body>:is(ul,ol)[data-row]{padding-left:calc(var(--codev-canvas-gutter) + 2em)}.codev-artifact-canvas-body>:not([data-line]):not([data-row]){margin-left:var(--codev-canvas-gutter)}.codev-canvas-add-comment{font:inherit;line-height:1;border:1px solid var(--codev-canvas-border);background:var(--codev-canvas-background);color:var(--codev-canvas-comment-marker);cursor:pointer;border-radius:4px;padding:0 6px;min-width:24px;min-height:24px;-webkit-user-select:none;user-select:none}.codev-canvas-add-comment:hover,.codev-canvas-add-comment:focus-visible{background:var(--codev-canvas-code-background);outline:2px solid var(--codev-canvas-accent)}.codev-canvas-has-marker{box-shadow:inset 3px 0 0 0 var(--codev-canvas-comment-marker);padding-left:10px}.codev-artifact-canvas-body>.codev-canvas-has-marker{box-shadow:none}.codev-artifact-canvas-body>.codev-canvas-has-marker:before{content:"";position:absolute;left:calc(var(--codev-canvas-gutter) - 13px);top:0;bottom:0;width:3px;background:var(--codev-canvas-comment-marker)}.codev-artifact-canvas-body [data-line]:focus-visible{outline:2px solid var(--codev-canvas-accent);outline-offset:2px}.codev-canvas-quiet-focus .codev-artifact-canvas-body [data-line]:focus-visible{outline:none}:is(.codev-artifact-canvas-body,.codev-artifact-canvas-rendered) a{color:var(--codev-canvas-link)}.codev-canvas-row-affordance{position:absolute;left:2px;z-index:5;transform:translateY(-50%);-webkit-user-select:none;user-select:none;font-family:var(--codev-canvas-font-family);font-size:var(--codev-canvas-font-size);line-height:var(--codev-canvas-line-height)}.codev-canvas-marker-cards{list-style:none;margin:4px 0 10px;padding-left:10px;display:flex;flex-direction:column;gap:4px}.codev-canvas-marker-card{border:1px solid var(--codev-canvas-border);border-left:3px solid var(--codev-canvas-comment-marker);border-radius:4px;padding:4px 8px;background:var(--codev-canvas-code-background);color:var(--codev-canvas-foreground);font-size:.9em;display:flex;align-items:baseline;gap:2px}.codev-canvas-marker-card-icon{margin-right:4px}.codev-canvas-marker-card-author{font-weight:600;color:var(--codev-canvas-muted);margin-right:4px}.codev-canvas-marker-card-body{flex:1 1 auto}.codev-canvas-marker-card-actions{flex:0 0 auto;display:inline-flex;gap:2px;margin-left:6px;opacity:0;transition:opacity .1s ease-in-out}.codev-canvas-marker-card:hover .codev-canvas-marker-card-actions,.codev-canvas-marker-card-actions:focus-within{opacity:1}.codev-canvas-marker-card-action{cursor:pointer;border:none;background:transparent;color:var(--codev-canvas-muted);padding:2px;line-height:0;border-radius:3px;display:inline-flex;align-items:center;justify-content:center}.codev-canvas-marker-card-action svg{display:block}.codev-canvas-marker-card-action:hover{color:var(--codev-canvas-foreground);background:var(--codev-canvas-border)}.codev-canvas-marker-card-action:focus-visible{outline:1px solid var(--codev-canvas-comment-marker);outline-offset:1px}.codev-canvas-comment-composer-host{display:block}.codev-canvas-comment-composer{margin:4px 0 10px;padding-left:8px;border-left:2px solid var(--codev-canvas-comment-marker);display:flex;flex-direction:column;gap:6px}.codev-canvas-comment-composer-input{width:100%;box-sizing:border-box;resize:vertical;font:inherit;color:var(--codev-canvas-foreground);background:var(--codev-canvas-background);border:1px solid var(--codev-canvas-border);border-radius:4px;padding:6px 8px}.codev-canvas-comment-composer-input:focus-visible{outline:2px solid var(--codev-canvas-accent);outline-offset:1px}.codev-canvas-comment-composer-actions{display:flex;justify-content:flex-end;gap:8px}.codev-canvas-comment-composer-actions button{font:inherit;cursor:pointer;border-radius:4px;border:1px solid var(--codev-canvas-border);padding:3px 12px}.codev-canvas-comment-composer-cancel{background:var(--codev-canvas-background);color:var(--codev-canvas-foreground)}.codev-canvas-comment-composer-submit{background:var(--codev-canvas-accent);color:var(--codev-canvas-background);border-color:var(--codev-canvas-accent)}.codev-canvas-comment-composer-submit:disabled{opacity:.5;cursor:default}.codev-canvas-comment-composer-actions button:focus-visible{outline:2px solid var(--codev-canvas-accent);outline-offset:1px}.codev-canvas-mode-horizontal{height:100%}.codev-canvas-mode-horizontal .codev-artifact-canvas-body{height:100%;max-height:100vh;box-sizing:border-box;column-width:var(--codev-canvas-column-width);column-gap:var(--codev-canvas-column-gap);column-fill:auto;overflow-x:auto;overflow-y:hidden;max-width:none;--_codev-column-cap: calc( var(--codev-canvas-column-height, 100vh) - 2 * var(--codev-canvas-paragraph-spacing) )}.codev-canvas-mode-horizontal .codev-artifact-canvas-body pre,.codev-canvas-mode-horizontal .codev-artifact-canvas-body table,.codev-canvas-mode-horizontal .codev-artifact-canvas-body img,.codev-canvas-mode-horizontal .codev-artifact-canvas-body .codev-canvas-marker-card,.codev-canvas-mode-horizontal .codev-artifact-canvas-body .codev-canvas-comment-composer-host{break-inside:avoid}.codev-canvas-mode-horizontal .codev-artifact-canvas-body pre>code{max-height:calc(var(--_codev-column-cap) - 34px);overflow-y:auto}.codev-canvas-mode-horizontal .codev-artifact-canvas-body table{max-height:var(--_codev-column-cap)}.codev-canvas-mode-horizontal .codev-artifact-canvas-body .codev-canvas-marker-card-body{max-height:calc(var(--_codev-column-cap) - 24px);overflow-y:auto}.codev-canvas-mode-horizontal .codev-artifact-canvas-body img{max-height:var(--_codev-column-cap)}.codev-canvas-mode-horizontal .codev-artifact-canvas-body .codev-canvas-comment-composer-input{max-height:calc(var(--_codev-column-cap) * .5)}.codev-canvas-mode-horizontal .codev-artifact-canvas-body .codev-canvas-composing,.codev-canvas-mode-horizontal .codev-artifact-canvas-body .codev-canvas-composing+.codev-canvas-marker-cards,.codev-canvas-mode-horizontal .codev-artifact-canvas-body .codev-canvas-composing>.codev-canvas-marker-cards{break-after:avoid}.codev-canvas-mode-horizontal .codev-artifact-canvas-body .codev-canvas-composing+.codev-canvas-marker-cards,.codev-canvas-mode-horizontal .codev-artifact-canvas-body .codev-canvas-composing>.codev-canvas-marker-cards{break-inside:avoid}.codev-canvas-mode-horizontal .codev-artifact-canvas-body .codev-canvas-comment-composer-host{break-before:avoid}.codev-canvas-mode-horizontal .codev-artifact-canvas-body:focus-visible{outline:2px solid var(--codev-canvas-accent);outline-offset:-2px}.codev-canvas-reading-progress{position:fixed;left:16px;bottom:16px;z-index:6;padding:3px 10px;border:1px solid var(--codev-canvas-border);border-radius:12px;background:var(--codev-canvas-background);color:var(--codev-canvas-muted);font-family:var(--codev-canvas-font-family);font-size:12px;line-height:1.6;-webkit-user-select:none;user-select:none;pointer-events:none}.codev-canvas-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.codev-canvas-reading-mode-toggle{position:fixed;top:12px;right:20px;z-index:6;display:inline-flex;align-items:center;justify-content:center;min-width:24px;min-height:24px;padding:3px;font:inherit;border:1px solid var(--codev-canvas-border);border-radius:4px;background:var(--codev-canvas-background);color:var(--codev-canvas-muted);cursor:pointer;-webkit-user-select:none;user-select:none}.codev-canvas-reading-mode-toggle:hover,.codev-canvas-reading-mode-toggle:focus-visible{background:var(--codev-canvas-code-background);color:var(--codev-canvas-foreground);outline:2px solid var(--codev-canvas-accent)}.codev-canvas-reading-mode-toggle[aria-pressed=true]{color:var(--codev-canvas-accent);border-color:var(--codev-canvas-accent)}.codev-canvas-minimap{position:fixed;top:0;right:0;height:100vh;width:14px;z-index:4;pointer-events:none}.codev-canvas-minimap-dot{position:absolute;right:3px;width:8px;height:8px;padding:0;border:none;border-radius:50%;background:var(--codev-canvas-comment-marker);cursor:pointer;pointer-events:auto;transform:translateY(-50%)}.codev-canvas-minimap-dot:hover,.codev-canvas-minimap-dot:focus-visible{outline:2px solid var(--codev-canvas-accent);outline-offset:1px}.codev-canvas-keyboard-help{position:fixed;right:20px;bottom:16px;z-index:6;background:var(--codev-canvas-background);color:var(--codev-canvas-foreground);border:1px solid var(--codev-canvas-border);border-radius:6px;padding:10px 14px;font-family:var(--codev-canvas-font-family);font-size:12px;line-height:1.6;box-shadow:0 2px 8px #00000026}.codev-canvas-keyboard-help ul{list-style:none;margin:0;padding:0}.codev-canvas-keyboard-help li{display:flex;gap:10px;align-items:baseline}.codev-canvas-keyboard-help kbd{flex:0 0 auto;min-width:96px;font-family:var(--codev-canvas-code-font-family);font-size:11px;color:var(--codev-canvas-muted)}.codev-canvas-keyboard-help span{flex:1 1 auto}:root{--bg-primary: #1a1a1a;--bg-secondary: #252525;--bg-tertiary: #2a2a2a;--bg-hover: #333333;--text-primary: #e0e0e0;--text-secondary: #a0a0a0;--text-muted: #666666;--border-color: #333333;--accent: #3b82f6;--accent-hover: #2563eb;--status-active: #22c55e;--status-waiting: #eab308;--status-error: #ef4444;--status-implementing: #f97316}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%;width:100%;overflow:hidden}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,monospace;background:var(--bg-primary);color:var(--text-primary);font-size:13px}.fullscreen-terminal{height:100vh;width:100vw;overflow:hidden}.fullscreen-terminal>div{height:100%;width:100%}.app{display:flex;flex-direction:column;height:100vh}.app-header{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);height:40px;flex-shrink:0}.app-title{font-size:14px;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.header-version{font-size:11px;color:var(--text-secondary);font-weight:400}.app-body{flex:1;overflow:hidden}.split-pane{display:flex;height:100%;width:100%}.split-left,.split-right{height:100%;overflow:hidden;position:relative}.split-handle{width:4px;cursor:col-resize;background:var(--border-color);flex-shrink:0}.split-handle:hover{background:var(--accent)}.expand-bar{width:24px;height:100%;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);border:none;border-left:1px solid var(--border-color);border-right:1px solid var(--border-color);color:var(--text-muted);cursor:pointer;padding:0;font-family:inherit}.expand-bar:hover{background:var(--bg-hover);color:var(--accent)}.header-controls{display:flex;align-items:center;gap:4px}.header-btn{display:flex;align-items:center;justify-content:center;width:32px;height:28px;padding:0;background:transparent;border:1px solid var(--border-color);border-radius:4px;color:var(--text-secondary);cursor:pointer}.header-btn:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--accent)}.right-panel{display:flex;flex-direction:column;height:100%}.tab-bar{display:flex;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);overflow-x:auto;flex-shrink:0;height:34px}.tab{display:flex;align-items:center;gap:6px;padding:6px 12px;background:none;border:none;border-bottom:2px solid transparent;color:var(--text-secondary);font-size:12px;cursor:pointer;white-space:nowrap;font-family:inherit}.tab:hover{background:var(--bg-hover);color:var(--text-primary)}.tab-active{color:var(--text-primary);border-bottom-color:var(--accent)}.tab-icon{flex-shrink:0}.tab-label{max-width:120px;overflow:hidden;text-overflow:ellipsis}.tab-close{font-size:14px;line-height:1;opacity:.5;padding:0 2px;border-radius:3px}.tab-close:hover{opacity:1;background:var(--bg-hover)}.remove-architect-modal-backdrop,.confirm-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.remove-architect-modal,.confirm-dialog{background:var(--bg-primary, #1e1e1e);color:var(--text-primary, #e0e0e0);border-radius:6px;padding:24px;max-width:500px;width:90%;box-shadow:0 10px 40px #00000080}.remove-architect-modal h2,.confirm-dialog h2{margin:0 0 12px;font-size:18px}.remove-architect-modal p,.confirm-dialog p{margin:0 0 16px;line-height:1.5}.remove-architect-modal code,.confirm-dialog code{background:var(--bg-secondary, #2a2a2a);padding:2px 6px;border-radius:3px;font-family:ui-monospace,monospace}.remove-architect-error{color:var(--text-error, #ff6b6b)}.remove-architect-modal-actions,.confirm-dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.remove-architect-modal-actions button,.confirm-dialog-actions button{padding:6px 14px;border:1px solid var(--border-color, #444);background:var(--bg-secondary, #2a2a2a);color:var(--text-primary, #e0e0e0);border-radius:4px;cursor:pointer}.remove-architect-modal-actions button:hover:not(:disabled),.confirm-dialog-actions button:hover:not(:disabled){background:var(--bg-hover, #333)}.remove-architect-modal-actions button.primary,.confirm-dialog-actions button.primary{background:var(--accent-color, #f44747);color:#fff;border-color:var(--accent-color, #f44747)}.remove-architect-modal-actions button:disabled,.confirm-dialog-actions button:disabled{opacity:.6;cursor:not-allowed}.tab-content{flex:1;overflow:hidden}.terminal-tab-pane{width:100%;height:100%}.file-path-decoration{border-bottom:1px dotted rgba(255,255,255,.3)!important;background:transparent!important;pointer-events:none}.file-path-decoration-hover{border-bottom-color:#ffffffb3!important}.terminal-iframe{display:block}.file-tree{padding:8px;overflow-y:auto;height:100%}.file-node{display:flex;align-items:center;gap:6px;padding:3px 0;cursor:pointer;font-size:12px;border-radius:4px}.file-node:hover{background:var(--bg-hover)}.file-icon{font-size:14px;flex-shrink:0}.file-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-tree-error,.file-tree-loading{padding:16px;color:var(--text-muted);font-size:12px}.no-architect{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-muted);font-size:14px}.architect-pane{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;min-height:0}.architect-pane-body{flex:1;min-height:0}.virtual-keyboard{display:flex;gap:6px;padding:6px 8px;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);flex-shrink:0}.virtual-key{padding:4px 12px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-secondary);font-size:12px;font-family:inherit;cursor:pointer;touch-action:manipulation;user-select:none;-webkit-user-select:none}.virtual-key:active{background:var(--bg-hover);color:var(--text-primary)}.virtual-key-active{background:var(--accent);border-color:var(--accent);color:#fff}.virtual-key-active:active{background:var(--accent-hover)}.terminal-controls{position:absolute;top:8px;right:12px;z-index:20;display:flex;align-items:center;gap:4px;padding:4px 6px;background:#1e1e1ed9;border:1px solid rgba(255,255,255,.12);border-radius:8px}.terminal-control-btn{display:flex;align-items:center;justify-content:center;min-width:32px;min-height:32px;padding:0;background:transparent;border:1px solid transparent;border-radius:5px;color:silver;cursor:pointer;touch-action:manipulation;user-select:none;-webkit-user-select:none}.terminal-control-btn:hover{background:#ffffff1a;border-color:#ffffff26;color:#fff}.terminal-control-btn:active{background:#ffffff26}.toolbar-divider{width:1px;height:20px;background:#ffffff26;margin:0 2px;flex-shrink:0}.terminal-status-icon{cursor:default}.terminal-status-icon.terminal-status-connected{color:#22c55e;opacity:.7}.terminal-status-icon.terminal-status-reconnecting{color:#eab308;opacity:.8;animation:terminal-pulse 1.2s ease-in-out infinite}.terminal-status-icon.terminal-status-disconnected{color:#ef4444;opacity:.8}@keyframes terminal-pulse{0%,to{opacity:.8}50%{opacity:.2}}.mobile-layout{display:flex;flex-direction:column;height:100vh}.mobile-content{flex:1;overflow:hidden;display:flex;flex-direction:column}@media(max-width:768px){.app-header{padding:6px 12px}.tab{padding:4px 8px;font-size:11px}}.file-viewer{display:flex;flex-direction:column;height:100%;background:var(--bg-primary)}.file-loading,.file-error{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-secondary)}.file-error{color:var(--status-error)}.file-header{display:flex;align-items:center;gap:12px;padding:8px 12px;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);flex-shrink:0}.file-path{font-family:monospace;font-size:12px;color:var(--text-primary);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-language{font-size:11px;color:var(--text-muted);text-transform:uppercase}.file-save-btn{padding:4px 12px;font-size:11px;background:var(--accent);color:#fff;border:none;border-radius:4px;cursor:pointer}.file-save-btn:hover{background:var(--accent-hover)}.file-save-btn:disabled{opacity:.5;cursor:not-allowed}.file-content{display:flex;flex:1;overflow:auto;background:var(--bg-primary)}.line-numbers{display:flex;flex-direction:column;padding:12px 8px;background:var(--bg-secondary);color:var(--text-muted);font-family:Menlo,Monaco,Courier New,monospace;font-size:13px;line-height:1.5;text-align:right;-webkit-user-select:none;user-select:none;flex-shrink:0;min-width:40px}.line-number{padding-right:8px}.line-number.highlighted-line{background:#3b82f64d}.file-text{flex:1;padding:12px;font-family:Menlo,Monaco,Courier New,monospace;font-size:13px;line-height:1.5;background:var(--bg-primary);color:var(--text-primary);border:none;outline:none;resize:none;white-space:pre;overflow:auto}.file-image-container,.file-video-container{flex:1;display:flex;align-items:center;justify-content:center;overflow:auto;padding:20px}.file-image{max-width:100%;max-height:100%;object-fit:contain}.file-video{max-width:100%;max-height:100%}.file-tree-container{display:flex;flex-direction:column;height:100%;overflow:hidden}.file-search{position:relative;padding:8px;border-bottom:1px solid var(--border-color);flex-shrink:0}.file-search-input{width:100%;padding:6px 10px;font-size:12px;font-family:inherit;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);outline:none}.file-search-input:focus{border-color:var(--accent)}.file-search-input::placeholder{color:var(--text-muted)}.file-search-suggestions{position:absolute;top:100%;left:8px;right:8px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px;box-shadow:0 4px 12px #0000004d;z-index:100;max-height:240px;overflow-y:auto}.file-search-suggestion{display:flex;flex-direction:column;padding:8px 10px;cursor:pointer;border-bottom:1px solid var(--border-color)}.file-search-suggestion:last-child{border-bottom:none}.file-search-suggestion:hover{background:var(--bg-hover)}.suggestion-name{font-size:12px;color:var(--text-primary);font-weight:500}.suggestion-path{font-size:10px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-tree-section{display:flex;flex-direction:column;overflow:hidden}.file-tree-section:first-of-type{flex-shrink:0}.file-tree-section:last-of-type{flex:1;overflow:hidden}.file-tree-section-header{padding:8px 12px;font-size:11px;font-weight:600;text-transform:uppercase;color:var(--text-muted);letter-spacing:.5px;border-bottom:1px solid var(--border-color);flex-shrink:0}.recent-file{color:var(--text-secondary)}.recent-file:hover{color:var(--text-primary)}.file-path-hint{font-size:10px;color:var(--text-muted);margin-left:auto;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.git-indicator{font-family:monospace;font-size:10px;font-weight:700;padding:1px 4px;border-radius:3px;margin-left:auto;flex-shrink:0}.git-modified{color:var(--status-implementing);background:#f9731626}.git-staged{color:var(--status-active);background:#22c55e26}.git-untracked{color:var(--text-muted);background:#66666626}.cloud-status{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary);margin-right:12px}.cloud-status--none{color:var(--text-muted)}.cloud-status--error{color:var(--status-error)}.cloud-dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0}.cloud-dot--green{background:var(--status-active)}.cloud-dot--yellow{background:var(--status-waiting);animation:cloud-pulse 1.2s ease-in-out infinite}@keyframes cloud-pulse{0%,to{opacity:1}50%{opacity:.3}}.cloud-dot--red{background:var(--status-error)}.cloud-dot--gray{background:var(--text-muted)}.cloud-uptime{color:var(--text-muted);font-size:11px}.held-badge-wrapper{position:relative;display:inline-flex}.held-badge{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary);white-space:nowrap;background:none;border:none;padding:0;font-family:inherit;cursor:pointer;text-decoration:underline dotted;text-underline-offset:3px}.held-badge:hover{color:var(--text-primary);text-decoration:underline solid}.held-badge:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}.held-badge--attention{color:var(--status-waiting);font-weight:600}.held-popover{position:absolute;top:calc(100% + 8px);right:0;z-index:1000;min-width:280px;max-width:380px;max-height:320px;overflow-y:auto;padding:10px 12px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;box-shadow:0 8px 24px #00000059;font-size:12px;text-align:left;cursor:default}.held-popover-note{margin:0;color:var(--text-secondary)}.held-popover-note--error{color:var(--status-error)}.held-group+.held-group{margin-top:12px;padding-top:10px;border-top:1px solid var(--border-color)}.held-group-title{margin:0 0 6px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.held-group-note{margin:-2px 0 6px;font-size:11px;font-style:italic;color:var(--text-muted)}.held-list{margin:0;padding:0;list-style:none}.held-row{display:flex;flex-direction:column;gap:1px;padding:4px 0}.held-row+.held-row{border-top:1px solid var(--border-color)}.held-row-addresses{color:var(--text-primary);font-family:ui-monospace,monospace;word-break:break-word}.held-row-meta{font-size:11px;color:var(--text-muted)}.held-row--attention .held-row-meta{color:var(--status-waiting);font-weight:600}.held-popover-foot{margin:10px 0 0;padding-top:8px;border-top:1px solid var(--border-color);font-size:11px;color:var(--text-muted)}.held-popover-foot code{font-family:ui-monospace,monospace;font-size:11px}.held-dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0;background:var(--text-muted)}.held-dot--attention{background:var(--status-waiting);animation:cloud-pulse 1.2s ease-in-out infinite}.cloud-hint{color:var(--text-muted);font-size:11px;font-style:italic}.cloud-link{color:var(--accent);text-decoration:none;font-size:11px}.cloud-link:hover{text-decoration:underline}.cloud-btn{background:transparent;border:1px solid var(--border-color);color:var(--text-secondary);font-size:11px;padding:1px 6px;border-radius:3px;cursor:pointer}.cloud-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.cloud-btn:disabled{opacity:.5;cursor:default}.mobile-wrapper{display:flex;flex-direction:column;height:100vh}.mobile-header{padding:4px 8px;border-bottom:1px solid var(--border-color);background:var(--bg-primary)}.mobile-wrapper .mobile-layout{flex:1;min-height:0}.work-view{display:flex;flex-direction:column;height:100%;overflow:hidden}.work-content{flex:1;overflow-y:auto;padding:12px 16px}.work-view.file-panel-open .work-content{flex:2}.work-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.work-title{font-size:19px;font-weight:600;color:var(--text-primary)}.work-actions{display:flex;gap:6px}.work-btn{background:var(--accent);color:#fff;border:none;padding:4px 10px;border-radius:4px;font-size:14px;cursor:pointer}.work-btn:hover{background:var(--accent-hover)}.work-btn-secondary{background:transparent;border:1px solid var(--border-color);color:var(--text-secondary)}.work-btn-secondary:hover{background:var(--bg-hover);color:var(--text-primary)}.tip-banner{display:flex;align-items:center;gap:8px;padding:6px 12px;margin-bottom:16px;background:var(--bg-tertiary);border-radius:4px;font-size:14px;color:var(--text-secondary)}.tip-banner-label{font-weight:600;color:var(--text-muted);white-space:nowrap}.tip-banner-text{flex:1;min-width:0}.tip-banner-text code{font-family:var(--font-mono, monospace);background:var(--bg-primary);padding:1px 4px;border-radius:2px;font-size:13px;color:var(--text-primary)}.tip-banner-nav{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:2px 4px;font-size:14px;line-height:1;border-radius:2px}.tip-banner-nav:hover{color:var(--text-primary);background:var(--bg-hover)}.tip-banner-dismiss{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:2px 4px;font-size:14px;line-height:1;border-radius:2px;margin-left:4px}.tip-banner-dismiss:hover{color:var(--text-primary);background:var(--bg-hover)}.work-section{margin-bottom:20px}.work-section-title{font-size:13px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;display:flex;align-items:center;gap:6px}.work-empty{color:var(--text-muted);font-style:italic;font-size:14px;padding:8px 0}.work-unavailable{color:var(--status-waiting);font-size:14px;padding:8px 0}.work-error{color:var(--status-error);font-size:14px;padding:8px;margin-bottom:12px;background:#ef44441a;border-radius:4px}.work-loading{color:var(--text-muted);padding:16px}.builder-table{width:100%;border-collapse:separate;border-spacing:0 4px}.builder-table thead th{font-size:13px;font-weight:500;color:var(--text-secondary);text-align:left;padding:0 10px 4px;white-space:nowrap}.builder-row td{background:var(--bg-secondary);padding:8px 10px;font-size:16px;border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color)}.builder-row td:first-child{border-left:1px solid var(--border-color);border-radius:8px 0 0 8px}.builder-row td:last-child{border-right:1px solid var(--border-color);border-radius:0 8px 8px 0}.builder-row:hover td{border-color:var(--accent)}.builder-row--blocked td:first-child{border-left:3px solid var(--status-waiting)}.builder-col-id{font-weight:500;color:var(--accent);white-space:nowrap;min-width:60px}.builder-attribution{font-size:.9em;color:var(--text-secondary);font-weight:400}.builder-col-title{color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:0;width:40%}.builder-col-state{white-space:nowrap;width:140px}.builder-state-active{font-size:14px;color:var(--accent)}.builder-state-blocked{font-size:14px;color:var(--status-waiting)}.builder-state-needs-input{display:inline-block;max-width:220px;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom}.builder-state-dead{font-size:14px;color:var(--status-error)}.builder-row--dead td:first-child{border-left:3px solid var(--status-error)}.builder-col-progress{width:120px;white-space:nowrap}.progress-bar{width:80px;height:4px;background:var(--bg-tertiary);border-radius:2px;overflow:hidden;display:inline-block;vertical-align:middle}.progress-fill{height:100%;background:var(--status-active);border-radius:2px;transition:width .3s ease}.progress-fill--blocked{background:var(--status-waiting)}.progress-pct{font-size:13px;color:var(--text-secondary);margin-left:6px;vertical-align:middle}.builder-col-elapsed{font-size:14px;color:var(--text-secondary);white-space:nowrap;width:70px}.builder-col-actions{width:60px;text-align:right}.builder-row-open{font-size:13px;color:var(--accent);background:#3b82f614;border:1px solid rgba(59,130,246,.2);padding:3px 10px;border-radius:5px;cursor:pointer;white-space:nowrap}.builder-row-open:hover{background:#3b82f62e}.pr-rows{display:flex;flex-direction:column;gap:4px}a.pr-row{text-decoration:none;color:inherit;cursor:pointer}.pr-row{display:flex;align-items:center;gap:10px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:10px 14px}.pr-row:hover{border-color:var(--accent)}.pr-row-number{font-size:16px;font-weight:500;color:var(--accent);white-space:nowrap}.pr-row-title{flex:1;font-size:16px;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pr-row-status{font-size:13px;white-space:nowrap}.pr-status--approved{color:var(--status-active)}.pr-status--reviewing{color:var(--status-waiting)}.pr-status--changes{color:var(--status-error)}.pr-row-age{font-size:13px;color:var(--text-muted);white-space:nowrap}.pr-row-author{font-size:12px;color:var(--text-muted);white-space:nowrap}.attention-rows{display:flex;flex-direction:column;gap:4px}a.attention-row{text-decoration:none;color:inherit;cursor:pointer}.attention-row{display:flex;align-items:center;gap:10px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:10px 14px}.attention-row:hover{border-color:var(--accent)}.attention-row-id{font-size:16px;font-weight:500;color:var(--accent);white-space:nowrap}.attention-row-title{flex:1;font-size:16px;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attention-row-kind{font-size:13px;white-space:nowrap}.attention-kind--pr{color:var(--status-waiting)}.attention-kind--spec,.attention-kind--plan{color:var(--status-error)}.attention-kind--dev{color:var(--status-implementing)}.attention-kind--verify{color:var(--status-waiting)}.attention-kind--other{color:var(--text-secondary)}.attention-kind--needs-input{color:var(--status-waiting)}.attention-kind--dead{color:var(--status-error)}.attention-row-age{font-size:13px;color:var(--text-muted);white-space:nowrap}.backlog-rows{display:flex;flex-direction:column;gap:2px}.backlog-row{display:flex;align-items:center;gap:6px;padding:4px 14px;border-radius:6px}.backlog-row:hover{background:var(--bg-secondary)}.backlog-row-main{display:flex;align-items:center;gap:10px;flex:1;min-width:0;text-decoration:none;color:inherit}.backlog-row-main:hover .backlog-row-title{color:var(--accent)}.backlog-artifacts{display:flex;gap:4px;flex-shrink:0}.backlog-artifact-link{font-size:12px;padding:1px 5px;border-radius:3px;border:1px solid var(--border-color);background:transparent;color:var(--text-secondary);cursor:pointer;white-space:nowrap}.backlog-artifact-link:hover{background:var(--bg-hover);color:var(--accent);border-color:var(--accent)}.backlog-priority-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.priority-dot--high{background:var(--status-error)}.priority-dot--med{background:var(--status-waiting)}.priority-dot--low{background:var(--text-muted)}.backlog-row-number{font-size:16px;font-weight:500;color:var(--accent);white-space:nowrap}.backlog-type-tag{font-size:12px;padding:1px 5px;border-radius:3px;font-weight:500;white-space:nowrap}.type-tag--bug{background:#ef444426;color:var(--status-error)}.type-tag--project{background:#a855f71f;color:#a855f7}.type-tag--spike{background:#0ea5e91f;color:#0ea5e9}.backlog-row-title{flex:1;font-size:16px;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.backlog-row-age{font-size:13px;color:var(--text-muted);white-space:nowrap}.backlog-row-author,.backlog-row-assignees{font-size:12px;color:var(--text-muted);white-space:nowrap}.recently-closed-rows{display:flex;flex-direction:column;gap:2px}.recently-closed-row{display:flex;align-items:center;gap:6px;padding:4px 14px;border-radius:6px;opacity:.7}.recently-closed-row:hover{background:var(--bg-secondary);opacity:1}.recently-closed-row-main{display:flex;align-items:center;gap:10px;flex:1;min-width:0;text-decoration:none;color:inherit}.recently-closed-check{font-size:13px;color:var(--status-active);flex-shrink:0}.work-file-panel{border-top:1px solid var(--border-color);background:var(--bg-secondary)}.work-file-panel.expanded{flex:1;display:flex;flex-direction:column;overflow:hidden}.work-file-panel.collapsed{flex-shrink:0}.work-file-panel-header{display:flex;align-items:center;gap:6px;padding:6px 12px;cursor:pointer;-webkit-user-select:none;user-select:none}.work-file-panel-header:hover{background:var(--bg-hover)}.work-file-panel-toggle{font-size:12px;color:var(--text-muted)}.work-file-panel-label{font-size:14px;font-weight:500;color:var(--text-secondary)}.work-file-panel-search{flex:1;margin-left:8px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:3px;color:var(--text-primary);font-size:14px;padding:3px 8px;outline:none}.work-file-panel-search::placeholder{color:var(--text-muted)}.work-file-panel-search:focus{border-color:var(--accent)}.work-file-panel-content{flex:1;overflow-y:auto;padding:0 12px 12px}@media(max-width:768px){.work-content{padding:8px 12px}.work-header{flex-wrap:wrap;gap:8px}.pr-row,.attention-row{flex-wrap:wrap}.builder-table{font-size:14px}.builder-col-elapsed,.builder-table thead th:nth-child(5){display:none}.pr-row-title,.attention-row-title,.backlog-row-title{min-width:60%}}.analytics-view{display:flex;flex-direction:column;height:100%;overflow:hidden}.analytics-content{flex:1;overflow-y:auto;padding:12px 16px}.analytics-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.analytics-title{font-size:16px;font-weight:600;color:var(--text-primary)}.analytics-actions{display:flex;gap:6px;align-items:center}.analytics-range-selector{display:flex;border:1px solid var(--border-color);border-radius:4px;overflow:hidden}.analytics-range-btn{background:transparent;border:none;border-right:1px solid var(--border-color);padding:3px 8px;font-size:11px;cursor:pointer;color:var(--text-secondary)}.analytics-range-btn:last-child{border-right:none}.analytics-range-btn:hover{background:var(--bg-hover)}.analytics-range-btn.active{background:var(--accent);color:#fff}.analytics-section{margin-bottom:16px}.analytics-section-title{font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;display:flex;align-items:center;gap:4px}.analytics-collapse-icon{font-size:10px;width:12px;display:inline-block}.analytics-error{color:var(--status-error);font-size:12px;margin-bottom:8px;padding:6px 8px;background:#ef44441a;border-radius:4px}.analytics-loading{color:var(--text-secondary);font-size:13px;padding:20px 0;text-align:center}.analytics-metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px}.analytics-metric{display:flex;flex-direction:column;padding:8px 10px;background:var(--bg-secondary, var(--bg-hover));border-radius:4px}.analytics-metric-value{font-size:18px;font-weight:600;color:var(--text-primary);line-height:1.2}.analytics-metric-label{font-size:10px;color:var(--text-secondary);margin-top:2px}.analytics-sub-section{margin-top:10px}.analytics-sub-title{font-size:11px;font-weight:500;color:var(--text-secondary);margin-bottom:4px}.analytics-table{width:100%;border-collapse:collapse;font-size:11px}.analytics-table th{text-align:left;color:var(--text-secondary);font-weight:500;padding:3px 6px;border-bottom:1px solid var(--border-color)}.analytics-table td{padding:3px 6px;color:var(--text-primary);border-bottom:1px solid var(--border-subtle, var(--border-color))}.analytics-list{list-style:none;padding:0;margin:0}.analytics-list li{display:flex;justify-content:space-between;padding:2px 0;font-size:12px}.analytics-list-label{color:var(--text-secondary)}.analytics-list-value{color:var(--text-primary);font-weight:500}.analytics-charts-row{display:flex;gap:8px}.analytics-chart-half{flex:1;min-width:0}.team-view{display:flex;flex-direction:column;height:100%;overflow:hidden}.team-content{flex:1;overflow-y:auto;padding:12px 16px}.team-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.team-title{font-size:16px;font-weight:600;color:var(--text-primary);margin:0}.team-refresh-btn{background:transparent;border:1px solid var(--border-color);border-radius:4px;padding:4px 10px;font-size:11px;color:var(--text-secondary);cursor:pointer}.team-refresh-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.team-refresh-btn:disabled{opacity:.5;cursor:default}.team-error{color:var(--status-error);font-size:12px;margin-bottom:8px;padding:6px 8px;background:#ef44441a;border-radius:4px}.team-loading{color:var(--text-secondary);font-size:13px;padding:20px 0;text-align:center}.team-section{margin-bottom:16px}.team-section-title{font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.team-member-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px}.team-member-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;padding:10px 12px}.team-member-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.team-member-name{font-size:13px;font-weight:600;color:var(--text-primary)}.team-member-role{font-size:10px;color:var(--text-muted);background:var(--bg-tertiary);padding:1px 5px;border-radius:3px;text-transform:uppercase;letter-spacing:.3px}.team-member-github{font-size:11px;color:var(--accent);text-decoration:none;display:block;margin-bottom:6px}.team-member-github:hover{text-decoration:underline}.team-member-section{margin-top:6px}.team-section-label{font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;display:block;margin-bottom:2px}.team-item-list{display:flex;flex-direction:column}.team-item-link{display:block;font-size:11px;color:var(--accent);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;padding:1px 0}.team-item-link:hover{text-decoration:underline}.team-item-empty{font-size:11px;color:var(--text-muted);font-style:italic}.team-member-activity{display:flex;gap:8px;font-size:10px;color:var(--text-muted);margin-top:4px}.team-review-blocking-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:2px}.team-review-blocking-item{display:flex;align-items:baseline;gap:6px;font-size:11px;line-height:1.3;min-width:0}.team-review-blocking-sentence{flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.team-review-blocking-sentence strong{font-weight:600}.team-review-blocking-link{display:inline;white-space:normal}.team-review-blocking-age{flex:0 0 auto;font-size:10px;color:var(--text-muted);font-style:italic}.team-activity-label{color:var(--text-muted);font-style:italic}.team-messages{display:flex;flex-direction:column;gap:6px}.team-message{padding:8px 10px;background:var(--bg-secondary);border-radius:4px;border-left:2px solid var(--border-color)}.team-message-header{display:flex;align-items:baseline;gap:8px;margin-bottom:4px}.team-message-author{font-size:12px;font-weight:600;color:var(--text-primary)}.team-message-time{font-size:10px;color:var(--text-muted)}.team-message-body{font-size:12px;color:var(--text-secondary);white-space:pre-wrap;word-break:break-word}.team-no-messages{font-size:12px;color:var(--text-muted);padding:8px 0}.team-activity-feed{display:flex;flex-direction:column;gap:2px}.team-activity-entry{display:flex;align-items:baseline;gap:6px;font-size:12px;color:var(--text-secondary);text-decoration:none;padding:4px 8px;border-radius:3px}.team-activity-entry:hover{background:var(--bg-secondary)}.team-activity-date{font-size:10px;color:var(--text-muted);min-width:50px;flex-shrink:0}.team-activity-author{color:var(--accent);flex-shrink:0}.team-activity-action{color:var(--text-muted);flex-shrink:0}.team-activity-ref{color:var(--text-secondary);flex-shrink:0}.team-activity-title{color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.ofs-rows{display:flex;flex-direction:column;gap:2px}.ofs-subgroup-label{font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;padding:4px 14px 2px}.ofs-row{display:flex;align-items:center;gap:8px;padding:5px 14px;border-radius:6px;cursor:pointer;font-size:14px}.ofs-row:hover{background:var(--bg-secondary)}.ofs-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.ofs-dot--running{background:var(--status-active)}.ofs-dot--idle{background:var(--text-secondary)}.ofs-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ofs-idle{font-size:12px;color:var(--text-secondary);white-space:nowrap}.ofs-file-icon{font-size:14px;flex-shrink:0}.ofs-path{font-size:12px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.decisions-view{display:flex;flex-direction:column;height:100%;overflow:hidden}.decisions-content{flex:1;overflow-y:auto;padding:12px 16px}.decisions-header{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:4px}.decisions-title{font-size:16px;font-weight:600;color:var(--text-primary);margin:0}.decisions-count{font-size:12px;color:var(--text-secondary);white-space:nowrap}.decisions-path{font-size:12px;color:var(--text-muted);margin-bottom:12px;overflow-wrap:anywhere}.decisions-loading,.decisions-empty{color:var(--text-secondary);font-size:13px;padding:20px 0;text-align:center}.decisions-notice,.decisions-error{font-size:12px;margin-bottom:8px;padding:6px 8px;border-radius:4px;overflow-wrap:anywhere}.decisions-notice{color:var(--status-waiting);background:#eab3081a}.decisions-error{color:var(--status-error);background:#ef44441a}.decisions-view .codev-artifact-canvas-rendered{--codev-canvas-foreground: var(--text-primary);--codev-canvas-background: transparent;--codev-canvas-accent: var(--accent);--codev-canvas-border: var(--border-color);--codev-canvas-muted: var(--text-secondary);--codev-canvas-code-background: var(--bg-tertiary);--codev-canvas-code-foreground: var(--text-primary);--codev-canvas-link: #60a5fa;--codev-canvas-font-size: 13px;--codev-canvas-paragraph-spacing: 8px;overflow-wrap:anywhere}.decisions-cards{display:flex;flex-direction:column;gap:10px}.decisions-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;padding:10px 12px;min-width:0}.decisions-card-meta{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 10px;font-size:12px}.decisions-item-id{font-family:monospace;color:var(--accent)}.decisions-stamp{color:var(--text-secondary)}.decisions-stamp-unconverted{font-family:monospace}.decisions-stamp-flag{display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:11px;color:var(--status-waiting)}.decisions-card-question{font-size:14px;font-weight:600;color:var(--text-primary);margin:4px 0 8px;overflow-wrap:anywhere}.decisions-card-body{margin-bottom:8px}.decisions-section-label{font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;margin-bottom:4px}.decisions-thread{list-style:none;margin:0 0 8px;padding-left:10px;border-left:2px solid var(--border-color)}.decisions-thread-entry+.decisions-thread-entry{margin-top:6px}.decisions-thread-label{display:flex;flex-wrap:wrap;gap:6px;align-items:baseline;font-size:11px;margin-bottom:2px}.decisions-thread-who{font-weight:600;color:var(--text-secondary)}.decisions-thread-answer .decisions-thread-who{color:var(--accent)}.decisions-thread-time{color:var(--text-muted)}.decisions-thread-awaiting{font-size:11px;font-style:italic;color:var(--status-waiting)}.decisions-options{margin-bottom:8px}.decisions-option-list{list-style:none;margin:0;padding:0}.decisions-option{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 8px;padding:3px 0;font-size:13px;color:var(--text-primary);min-width:0}.decisions-option-word{font-family:monospace;background:var(--bg-tertiary);padding:0 4px;border-radius:3px}.decisions-option-term{white-space:nowrap}.decisions-option-desc{color:var(--text-secondary);overflow-wrap:anywhere}.decisions-badge{font-size:10px;text-transform:uppercase;letter-spacing:.3px;color:var(--status-active);border:1px solid currentColor;border-radius:3px;padding:0 4px}.decisions-ruling-text{margin:0;padding:6px 8px;font-family:monospace;font-size:12px;color:var(--text-primary);background:var(--bg-tertiary);border-left:3px solid var(--accent);border-radius:3px;white-space:pre-wrap;overflow-wrap:anywhere}.decisions-ruling-note{margin:4px 0 0;font-size:11px;color:var(--text-secondary)}.decisions-form{margin-bottom:8px}.decisions-form .decisions-options{border:none;margin:0 0 8px;padding:0;min-width:0}.decisions-form legend{padding:0}.decisions-choice{cursor:pointer;padding:4px 0}.decisions-choice input{margin:0;align-self:center;accent-color:var(--accent)}.decisions-options:disabled .decisions-choice{cursor:default;opacity:.6}.decisions-link-btn{background:none;border:none;padding:2px 0;font-size:11px;color:var(--text-secondary);text-decoration:underline;cursor:pointer}.decisions-held-pointer{margin:8px 0 0}.decisions-held-pointer .decisions-link-btn{color:inherit;font-size:inherit}.decisions-comment-label{display:block}.decisions-comment{display:block;width:100%;box-sizing:border-box;min-height:60px;resize:vertical;padding:6px 8px;font:inherit;font-size:13px;color:var(--text-primary);background:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px}.decisions-comment:focus{outline:none;border-color:var(--accent)}.decisions-comment:read-only{opacity:.6}.decisions-form .decisions-notice,.decisions-form .decisions-error{margin:6px 0 0}.decisions-form-actions{display:flex;justify-content:flex-end;margin-top:6px}.decisions-submit-btn{padding:5px 14px;font-size:13px;background:var(--accent);color:#fff;border:none;border-radius:4px;cursor:pointer}.decisions-submit-btn:hover:not(:disabled){background:var(--accent-hover)}.decisions-submit-btn:disabled{opacity:.5;cursor:not-allowed}.decisions-held{display:flex;flex-direction:column;gap:10px;margin-bottom:12px}.decisions-held-card{border-style:dashed;border-color:var(--status-waiting)}.decisions-held-tag{font-size:10px;text-transform:uppercase;letter-spacing:.3px;color:var(--status-waiting)}.decisions-held-question{font-size:13px;font-weight:600;color:var(--text-primary);margin:4px 0 6px;overflow-wrap:anywhere}.decisions-held-text{-webkit-user-select:text;user-select:text}.decisions-discard-btn{background:transparent;border:1px solid var(--border-color);border-radius:4px;padding:4px 12px;font-size:12px;color:var(--text-secondary);cursor:pointer}.decisions-discard-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.decisions-ruled{margin-top:16px;padding-top:8px;border-top:1px solid var(--border-color)}.decisions-ruled>summary{cursor:pointer;font-size:13px;font-weight:600;color:var(--text-secondary);padding:4px 0}.decisions-ruled-empty{font-size:12px;color:var(--text-muted)}@media(max-width:768px){.decisions-content{padding:8px 12px}.decisions-card{padding:8px 10px}.decisions-comment{font-size:16px}.decisions-submit-btn{padding:8px 18px;font-size:14px}}