@tea-agent/loop-agent 0.38.2 → 0.38.3

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 (133) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/README.md +2 -0
  3. package/bin/loop-agent.js +7 -3
  4. package/dist/application/task-lifecycle/advance.js +4 -0
  5. package/dist/build-stamp.json +3 -3
  6. package/dist/commands/task-advance.js +31 -0
  7. package/dist/executors/dag-pi-executor.js +58 -1
  8. package/dist/executors/pi-event-serializer.js +42 -1
  9. package/dist/executors/pi-executor.js +51 -0
  10. package/dist/executors/pi-extension-resolver.js +233 -0
  11. package/dist/executors/pi-sdk-executor.js +187 -59
  12. package/dist/executors/shell-executor.js +56 -2
  13. package/dist/executors/shell-write-guard.js +7 -0
  14. package/dist/task/contract/constants.js +1 -0
  15. package/dist/task/contract/diff.js +26 -0
  16. package/dist/task/contract/project.js +5 -0
  17. package/dist/task/contract/schema.js +6 -1
  18. package/dist/task/source-prepare/build-draft.js +15 -0
  19. package/dist/worker/console/pi-readiness.js +4 -4
  20. package/dist/worker/console/static/assets/{abnfDiagram-N423BO3Z-C4bmo3iY.js → abnfDiagram-N423BO3Z-C4kVYweA.js} +1 -1
  21. package/dist/worker/console/static/assets/{arc-SAD7McOS.js → arc-Bj2M8iO5.js} +1 -1
  22. package/dist/worker/console/static/assets/{architectureDiagram-T3A2C74G-DAVLUdK1.js → architectureDiagram-T3A2C74G-CLlXe4-6.js} +1 -1
  23. package/dist/worker/console/static/assets/{blockDiagram-VBNYF7ZC-CPPdv4vj.js → blockDiagram-VBNYF7ZC-psEp5xH0.js} +1 -1
  24. package/dist/worker/console/static/assets/{c4Diagram-5PPSVZJV-D1GRGZax.js → c4Diagram-5PPSVZJV-DeKcOCGJ.js} +1 -1
  25. package/dist/worker/console/static/assets/channel-CPF4N7pf.js +1 -0
  26. package/dist/worker/console/static/assets/{chunk-2GRJ4B5K-D_Bq2ZqK.js → chunk-2GRJ4B5K-K0C744p1.js} +1 -1
  27. package/dist/worker/console/static/assets/{chunk-2Q5K7J3B-CPLVtamK.js → chunk-2Q5K7J3B-xbNw4J9-.js} +1 -1
  28. package/dist/worker/console/static/assets/{chunk-5RXB4S5H-DnaZWcL3.js → chunk-5RXB4S5H-DjLaSDUO.js} +1 -1
  29. package/dist/worker/console/static/assets/{chunk-5VM5RSS4-BRTmFgnq.js → chunk-5VM5RSS4-CtiPlKel.js} +1 -1
  30. package/dist/worker/console/static/assets/{chunk-6Q2QTUOP-BRlfYZoH.js → chunk-6Q2QTUOP-DZtolir7.js} +1 -1
  31. package/dist/worker/console/static/assets/{chunk-GF5L2VYU-CjNybD4u.js → chunk-GF5L2VYU-CPcdNeew.js} +1 -1
  32. package/dist/worker/console/static/assets/{chunk-JWPE2WC7-D3e-74fG.js → chunk-JWPE2WC7-NgHc6V37.js} +1 -1
  33. package/dist/worker/console/static/assets/{chunk-KBJHAD2P-Br3ir6f2.js → chunk-KBJHAD2P-DQ_T-hg8.js} +1 -1
  34. package/dist/worker/console/static/assets/{chunk-RYQCIY6F-1NgVuRbh.js → chunk-RYQCIY6F-DgLsxcVP.js} +1 -1
  35. package/dist/worker/console/static/assets/{chunk-XXDRQBXY-BTYuvuWN.js → chunk-XXDRQBXY-UrVoM9z1.js} +1 -1
  36. package/dist/worker/console/static/assets/classDiagram-JCYQIIEL-C2DwA_Y1.js +1 -0
  37. package/dist/worker/console/static/assets/classDiagram-v2-OCEON4UE-C2DwA_Y1.js +1 -0
  38. package/dist/worker/console/static/assets/{cose-bilkent-JH36ORCC-BC6Bgosf.js → cose-bilkent-JH36ORCC-CLkYvTb3.js} +1 -1
  39. package/dist/worker/console/static/assets/{cynefin-VYW2F7L2-DV-HypfL.js → cynefin-VYW2F7L2-BwT_xKrE.js} +1 -1
  40. package/dist/worker/console/static/assets/{cynefinDiagram-MW4NZA55-DhTaddO-.js → cynefinDiagram-MW4NZA55-Bi9tuzif.js} +1 -1
  41. package/dist/worker/console/static/assets/{dagre-VZM6K2ZE-BnEcOmiI.js → dagre-VZM6K2ZE-BCIqkWBV.js} +1 -1
  42. package/dist/worker/console/static/assets/{diagram-7IWD3JNH-xphGRVKp.js → diagram-7IWD3JNH-Dip6l9_Z.js} +1 -1
  43. package/dist/worker/console/static/assets/{diagram-B4RE2ZJO-CrdD1mRG.js → diagram-B4RE2ZJO-B-xkh_wK.js} +1 -1
  44. package/dist/worker/console/static/assets/{diagram-LBJQPF4R-D4YdLsaF.js → diagram-LBJQPF4R-DZO0kTt_.js} +1 -1
  45. package/dist/worker/console/static/assets/{diagram-Q27KOJAE-LCKyGZ5U.js → diagram-Q27KOJAE-D6ZplNbZ.js} +1 -1
  46. package/dist/worker/console/static/assets/{diagram-UB23O5K3-BeiTe7t0.js → diagram-UB23O5K3-BPekbhoS.js} +1 -1
  47. package/dist/worker/console/static/assets/{ebnfDiagram-BXEA7PRR-BO2cq8GS.js → ebnfDiagram-BXEA7PRR-BtmaJpK5.js} +1 -1
  48. package/dist/worker/console/static/assets/{erDiagram-JOGREHBK-CmWww3Nt.js → erDiagram-JOGREHBK-6DS0Xc44.js} +1 -1
  49. package/dist/worker/console/static/assets/{flowDiagram-UKHOOZJN-C2kkUYg5.js → flowDiagram-UKHOOZJN-CihnROSm.js} +1 -1
  50. package/dist/worker/console/static/assets/{ganttDiagram-PKOTCBZU-DY_JZ2iQ.js → ganttDiagram-PKOTCBZU-CZC4zOE2.js} +1 -1
  51. package/dist/worker/console/static/assets/{gitGraphDiagram-DS77QQ5N-BizhCSw9.js → gitGraphDiagram-DS77QQ5N-Dq1fhzGN.js} +1 -1
  52. package/dist/worker/console/static/assets/{index-BXN89VPX.js → index-DTZOKgAn.js} +142 -63
  53. package/dist/worker/console/static/assets/index-Ya5FE7cD.css +1 -0
  54. package/dist/worker/console/static/assets/{infoDiagram-6WML65LV-Dlo2eK_d.js → infoDiagram-6WML65LV-DlSl4BGx.js} +1 -1
  55. package/dist/worker/console/static/assets/{ishikawaDiagram-WSZJBQD7-3EIlIIuZ.js → ishikawaDiagram-WSZJBQD7-snnzFl_U.js} +1 -1
  56. package/dist/worker/console/static/assets/{journeyDiagram-NVQOT4AX-DiMDe5Yh.js → journeyDiagram-NVQOT4AX-BDE7qpMx.js} +1 -1
  57. package/dist/worker/console/static/assets/{kanban-definition-27J2QSJJ-sN553oIN.js → kanban-definition-27J2QSJJ-CD2Ci04G.js} +1 -1
  58. package/dist/worker/console/static/assets/{linear-D9Py31Ld.js → linear-DdnapKIH.js} +1 -1
  59. package/dist/worker/console/static/assets/{mermaid.core-D7Occzk_.js → mermaid.core-BVjAT9b8.js} +5 -5
  60. package/dist/worker/console/static/assets/{mindmap-definition-FAOFIHXS-DjDRboiR.js → mindmap-definition-FAOFIHXS-D0yJk-zA.js} +1 -1
  61. package/dist/worker/console/static/assets/{pegDiagram-VL7TDLO6-Cgc4qlzp.js → pegDiagram-VL7TDLO6-BVo9tFP-.js} +1 -1
  62. package/dist/worker/console/static/assets/{pieDiagram-7S7Q4E2Y-DxZj8pKd.js → pieDiagram-7S7Q4E2Y-DnOV-mZ_.js} +1 -1
  63. package/dist/worker/console/static/assets/{quadrantDiagram-CIZ2JOQS-CJ50MngR.js → quadrantDiagram-CIZ2JOQS-CzUJo58i.js} +1 -1
  64. package/dist/worker/console/static/assets/{railroadDiagram-AXF67PYL-BY-OD8Tr.js → railroadDiagram-AXF67PYL-Bvikrolh.js} +1 -1
  65. package/dist/worker/console/static/assets/{requirementDiagram-LRYGKXZP-CQFButfK.js → requirementDiagram-LRYGKXZP-DtaSVCap.js} +1 -1
  66. package/dist/worker/console/static/assets/{sankeyDiagram-W5VNT64P-BB_QUK_b.js → sankeyDiagram-W5VNT64P-C2c9A0wW.js} +1 -1
  67. package/dist/worker/console/static/assets/{sequenceDiagram-SI44F4Z6-CqhXZjyx.js → sequenceDiagram-SI44F4Z6-DmXJcU7r.js} +1 -1
  68. package/dist/worker/console/static/assets/{sizeCapture-X5ZJPWSS-2l1U4rgJ.js → sizeCapture-X5ZJPWSS-B4GUFW92.js} +1 -1
  69. package/dist/worker/console/static/assets/{stateDiagram-OKZ733FA-BX1FbrhJ.js → stateDiagram-OKZ733FA-Dsad2MXf.js} +1 -1
  70. package/dist/worker/console/static/assets/stateDiagram-v2-UEYNNEHI-B8FB_cNk.js +1 -0
  71. package/dist/worker/console/static/assets/{swimlanes-SLNWSIFB-DOSnT7hb.js → swimlanes-SLNWSIFB-DGq48Fbi.js} +2 -2
  72. package/dist/worker/console/static/assets/swimlanesDiagram-ULZ7WXOC-CrZYaWfx.js +8 -0
  73. package/dist/worker/console/static/assets/{timeline-definition-Z64GVDOM-DVJQA7AN.js → timeline-definition-Z64GVDOM-CSSi6OFf.js} +1 -1
  74. package/dist/worker/console/static/assets/{vennDiagram-T6HMQDX7-74uxl9gx.js → vennDiagram-T6HMQDX7-BqyzPrWv.js} +1 -1
  75. package/dist/worker/console/static/assets/{wardleyDiagram-T6FBY63Y-DsBxlcg_.js → wardleyDiagram-T6FBY63Y-DlznVb6S.js} +1 -1
  76. package/dist/worker/console/static/assets/{xychartDiagram-ELKLHX3M-snuW9Mjw.js → xychartDiagram-ELKLHX3M-CfBcgJ_K.js} +1 -1
  77. package/dist/worker/console/static/index.html +2 -2
  78. package/dist/worker/console/static-src/operator-chat/open-preview-in-browser.js +328 -0
  79. package/dist/worker/observe/node-input.js +72 -3
  80. package/dist/worker/observe/static/dag-history-labels.js +4 -0
  81. package/dist/worker/observe/static/state.js +2 -2
  82. package/dist/worker/observe/static/views/dag-inspector.js +51 -0
  83. package/dist/worker/observe/static/views/session-timeline.js +18 -5
  84. package/dist/workflows/dag/backend-test-case-coverage-analysis.js +56 -4
  85. package/dist/workflows/dag/backend-test-scenario-partitions.js +73 -1
  86. package/dist/workflows/dag/contract-output-registry.js +15 -0
  87. package/dist/workflows/dag/failure-category.js +4 -0
  88. package/dist/workflows/dag/frontend-implementation-contract.js +140 -39
  89. package/dist/workflows/dag/frontend-prewrite-gate.js +87 -135
  90. package/dist/workflows/dag/frontend-test-case-quality.js +5 -13
  91. package/dist/workflows/dag/frontend-test-environment-probe.js +227 -0
  92. package/dist/workflows/dag/frontend-test-markdown.js +61 -0
  93. package/dist/workflows/dag/frontend-test-result-contract.js +10 -18
  94. package/dist/workflows/dag/frontend-test-standard-scenarios.js +68 -0
  95. package/dist/workflows/dag/init-hybrid.js +79 -101
  96. package/dist/workflows/dag/node-execution.js +119 -8
  97. package/dist/workflows/dag/prompt.js +15 -1
  98. package/dist/workflows/dag/rerun-plan.js +22 -3
  99. package/dist/workflows/dag/structured-output-repair.js +712 -0
  100. package/dist/workflows/dag/types.js +23 -0
  101. package/dist/workflows/dag/validate.js +41 -1
  102. package/docs/operations/local-development-environment.md +1 -5
  103. package/docs/skills/vetted-skill-registry.md +14 -0
  104. package/docs/templates/README.md +1 -1
  105. package/docs/templates/agent-dag.schema.json +44 -0
  106. package/docs/templates/backend-test-dag.json +2 -2
  107. package/docs/templates/frontend-test-dag.json +8 -10
  108. package/docs/templates/frontend-test-dag.retrieve-context.prompt.md +1 -1
  109. package/package.json +8 -4
  110. package/skills/analyze-product-requirements/SKILL.md +8 -5
  111. package/skills/analyze-product-requirements/references/acceptance-criteria.md +1 -1
  112. package/skills/analyze-product-requirements/references/clarification-and-knowledge.md +10 -6
  113. package/skills/analyze-product-requirements/references/example.md +50 -0
  114. package/skills/analyze-product-requirements/references/forward-test-cases.md +11 -7
  115. package/skills/analyze-product-requirements/references/kb-integration.md +5 -5
  116. package/skills/analyze-product-requirements/references/product-analysis-schema.md +8 -4
  117. package/skills/analyze-product-requirements/references/product-requirement-schema.md +2 -2
  118. package/skills/analyze-product-requirements/references/requirement-clarification-schema.md +1 -1
  119. package/skills/analyze-product-requirements/scripts/test-validators.mjs +11 -1
  120. package/skills/analyze-product-requirements/scripts/validate-product-analysis.mjs +20 -1
  121. package/skills/analyze-product-requirements/scripts/validate-requirement-clarification.mjs +9 -0
  122. package/skills/codebase-scout/SKILL.md +1 -1
  123. package/skills/improve-codebase-architecture/SKILL.md +81 -0
  124. package/skills/improve-codebase-architecture/deepening.md +37 -0
  125. package/skills/improve-codebase-architecture/html-report.md +123 -0
  126. package/skills/improve-codebase-architecture/interface-design.md +44 -0
  127. package/skills/improve-codebase-architecture/language.md +53 -0
  128. package/dist/worker/console/static/assets/channel-R6oQIDkw.js +0 -1
  129. package/dist/worker/console/static/assets/classDiagram-JCYQIIEL-BPXlmPWI.js +0 -1
  130. package/dist/worker/console/static/assets/classDiagram-v2-OCEON4UE-BPXlmPWI.js +0 -1
  131. package/dist/worker/console/static/assets/index-CuH5CNFu.css +0 -1
  132. package/dist/worker/console/static/assets/stateDiagram-v2-UEYNNEHI-DJKi0Qel.js +0 -1
  133. package/dist/worker/console/static/assets/swimlanesDiagram-ULZ7WXOC-YYe7EEm5.js +0 -8
@@ -0,0 +1,44 @@
1
+ # Interface Design
2
+
3
+ When the user wants to explore alternative interfaces for a chosen deepening candidate, use this parallel sub-agent pattern. Based on "Design It Twice" (Ousterhout) — your first idea is unlikely to be the best.
4
+
5
+ Uses the vocabulary in [language.md](language.md) — **module**, **interface**, **seam**, **adapter**, **leverage**.
6
+
7
+ ## Process
8
+
9
+ ### 1. Frame the problem space
10
+
11
+ Before spawning sub-agents, write a user-facing explanation of the problem space for the chosen candidate:
12
+
13
+ - The constraints any new interface would need to satisfy
14
+ - The dependencies it would rely on, and which category they fall into (see [deepening.md](deepening.md))
15
+ - A rough illustrative code sketch to ground the constraints — not a proposal, just a way to make the constraints concrete
16
+
17
+ Show this to the user, then immediately proceed to Step 2. The user reads and thinks while the sub-agents work in parallel.
18
+
19
+ ### 2. Spawn sub-agents
20
+
21
+ Spawn 3+ sub-agents in parallel using the Agent tool. Each must produce a **radically different** interface for the deepened module.
22
+
23
+ Prompt each sub-agent with a separate technical brief (file paths, coupling details, dependency category from [deepening.md](deepening.md), what sits behind the seam). The brief is independent of the user-facing problem-space explanation in Step 1. Give each agent a different design constraint:
24
+
25
+ - Agent 1: "Minimize the interface — aim for 1–3 entry points max. Maximise leverage per entry point."
26
+ - Agent 2: "Maximise flexibility — support many use cases and extension."
27
+ - Agent 3: "Optimise for the most common caller — make the default case trivial."
28
+ - Agent 4 (if applicable): "Design around ports & adapters for cross-seam dependencies."
29
+
30
+ Include both [language.md](language.md) vocabulary and CONTEXT.md vocabulary in the brief so each sub-agent names things consistently with the architecture language and the project's domain language.
31
+
32
+ Each sub-agent outputs:
33
+
34
+ 1. Interface (types, methods, params — plus invariants, ordering, error modes)
35
+ 2. Usage example showing how callers use it
36
+ 3. What the implementation hides behind the seam
37
+ 4. Dependency strategy and adapters (see [deepening.md](deepening.md))
38
+ 5. Trade-offs — where leverage is high, where it's thin
39
+
40
+ ### 3. Present and compare
41
+
42
+ Present designs sequentially so the user can absorb each one, then compare them in prose. Contrast by **depth** (leverage at the interface), **locality** (where change concentrates), and **seam placement**.
43
+
44
+ After comparing, give your own recommendation: which design you think is strongest and why. If elements from different designs would combine well, propose a hybrid. Be opinionated — the user wants a strong read, not a menu.
@@ -0,0 +1,53 @@
1
+ # Language
2
+
3
+ Shared vocabulary for every suggestion this skill makes. Use these terms exactly — don't substitute "component," "service," "API," or "boundary." Consistent language is the whole point.
4
+
5
+ ## Terms
6
+
7
+ **Module**
8
+ Anything with an interface and an implementation. Deliberately scale-agnostic — applies equally to a function, class, package, or tier-spanning slice.
9
+ _Avoid_: unit, component, service.
10
+
11
+ **Interface**
12
+ Everything a caller must know to use the module correctly. Includes the type signature, but also invariants, ordering constraints, error modes, required configuration, and performance characteristics.
13
+ _Avoid_: API, signature (too narrow — those refer only to the type-level surface).
14
+
15
+ **Implementation**
16
+ What's inside a module — its body of code. Distinct from **Adapter**: a thing can be a small adapter with a large implementation (a Postgres repo) or a large adapter with a small implementation (an in-memory fake). Reach for "adapter" when the seam is the topic; "implementation" otherwise.
17
+
18
+ **Depth**
19
+ Leverage at the interface — the amount of behaviour a caller (or test) can exercise per unit of interface they have to learn. A module is **deep** when a large amount of behaviour sits behind a small interface. A module is **shallow** when the interface is nearly as complex as the implementation.
20
+
21
+ **Seam** _(from Michael Feathers)_
22
+ A place where you can alter behaviour without editing in that place. The *location* at which a module's interface lives. Choosing where to put the seam is its own design decision, distinct from what goes behind it.
23
+ _Avoid_: boundary (overloaded with DDD's bounded context).
24
+
25
+ **Adapter**
26
+ A concrete thing that satisfies an interface at a seam. Describes *role* (what slot it fills), not substance (what's inside).
27
+
28
+ **Leverage**
29
+ What callers get from depth. More capability per unit of interface they have to learn. One implementation pays back across N call sites and M tests.
30
+
31
+ **Locality**
32
+ What maintainers get from depth. Change, bugs, knowledge, and verification concentrate at one place rather than spreading across callers. Fix once, fixed everywhere.
33
+
34
+ ## Principles
35
+
36
+ - **Depth is a property of the interface, not the implementation.** A deep module can be internally composed of small, mockable, swappable parts — they just aren't part of the interface. A module can have **internal seams** (private to its implementation, used by its own tests) as well as the **external seam** at its interface.
37
+ - **The deletion test.** Imagine deleting the module. If complexity vanishes, the module wasn't hiding anything (it was a pass-through). If complexity reappears across N callers, the module was earning its keep.
38
+ - **The interface is the test surface.** Callers and tests cross the same seam. If you want to test *past* the interface, the module is probably the wrong shape.
39
+ - **One adapter means a hypothetical seam. Two adapters means a real one.** Don't introduce a seam unless something actually varies across it.
40
+
41
+ ## Relationships
42
+
43
+ - A **Module** has exactly one **Interface** (the surface it presents to callers and tests).
44
+ - **Depth** is a property of a **Module**, measured against its **Interface**.
45
+ - A **Seam** is where a **Module**'s **Interface** lives.
46
+ - An **Adapter** sits at a **Seam** and satisfies the **Interface**.
47
+ - **Depth** produces **Leverage** for callers and **Locality** for maintainers.
48
+
49
+ ## Rejected framings
50
+
51
+ - **Depth as ratio of implementation-lines to interface-lines** (Ousterhout): rewards padding the implementation. We use depth-as-leverage instead.
52
+ - **"Interface" as the TypeScript `interface` keyword or a class's public methods**: too narrow — interface here includes every fact a caller must know.
53
+ - **"Boundary"**: overloaded with DDD's bounded context. Say **seam** or **interface**.
@@ -1 +0,0 @@
1
- import{ag as o,ah as n}from"./mermaid.core-D7Occzk_.js";const t=(a,r)=>o.lang.round(n.parse(a)[r]);export{t as c};
@@ -1 +0,0 @@
1
- import{s as a,c as s,a as e,C as t}from"./chunk-GF5L2VYU-CjNybD4u.js";import{_ as i}from"./mermaid.core-D7Occzk_.js";import"./chunk-5VM5RSS4-BRTmFgnq.js";import"./chunk-XXDRQBXY-BTYuvuWN.js";import"./chunk-KBJHAD2P-Br3ir6f2.js";import"./chunk-2GRJ4B5K-D_Bq2ZqK.js";import"./index-BXN89VPX.js";var n={parser:e,get db(){return new t},renderer:s,styles:a,init:i(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{n as diagram};
@@ -1 +0,0 @@
1
- import{s as a,c as s,a as e,C as t}from"./chunk-GF5L2VYU-CjNybD4u.js";import{_ as i}from"./mermaid.core-D7Occzk_.js";import"./chunk-5VM5RSS4-BRTmFgnq.js";import"./chunk-XXDRQBXY-BTYuvuWN.js";import"./chunk-KBJHAD2P-Br3ir6f2.js";import"./chunk-2GRJ4B5K-D_Bq2ZqK.js";import"./index-BXN89VPX.js";var n={parser:e,get db(){return new t},renderer:s,styles:a,init:i(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{n as diagram};
@@ -1 +0,0 @@
1
- :root{--canvas: #f7f7f4;--canvas-soft: #fafaf7;--surface: #ffffff;--surface-muted: #f0efe9;--ink: #26251e;--body: #5a5852;--muted: #807d72;--muted-soft: #a09c92;--hairline: #e6e5e0;--hairline-strong: #cfcdc4;--orange: #f54e00;--orange-active: #d04200;--orange-soft: color-mix(in srgb, var(--orange) 12%, white);--blue: #3f6ea4;--green: #1f8a65;--amber: #a66a00;--red: #c72d53;--peach: #f1d8cb;--mint: #d8ead5;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-12: 48px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-pill: 999px;--transition-fast: .16s ease;--transition-base: .22s ease;--ease-out: cubic-bezier(.22, 1, .36, 1);--shadow-sm: 0 1px 2px rgb(38 37 30 / 5%);--shadow-panel: 0 1px 2px rgb(38 37 30 / 4%), 0 8px 24px rgb(38 37 30 / 3%);--shadow-soft: 0 10px 30px rgb(38 37 30 / 6%);--shadow-lg: 0 16px 44px rgb(38 37 30 / 10%);--shell-max: 1680px;--text-xs: 11px;--text-sm: 12px;--text-md: 13px;--text-base: 14px;--text-lg: 16px;--text-xl: 20px;--text-2xl: 26px;--font-mono: "JetBrains Mono", "SFMono-Regular", Consolas, "Segoe UI Mono", monospace;--bg: var(--canvas);--border: var(--hairline);--accent: var(--orange);--accent-active: var(--orange-active);--danger: var(--red);--success: var(--green);--warning: var(--amber);--info: var(--blue);--text-muted: var(--muted);--surface-raised: var(--surface);--surface-hover: var(--surface-muted);--surface-sunken: var(--canvas-soft);--oc-tree-guide: 14px;--oc-shortcut-palette-available-height: 62vh;--oc-session-share: 45%;--oc-repo-share: 55%;color-scheme:light;font-family:Segoe UI,PingFang SC,Hiragino Sans GB,Noto Sans SC,system-ui,-apple-system,sans-serif;line-height:1.5}*{box-sizing:border-box}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}html{background:radial-gradient(1200px 480px at 8% -10%,rgb(241 216 203 / 45%),transparent 55%),radial-gradient(900px 420px at 100% 0%,rgb(216 234 213 / 35%),transparent 50%),var(--canvas);min-height:100%}body{margin:0;min-height:100vh;min-width:320px;background:transparent;color:var(--ink);font-size:14px}button,input,select,textarea{font:inherit}a{color:inherit}::selection{background:color-mix(in srgb,var(--orange) 18%,white)}.oc-messages,.oc-session-scroll,.oc-tree-scroll,.oc-process-timeline,.oc-tools-catalog-body,.oc-runtime-context-body,.inspect-split-panel{scrollbar-width:thin;scrollbar-color:var(--hairline-strong) transparent}.oc-messages::-webkit-scrollbar,.oc-session-scroll::-webkit-scrollbar,.oc-tree-scroll::-webkit-scrollbar,.oc-process-timeline::-webkit-scrollbar,.oc-tools-catalog-body::-webkit-scrollbar,.oc-runtime-context-body::-webkit-scrollbar,.inspect-split-panel::-webkit-scrollbar{width:8px;height:8px}.oc-messages::-webkit-scrollbar-thumb,.oc-session-scroll::-webkit-scrollbar-thumb,.oc-tree-scroll::-webkit-scrollbar-thumb,.oc-process-timeline::-webkit-scrollbar-thumb,.oc-tools-catalog-body::-webkit-scrollbar-thumb,.oc-runtime-context-body::-webkit-scrollbar-thumb,.inspect-split-panel::-webkit-scrollbar-thumb{background:var(--hairline-strong);border-radius:999px;border:2px solid transparent;background-clip:content-box}.oc-messages::-webkit-scrollbar-track,.oc-session-scroll::-webkit-scrollbar-track,.oc-tree-scroll::-webkit-scrollbar-track,.oc-process-timeline::-webkit-scrollbar-track,.oc-tools-catalog-body::-webkit-scrollbar-track,.oc-runtime-context-body::-webkit-scrollbar-track,.inspect-split-panel::-webkit-scrollbar-track{background:transparent}code,.cmd,.kv dd code{font-family:var(--font-mono)}.console-app{display:flex;flex-direction:column;min-height:100dvh}html:has(.console-app.is-chat-focus),body:has(.console-app.is-chat-focus){height:100%;overflow:hidden}.console-app.is-chat-focus{height:100dvh;max-height:100dvh;overflow:hidden}.console-shell{flex:1 1 auto;display:flex;flex-direction:column;min-height:0;width:min(100% - 48px,var(--shell-max));margin:0 auto;padding:var(--space-5) 0 var(--space-12, 48px)}.flash{display:flex;gap:var(--space-3);align-items:flex-start;margin:0 0 var(--space-4);padding:12px 16px;border:1px solid var(--hairline);border-left:3px solid var(--hairline-strong);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-panel);animation:flash-in .22s var(--ease-out)}.flash-error{border-color:color-mix(in srgb,var(--red) 35%,var(--hairline));border-left-color:var(--red);background:color-mix(in srgb,var(--red) 6%,var(--surface));color:var(--red)}.flash-info{border-color:color-mix(in srgb,var(--blue) 30%,var(--hairline));border-left-color:var(--blue);background:color-mix(in srgb,var(--blue) 6%,var(--surface));color:var(--body)}.flash-label{flex:0 0 auto;min-width:3.5rem;font-size:var(--text-xs);font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding-top:1px}.flash-body{margin:0;overflow-wrap:anywhere;white-space:pre-line;font-size:var(--text-md);line-height:1.55}.muted{color:var(--muted)}.console-main{display:grid;gap:var(--space-4)}.console-main--fill{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:var(--space-3)}.console-shell.is-chat-focus{flex:1 1 auto;min-height:0;overflow:hidden;padding-bottom:var(--space-3)}.console-shell.is-chat-focus .console-main--fill{flex:1 1 auto;min-height:0;overflow:hidden}.panel--chat{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;padding:var(--space-3);overflow:hidden}.panel--chat .oc-shell{flex:1 1 auto;min-height:0;height:auto;overflow:hidden}.console-shell.is-chat-focus .panel--chat{padding:var(--space-2)}.console-shell.is-chat-focus .panel--chat .oc-shell{min-height:0;gap:var(--space-2);overflow:hidden}.inspect-split-panel{position:fixed;z-index:50;top:16px;right:16px;bottom:16px;width:min(420px,calc(100vw - 32px));display:grid;align-content:start;gap:var(--space-4);padding:var(--space-5);overflow:auto;border:1px solid var(--hairline);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-soft)}.inspect-split-nodes{display:grid;gap:6px;margin:0;padding:0;list-style:none;max-height:220px;overflow:auto}.inspect-split-nodes li{display:grid;grid-template-columns:1fr auto;gap:var(--space-2);align-items:center;padding:6px 8px;border:1px solid var(--hairline);border-radius:var(--radius-sm);background:var(--canvas-soft);font-size:12px}.inspect-split-nodes li.is-active{border-color:var(--orange);background:var(--orange-soft)}.inspect-split-nodes code{color:var(--muted);font-size:11px}.inspect-split-header{display:flex;align-items:start;justify-content:space-between;gap:var(--space-3)}.inspect-split-header h2,.inspect-split-panel h3{margin:0}.inspect-split-kicker,.inspect-split-id{margin:0;color:var(--muted);font-size:12px}.inspect-split-facts{display:grid;gap:var(--space-2);margin:0}.inspect-split-facts div{display:grid;grid-template-columns:7rem 1fr;gap:var(--space-2);padding-bottom:var(--space-2);border-bottom:1px solid var(--hairline)}.inspect-split-facts dt{color:var(--muted)}.inspect-split-facts dd{margin:0;overflow-wrap:anywhere}.inspect-split-events{display:grid;gap:8px;margin:0;padding-left:18px;color:var(--body);font-size:12px}.panel{min-width:0;border:1px solid var(--hairline);background:color-mix(in srgb,var(--surface) 96%,transparent);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-panel)}.panel h2{margin:0 0 var(--space-2);color:var(--ink);font-size:var(--text-xl);font-weight:700;letter-spacing:-.02em}.panel-lead{margin:0 0 var(--space-5);color:var(--muted);font-size:var(--text-md);line-height:1.55}.panel h3{margin:0 0 var(--space-3);color:var(--ink);font-size:15px;font-weight:700;letter-spacing:-.01em}.empty-state{border:1px dashed var(--hairline-strong);border-radius:var(--radius-lg);padding:var(--space-8) var(--space-6);background:var(--canvas-soft);color:var(--body);text-align:center}.empty-state .cta-row{justify-content:center}.empty-title{margin:0 0 var(--space-2);color:var(--ink);font-size:var(--text-lg);font-weight:700;letter-spacing:-.01em}.empty-state .muted{max-width:52ch;margin-left:auto;margin-right:auto}.checklist{margin:0 0 var(--space-4);padding:var(--space-4);border:1px solid var(--hairline);border-radius:var(--radius-md);background:var(--canvas-soft);list-style:none;color:var(--body)}.checklist li{position:relative;padding:6px 0 6px 22px}.checklist li:before{content:"";position:absolute;left:0;top:12px;width:8px;height:8px;border-radius:50%;background:var(--orange);opacity:.75}.kv{display:grid;gap:var(--space-1);margin:0}.kv div{display:grid;grid-template-columns:9rem 1fr;gap:var(--space-3);padding:10px 0;border-bottom:1px solid var(--hairline)}.kv div:last-child{border-bottom:none}.kv dt{color:var(--muted);font-size:var(--text-sm);font-weight:600}.kv dd{margin:0;color:var(--ink);overflow-wrap:anywhere;font-variant-numeric:tabular-nums}code{font-size:.85rem;color:var(--ink)}.cmd{display:block;width:100%;margin:0;padding:var(--space-3) var(--space-4);border:1px solid var(--hairline);border-radius:var(--radius-md);background:var(--canvas-soft);color:var(--ink);font-size:var(--text-sm);line-height:1.55;overflow-x:auto;white-space:pre-wrap;word-break:break-word;max-height:280px}.external-link{color:var(--orange);text-decoration:none;font-weight:600}.external-link:hover{text-decoration:underline}.error{color:var(--red)}.wizard-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:var(--space-2);list-style:none;padding:0;margin:0 0 var(--space-5)}.wizard-steps li{position:relative;min-height:54px;display:grid;align-content:center;gap:3px;border:1px solid var(--hairline);border-radius:var(--radius-md);padding:9px 12px;background:var(--canvas-soft);color:var(--muted);font-size:var(--text-sm);font-weight:600;transition:border-color var(--transition-fast),background-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.wizard-steps li[data-done=true]{border-color:color-mix(in srgb,var(--green) 35%,var(--hairline));background:color-mix(in srgb,var(--mint) 45%,var(--surface));color:var(--green)}.wizard-steps li[data-active=true]{border-color:var(--orange);background:var(--surface);color:var(--ink);box-shadow:0 0 0 3px var(--orange-soft),var(--shadow-panel);transform:translateY(-1px)}.wizard-steps .step-index{font-size:10px;font-weight:700;letter-spacing:.06em;font-variant-numeric:tabular-nums;color:var(--muted-soft)}.wizard-steps li[data-active=true] .step-index{color:var(--orange);opacity:1}.wizard-steps li[data-done=true] .step-index{color:inherit;opacity:.8}.wizard-steps .step-label{line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.field{display:grid;gap:var(--space-1);margin:0 0 var(--space-4);width:min(100%,520px)}.field span{font-size:12px;font-weight:600;color:var(--muted)}.field input,.field textarea,.field select{width:100%;border:1px solid var(--hairline-strong);border-radius:var(--radius-md);background:var(--surface);color:var(--ink);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.field input{min-height:40px;padding:0 var(--space-3)}.field select{min-height:40px;padding:0 var(--space-3);cursor:pointer}.field textarea{min-height:120px;padding:var(--space-3);resize:vertical}.field input:focus-visible,.field textarea:focus-visible,.field select:focus-visible{outline:none;border-color:var(--orange);box-shadow:0 0 0 3px var(--orange-soft)}.field input:disabled,.field textarea:disabled,.field select:disabled{background:var(--surface-muted);color:var(--muted);cursor:not-allowed}.workflow-hint{margin:calc(var(--space-1) * -1) 0 var(--space-3);color:var(--muted);font-size:12px}.prd-drop-zone{position:relative;width:min(100%,720px);margin:0 0 var(--space-3);padding:var(--space-3);border:1px dashed var(--hairline-strong);border-radius:var(--radius-md);background:var(--surface);transition:border-color var(--transition-fast),background-color var(--transition-fast),box-shadow var(--transition-fast)}.prd-drop-zone.is-dragover{border-color:var(--orange);background:var(--orange-soft);box-shadow:0 0 0 3px var(--orange-soft)}.prd-upload-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-3);margin:0 0 var(--space-3)}.prd-upload-btn{display:inline-flex;align-items:center;cursor:pointer;margin:0}.prd-upload-btn.is-disabled,.prd-upload-btn:has(input:disabled){opacity:.55;cursor:not-allowed;pointer-events:none}.prd-upload-btn:focus-within{outline:none;box-shadow:0 0 0 3px var(--orange-soft)}.prd-upload-hint{font-size:12px}.prd-file-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-3);margin:0 0 var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--hairline);border-radius:var(--radius-md);background:var(--surface-muted);font-size:12px;color:var(--ink)}.prd-file-list{list-style:none;margin:0 0 var(--space-3);padding:0;display:grid;gap:var(--space-2)}.prd-file-list li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--hairline);border-radius:var(--radius-md);background:var(--surface-muted);font-size:12px}.prd-file-list li.is-primary{border-color:color-mix(in srgb,var(--orange) 40%,var(--hairline-strong))}.prd-file-item-name{display:inline-flex;flex-wrap:wrap;align-items:center;gap:var(--space-1);min-width:0}.prd-file-primary-tag{display:inline-flex;align-items:center;padding:0 6px;border-radius:999px;background:var(--orange-soft);color:var(--orange);font-size:11px;font-weight:700}.prd-file-item-actions{display:inline-flex;flex-wrap:wrap;gap:var(--space-1)}.prd-file-item-actions .btn,.prd-file-clear{min-height:28px;padding:0 var(--space-2);font-size:12px}.prd-drop-hint{margin:0 0 var(--space-3);font-size:13px;font-weight:600;color:var(--orange)}.prd-text-field{width:100%;margin-bottom:0}.prd-file-error{width:min(100%,720px);margin:0 0 var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid color-mix(in srgb,var(--orange) 45%,var(--hairline-strong));border-radius:var(--radius-md);background:var(--orange-soft);color:var(--ink);font-size:13px}.meta-row{display:grid;gap:6px;margin:0 0 var(--space-4);padding:var(--space-3) var(--space-4);border:1px solid var(--hairline);border-radius:var(--radius-md);background:var(--canvas-soft);font-size:13px}.meta-row code{font-size:12px}.cta-row,.recovery-cta-row{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}.cta-row{margin-top:var(--space-3)}.cta-row .cmd{flex:1 1 100%}.wizard-body{display:grid;gap:var(--space-3);justify-items:stretch;animation:panel-in .24s ease}.wizard-body>div{display:grid;gap:var(--space-3);justify-items:stretch}.wizard-body .field{width:100%;max-width:640px}.wizard-body .cta-row{margin-top:var(--space-1)}.interview-card{width:100%;padding:var(--space-5);border:1px solid var(--hairline);border-radius:var(--radius-lg);background:linear-gradient(180deg,var(--surface),var(--canvas-soft));box-shadow:var(--shadow-panel)}.interview-q{margin:0 0 var(--space-2);color:var(--ink)}.btn,button{appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;padding:0 14px;border:1px solid var(--hairline-strong);border-radius:var(--radius-md);background:var(--surface);color:var(--ink);font-size:var(--text-md);font-weight:600;letter-spacing:.01em;cursor:pointer;transition:border-color var(--transition-fast),background-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.btn:hover:not(:disabled),button:hover:not(:disabled){border-color:color-mix(in srgb,var(--ink) 18%,var(--hairline-strong));background:var(--canvas-soft);outline:none}.btn:focus-visible:not(:disabled),button:focus-visible:not(:disabled){outline:none;box-shadow:0 0 0 3px var(--orange-soft)}.btn:active:not(:disabled),button:active:not(:disabled){transform:translateY(1px)}.btn:disabled,button:disabled{opacity:.48;cursor:not-allowed;transform:none}.btn-primary,button.btn-primary{border-color:var(--orange);background:linear-gradient(180deg,var(--orange),var(--orange-active));color:#fff;font-weight:650;box-shadow:inset 0 1px #ffffff2e,0 6px 16px #f54e002e}.btn-primary:hover:not(:disabled),button.btn-primary:hover:not(:disabled){border-color:var(--orange-active);background:var(--orange-active);color:#fff;box-shadow:inset 0 1px #ffffff1f,0 8px 20px #f54e003d;transform:translateY(-1px)}.btn-primary:active:not(:disabled),button.btn-primary:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 8px #f54e0033}.btn-secondary,button.btn-secondary{border-color:var(--hairline-strong);background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm)}.btn-secondary:hover:not(:disabled),button.btn-secondary:hover:not(:disabled){background:var(--canvas-soft)}.btn-ghost,button.btn-ghost{border-color:transparent;background:transparent;color:var(--body)}.btn-ghost:hover:not(:disabled),button.btn-ghost:hover:not(:disabled){background:var(--surface-muted);color:var(--ink)}.recovery-cta-row{margin-top:var(--space-3)}.recovery-confirm{margin-top:var(--space-3);padding:var(--space-4);border:1px solid color-mix(in srgb,var(--orange) 40%,var(--hairline));border-radius:var(--radius-md);background:color-mix(in srgb,var(--orange-soft) 55%,var(--surface))}.recovery-confirm h3{margin:0 0 var(--space-2);font-size:15px}.recovery-confirm .cta-row{margin-top:var(--space-3)}.recovery-reason-code{display:flex;flex-direction:column;gap:var(--space-2);margin:0 0 var(--space-3);padding:0;border:0;min-inline-size:0;width:100%}.recovery-reason-code legend{padding:0;float:none;width:auto;font-size:12px;font-weight:600;color:var(--muted)}.recovery-reason-code-group{display:flex;flex-wrap:wrap;gap:8px}.recovery-reason-code-option{position:relative;display:inline-flex;align-items:center;min-height:32px;padding:0 12px;border:1px solid var(--hairline-strong);border-radius:var(--radius-pill);background:var(--surface);color:var(--body);font-size:13px;line-height:1;cursor:pointer;-webkit-user-select:none;user-select:none;transition:border-color var(--transition-fast),background-color var(--transition-fast),box-shadow var(--transition-fast),color var(--transition-fast)}.recovery-reason-code-option:hover{border-color:var(--orange);color:var(--ink)}.recovery-reason-code-option.is-active{border-color:var(--orange);background:color-mix(in srgb,var(--orange-soft) 85%,var(--surface));color:var(--ink);font-weight:600}.recovery-reason-code-option:focus-within{border-color:var(--orange);box-shadow:0 0 0 3px var(--orange-soft)}.recovery-reason-code:disabled .recovery-reason-code-option,.recovery-reason-code-option:has(input:disabled){opacity:.55;cursor:not-allowed}.recovery-reason-code-option input{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;border:0}.recovery-report{margin-top:var(--space-3);padding:var(--space-4);border:1px solid var(--hairline);border-radius:var(--radius-md);background:var(--surface)}.recovery-report-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-3)}.recovery-report-header h3{margin:0;font-size:15px}.recovery-report-facts{display:grid;gap:var(--space-2);margin:0 0 var(--space-3)}.recovery-report-facts div{display:grid;grid-template-columns:5.5rem 1fr;gap:var(--space-2)}.recovery-report-facts dt{color:var(--muted);font-size:12px}.recovery-report-facts dd{margin:0;overflow-wrap:anywhere}.recovery-steps{margin:.5rem 0 .75rem 1.25rem;padding:0;line-height:1.5}.recovery-lane{margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--hairline)}.recovery-lane h3{margin:0 0 .35rem;font-size:1rem}.recovery-cta-row button[disabled]{opacity:.4}@keyframes flash-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}@keyframes panel-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media(max-width:800px){.console-shell{width:min(100% - 24px,var(--shell-max));padding-top:var(--space-5)}.inspect-split-panel{inset:auto 0 0;width:100%;max-height:min(76vh,680px);border-radius:var(--radius-lg) var(--radius-lg) 0 0}.kv div{grid-template-columns:1fr}.wizard-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}.oc-shell{display:flex;flex-direction:column;height:100%;min-height:0;gap:var(--space-3);position:relative;overflow:hidden}.oc-workspace{display:flex;flex:1 1 auto;min-height:0;gap:0;position:relative;overflow:hidden}.oc-main{display:flex;flex-direction:column;flex:1 1 auto;min-width:0;min-height:0;overflow:hidden}.oc-main-topbar{display:flex;align-items:center;gap:var(--space-2);flex:0 0 auto;padding:6px 10px;border-bottom:1px solid var(--hairline);background:color-mix(in srgb,var(--surface) 92%,transparent)}.oc-main-topbar-btn{appearance:none;display:inline-flex;align-items:center;justify-content:center;min-height:36px;min-width:44px;padding:0 12px;border:1px solid var(--hairline);border-radius:var(--radius-md);background:var(--surface);color:var(--ink);font:inherit;font-size:13px;font-weight:600;cursor:pointer}.oc-main-topbar-btn:hover{border-color:color-mix(in srgb,var(--orange) 35%,var(--hairline));background:color-mix(in srgb,var(--orange) 8%,var(--surface))}.oc-main-topbar-btn:focus-visible{outline:2px solid color-mix(in srgb,var(--orange) 45%,transparent);outline-offset:1px}.oc-main-topbar-btn:active{transform:translateY(1px)}.oc-sidebar{flex:0 0 280px;width:280px;min-width:0;display:flex;flex-direction:column;gap:var(--space-2);margin-right:var(--space-3);padding:var(--space-2);overflow:hidden;border:1px solid var(--hairline);border-radius:var(--radius-md);background:var(--surface)}.oc-sidebar.is-collapsed{flex:0 0 36px;width:36px;padding:6px;overflow:visible;align-items:center}.oc-sidebar-rail{flex:0 0 44px;width:44px;min-width:44px;display:flex;flex-direction:column;align-items:center;gap:6px;margin-right:var(--space-2);padding:8px 4px;border:1px solid var(--hairline);border-radius:var(--radius-md);background:var(--surface)}.oc-sidebar-rail-btn{appearance:none;display:inline-grid;place-items:center;width:36px;height:36px;min-width:36px;min-height:36px;padding:0;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--muted);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}.oc-sidebar-rail-btn:hover{color:var(--ink);background:color-mix(in srgb,var(--orange) 8%,var(--surface));border-color:var(--hairline)}.oc-sidebar-rail-btn:active{transform:scale(.96)}.oc-sidebar-rail-btn:focus-visible{outline:2px solid color-mix(in srgb,var(--orange) 45%,transparent);outline-offset:1px}.oc-overlay-backdrop{position:absolute;inset:0;z-index:6;border:0!important;padding:0!important;margin:0!important;min-height:0!important;min-width:0!important;border-radius:0!important;box-shadow:none!important;outline:none!important;background:color-mix(in srgb,var(--ink) 28%,transparent)!important;cursor:pointer;transform:none!important}.oc-overlay-backdrop:hover,.oc-overlay-backdrop:focus,.oc-overlay-backdrop:focus-visible,.oc-overlay-backdrop:active{border:0!important;padding:0!important;margin:0!important;min-height:0!important;border-radius:0!important;box-shadow:none!important;outline:none!important;background:color-mix(in srgb,var(--ink) 28%,transparent)!important;transform:none!important}.oc-overlay-backdrop.is-process:hover,.oc-overlay-backdrop.is-process:focus,.oc-overlay-backdrop.is-process:active,.oc-overlay-backdrop.is-runtime-context:hover,.oc-overlay-backdrop.is-runtime-context:focus,.oc-overlay-backdrop.is-runtime-context:active{background:transparent!important}.oc-overlay-backdrop.is-process{z-index:7;background:transparent!important}.oc-overlay-backdrop.is-runtime-context{background:transparent!important}.oc-sidebar-drawer{position:absolute;inset:0 auto 0 0;z-index:8;width:min(320px,calc(100% - 24px));margin-right:0;box-shadow:var(--shadow-soft)}.oc-process.is-process-overlay{position:absolute;top:0;right:0;bottom:0;z-index:9;animation:oc-drawer-slide-in .28s cubic-bezier(.32,.72,0,1);will-change:transform;width:min(380px,calc(100% - 24px));min-width:0;flex:none;margin-left:0;border-radius:var(--radius-md) 0 0 var(--radius-md);box-shadow:var(--shadow-soft)}.oc-sidebar-split{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;gap:0}.oc-sidebar-split>.oc-sessions{flex:1 1 var(--oc-session-share, 45%);max-height:none;min-height:0}.oc-sidebar-split>.oc-sessions .oc-session-scroll{flex:1 1 auto;max-height:none;min-height:0}.oc-sidebar-split>.oc-explorer{flex:1 1 var(--oc-repo-share, 55%);min-height:0;border-top:0;padding-top:0;margin-top:0}.oc-sidebar-split>.oc-explorer .oc-tree-scroll{max-height:none;min-height:0}.oc-sidebar-separator{flex:0 0 8px;height:8px;margin:2px 0;border:0;border-radius:999px;background:color-mix(in srgb,var(--hairline) 80%,transparent);cursor:row-resize;touch-action:none}.oc-sidebar-separator:hover,.oc-sidebar-split[data-dragging=true] .oc-sidebar-separator{background:color-mix(in srgb,var(--orange) 45%,var(--hairline))}.oc-sidebar-separator:focus-visible{outline:2px solid color-mix(in srgb,var(--orange) 45%,transparent);outline-offset:1px;background:color-mix(in srgb,var(--orange) 35%,var(--hairline))}.oc-sidebar-header-actions{display:inline-flex;align-items:center;gap:2px}.oc-sidebar-toggle{appearance:none;display:inline-grid;place-items:center;width:28px;height:28px;padding:0;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--muted);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}.oc-sidebar-toggle:hover{color:var(--ink);background:color-mix(in srgb,var(--orange) 8%,var(--surface));border-color:var(--hairline)}.oc-sidebar-toggle:focus-visible{outline:2px solid color-mix(in srgb,var(--orange) 45%,transparent);outline-offset:1px}.oc-sidebar-toggle.is-collapsed{width:100%;height:28px}.oc-sidebar-section{display:flex;flex-direction:column;gap:6px;min-height:0}.oc-sidebar-section>header{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:13px;flex-shrink:0}.oc-sessions{flex:0 1 auto;max-height:min(34vh,320px);display:flex;flex-direction:column;min-height:0}.oc-session-scroll{min-height:0;max-height:min(28vh,260px);overflow:auto;padding:4px;border:1px solid var(--hairline);border-radius:var(--radius-md);background:linear-gradient(180deg,color-mix(in srgb,var(--canvas-soft) 70%,white),var(--canvas-soft))}.oc-session-group{display:flex;flex-direction:column;gap:2px}.oc-session-group>small{margin:4px 6px 2px;color:var(--muted-soft);font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.oc-session-item{position:relative;display:block;border-radius:6px;transition:background-color var(--transition-fast)}.oc-session-item:hover,.oc-session-item:focus-within{background:color-mix(in srgb,var(--orange) 8%,var(--surface))}.oc-session-item.is-active{background:var(--orange-soft)}.oc-session-main{display:flex;flex-direction:column;align-items:stretch;width:100%;min-width:0;padding:5px 6px;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.oc-session-main strong,.oc-session-main span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.oc-session-main strong{font-size:12.5px;font-weight:650;line-height:1.25}.oc-session-running{position:absolute;top:5px;right:8px;height:16px;display:inline-flex;align-items:center;justify-content:center;width:14px;color:var(--orange-active, var(--orange));pointer-events:none;z-index:1}.oc-session-running .oc-spinner{width:12px;height:12px;border-width:1.5px}.oc-session-queue-state{position:absolute;right:8px;bottom:5px;max-width:52px;overflow:hidden;color:var(--orange-active, var(--orange));font-size:10px;line-height:1;pointer-events:none;text-overflow:ellipsis;white-space:nowrap}.oc-session-queue-state.is-failed{color:var(--danger)}.oc-spinner{display:inline-block;width:.85em;height:.85em;border:1.5px solid currentColor;border-right-color:transparent;border-radius:50%;animation:oc-spin .8s linear infinite;flex-shrink:0}.oc-spinner-inline{width:12px;height:12px;margin-right:2px;vertical-align:-1px}@media(prefers-reduced-motion:reduce){.oc-spinner{animation-duration:1.6s}}@keyframes oc-spin{to{transform:rotate(360deg)}}.oc-session-main span{color:var(--muted-soft);font-size:10px;margin-top:1px;font-variant-numeric:tabular-nums}.oc-session-actions{position:absolute;top:50%;right:4px;z-index:2;display:inline-flex;align-items:center;gap:2px;padding:2px 4px 2px 18px;border-radius:6px;background:linear-gradient(90deg,transparent 0%,color-mix(in srgb,var(--surface) 92%,transparent) 28%,var(--surface) 55%);opacity:0;pointer-events:none;transform:translateY(-50%);transition:opacity .14s ease}.oc-session-item.is-active .oc-session-actions{background:linear-gradient(90deg,transparent 0%,color-mix(in srgb,var(--orange-soft) 88%,transparent) 28%,var(--orange-soft) 55%)}.oc-session-item:hover .oc-session-actions,.oc-session-item:focus-within .oc-session-actions,.oc-session-item.is-delete-confirming .oc-session-actions{opacity:1;pointer-events:auto}@media(hover:none),(pointer:coarse){.oc-session-item.is-active .oc-session-actions,.oc-session-item:focus-within .oc-session-actions{opacity:1;pointer-events:auto}}@media(prefers-reduced-motion:reduce){.oc-session-actions{transition:none}}.oc-session-menu{display:inline-grid;place-items:center;width:28px;height:28px;padding:0;border:0;border-radius:6px;background:transparent;color:var(--muted);cursor:pointer;font:inherit;line-height:0}.oc-session-menu:hover,.oc-session-menu:focus-visible{color:var(--ink);background:color-mix(in srgb,var(--ink) 6%,transparent)}.oc-session-delete{color:var(--muted)}.oc-session-delete:hover,.oc-session-delete:focus-visible{color:var(--red);background:color-mix(in srgb,var(--red) 10%,transparent)}.oc-session-actions.is-delete-confirm{gap:4px;padding-left:18px}.oc-session-delete-confirm,.oc-session-delete-cancel{min-height:26px;padding:3px 8px;border:1px solid var(--hairline);border-radius:6px;background:var(--surface);color:var(--body);cursor:pointer;font:inherit;font-size:11px;font-weight:650;line-height:1.2;white-space:nowrap}.oc-session-delete-confirm{border-color:color-mix(in srgb,var(--red) 45%,var(--hairline));color:var(--red);background:color-mix(in srgb,var(--red) 7%,var(--surface))}.oc-session-delete-confirm:hover,.oc-session-delete-confirm:focus-visible{border-color:var(--red);background:color-mix(in srgb,var(--red) 13%,var(--surface))}.oc-session-delete-cancel:hover,.oc-session-delete-cancel:focus-visible{border-color:var(--hairline-strong);color:var(--ink);background:var(--surface-muted)}.oc-session-delete-confirm:focus-visible,.oc-session-delete-cancel:focus-visible{outline:2px solid color-mix(in srgb,var(--orange) 42%,transparent);outline-offset:1px}.oc-session-delete-confirm:disabled,.oc-session-delete-cancel:disabled{cursor:wait;opacity:.65}.oc-session-title-tooltip{z-index:40;max-width:min(360px,calc(100vw - 24px));padding:6px 10px;border:1px solid var(--hairline);border-radius:6px;background:var(--surface);color:var(--ink);box-shadow:var(--shadow-soft);font-size:12px;line-height:1.4;white-space:normal;overflow-wrap:anywhere;pointer-events:none}.oc-explorer{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:6px;border-top:1px solid var(--hairline);padding-top:var(--space-3);margin-top:2px}.oc-explorer-hint{margin:0 2px;color:var(--muted-soft);font-size:10.5px;letter-spacing:.01em}.oc-tree-scroll{flex:1 1 auto;min-height:120px;max-height:min(52vh,560px);overflow:auto;padding:4px;border:1px solid var(--hairline);border-radius:var(--radius-md);background:linear-gradient(180deg,color-mix(in srgb,var(--canvas-soft) 70%,white),var(--canvas-soft))}.oc-tree,.oc-tree ul{list-style:none;padding:0;margin:0}.oc-tree-node{position:relative}.oc-tree-row{appearance:none;display:grid;grid-template-columns:12px 14px minmax(0,1fr) 18px;align-items:center;gap:6px;width:100%;min-height:28px;margin:0;padding:3px 8px;border:0;border-radius:6px;background:transparent;color:var(--ink);text-align:left;cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast)}.oc-tree-at{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;margin-left:auto;border-radius:4px;color:var(--muted-soft);font-size:12px;font-weight:700;line-height:1;opacity:0;transition:opacity var(--transition-fast),background-color var(--transition-fast),color var(--transition-fast)}.oc-tree-row:hover .oc-tree-at,.oc-tree-at:focus-visible{opacity:1}.oc-tree-at:hover{background:color-mix(in srgb,var(--orange) 16%,var(--surface));color:var(--orange)}.oc-tree-at:focus-visible{outline:2px solid color-mix(in srgb,var(--orange) 45%,transparent);outline-offset:1px}.oc-tree-row:hover{background:color-mix(in srgb,var(--orange) 8%,var(--surface))}.oc-tree-row:focus-visible{outline:2px solid color-mix(in srgb,var(--orange) 45%,transparent);outline-offset:1px}.oc-tree-chevron{color:var(--muted-soft);transition:transform var(--transition-fast);transform:rotate(0)}.oc-tree-chevron.is-open{transform:rotate(90deg)}.oc-tree-chevron-spacer{width:12px;height:12px}.oc-tree-glyph{flex-shrink:0;color:var(--amber)}.oc-tree-glyph.is-folder-open{color:color-mix(in srgb,var(--orange) 70%,var(--amber))}.oc-tree-glyph.is-file{color:var(--muted)}.oc-tree-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;line-height:1.25;font-variant-numeric:tabular-nums}.oc-tree-dir .oc-tree-label{font-weight:650;color:var(--ink)}.oc-tree-file .oc-tree-label{font-family:JetBrains Mono,SFMono-Regular,Consolas,Segoe UI Mono,monospace;font-size:11.5px;font-weight:500;color:var(--body)}.oc-tree-node.is-dot .oc-tree-label{color:var(--muted-soft);font-weight:500}.oc-tree-node.is-dot .oc-tree-glyph{opacity:.7}.oc-tree-children{position:relative;margin:0}.oc-tree-children:before{content:"";position:absolute;top:0;bottom:2px;left:var(--oc-tree-guide, 14px);width:1px;background:color-mix(in srgb,var(--hairline-strong) 55%,transparent);pointer-events:none}.oc-tree-empty,.oc-sidebar-error{margin:8px 6px;color:var(--muted);font-size:12px;line-height:1.45}.oc-sidebar-error{color:var(--red)}.oc-governance{margin-top:auto;border-top:1px solid var(--hairline);padding-top:8px}.oc-governance-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.oc-governance-links button{min-height:28px;padding:4px 6px;border:1px solid var(--hairline);border-radius:var(--radius-sm);background:var(--surface);color:var(--muted);cursor:pointer;font:inherit;font-size:11px;font-weight:600;text-align:center}.oc-governance-links button:hover{color:var(--ink);border-color:color-mix(in srgb,var(--ink) 18%,var(--hairline))}.oc-governance-links button.is-active{color:var(--orange-active);border-color:color-mix(in srgb,var(--orange) 35%,var(--hairline))}.oc-resource-backdrop{--oc-chrome-offset: 0px;position:fixed;top:var(--oc-chrome-offset);right:0;bottom:0;left:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:var(--space-4);background:#26251e52}.oc-resource-panel{width:min(880px,calc(100vw - 32px));max-height:min(calc(100% - 16px),760px);display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--hairline);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-lg);color:var(--ink)}.oc-resource-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);flex-shrink:0;padding:12px 14px;border-bottom:1px solid var(--hairline);background:var(--surface-raised)}.oc-resource-panel-head-copy{display:grid;gap:2px;min-width:0}.oc-resource-panel-head-actions{display:flex;align-items:flex-start;gap:8px;flex:none}.oc-resource-panel-head strong{font-size:14px}.oc-resource-panel-meta{color:var(--muted);font-size:11px;line-height:1.5}.oc-resource-panel-body{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column;gap:12px;padding:14px}.oc-resource-panel-body:has(.oc-models-config){overflow:auto}.oc-resource-panel-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;flex-shrink:0;padding:10px 14px;border-top:1px solid var(--hairline);background:var(--surface-raised)}.oc-resource-panel-actions{display:flex;align-items:center;gap:6px}.oc-resource-error{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border:1px solid color-mix(in srgb,var(--red) 35%,var(--hairline));border-radius:var(--radius-sm);background:color-mix(in srgb,var(--red) 6%,var(--surface));color:var(--red);font-size:var(--text-sm)}.oc-resource-empty{margin:0;padding:14px 10px;border:1px dashed var(--hairline-strong);border-radius:var(--radius-md);color:var(--muted);font-size:var(--text-sm);text-align:center}.oc-resource-lists{display:flex;flex-direction:column;flex:1;min-height:0;gap:10px}.oc-resource-lists>.oc-resource-error,.oc-resource-lists>.oc-skill-partial-notice{flex:none}.oc-resource-group{display:grid;gap:6px}.oc-resource-group-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding-bottom:4px;border-bottom:1px solid var(--hairline);font-size:var(--text-sm);text-transform:capitalize}.oc-resource-group-head span{color:var(--muted);font-size:11px}.oc-resource-sub-list{display:grid;gap:6px;margin:0;padding:0;list-style:none}.oc-skill-partial-notice{margin:0 0 8px;padding:8px 10px;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--amber) 12%,var(--surface));color:var(--amber);font-size:12px}.oc-master-detail{display:grid;grid-template-columns:220px 1fr;flex:1;min-height:0;gap:0;border:1px solid var(--hairline);border-radius:var(--radius-md);overflow:hidden;background:var(--surface)}.oc-master-list{min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding:8px 6px;border-right:1px solid var(--hairline);background:var(--surface-muted, var(--surface))}.oc-master-group{margin-bottom:6px}.oc-master-group-label{padding:4px 8px 3px;color:var(--muted);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em}.oc-master-item{display:flex;align-items:center;gap:7px;width:100%;padding:7px 8px;border:none;border-radius:var(--radius-sm);background:none;color:var(--ink);cursor:pointer;font-size:12px;text-align:left}.oc-master-item:hover{background:color-mix(in srgb,var(--ink) 6%,transparent)}.oc-master-item.is-active{background:color-mix(in srgb,var(--accent, var(--ink)) 12%,transparent);font-weight:600}.oc-master-item.is-off .oc-master-name{color:var(--muted)}.oc-master-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-mono, monospace)}.oc-master-dot{flex:none;width:7px;height:7px;border-radius:50%;background:var(--accent, var(--ink));box-shadow:0 0 4px var(--accent, var(--ink))}.oc-master-item.is-off .oc-master-dot,.oc-master-dot.is-disabled,.oc-master-dot.is-error{background:var(--muted);box-shadow:none}.oc-master-dot.is-error{background:var(--red)}.oc-master-dot.is-installed,.oc-master-dot.is-loaded{background:var(--green);box-shadow:0 0 4px var(--green)}.oc-master-dot.is-configured{background:var(--amber);box-shadow:none}.oc-package-status.is-loaded{background:color-mix(in srgb,var(--green) 12%,var(--surface));color:var(--green)}.oc-package-status.is-configured{background:color-mix(in srgb,var(--amber) 12%,var(--surface));color:var(--amber)}.oc-detail{display:flex;flex-direction:column;gap:18px;min-width:0;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding:18px 20px}.oc-detail-empty{display:flex;align-items:center;justify-content:center;padding:40px 20px;color:var(--muted);font-size:13px}.oc-detail-head{display:flex;align-items:center;gap:8px;min-width:0}.oc-scope-badge{flex:none;padding:1px 6px;border-radius:4px;background:color-mix(in srgb,var(--ink) 10%,transparent);color:var(--muted);font-size:10px;text-transform:lowercase}.oc-detail-path{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:11px}.oc-detail-fields{display:grid;gap:14px}.oc-detail-field{display:grid;gap:4px}.oc-detail-label{color:var(--muted);font-size:11px;font-weight:500}.oc-detail-value{color:var(--ink);font-size:13px;line-height:1.55;overflow-wrap:anywhere}.oc-detail-value.oc-mono{font-family:var(--font-mono, monospace)}.oc-toggle{appearance:none;display:block;position:relative;flex:none;width:40px;height:22px;min-height:0;padding:0;border:none;border-radius:11px;background:color-mix(in srgb,var(--ink) 22%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ink) 12%,transparent);color:transparent;font-size:0;letter-spacing:normal;cursor:pointer;transition:background .18s}.oc-toggle:hover:not(:disabled){border-color:transparent;background:color-mix(in srgb,var(--ink) 28%,transparent)}.oc-toggle.is-on{background:var(--accent, var(--ink));box-shadow:none}.oc-toggle.is-on:hover:not(:disabled){background:var(--accent-active, var(--accent, var(--ink)))}.oc-toggle:focus-visible{outline:2px solid var(--accent, var(--ink));outline-offset:2px}.oc-toggle:disabled{cursor:wait;opacity:.55}.oc-toggle-knob{position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:var(--surface);box-shadow:0 1px 4px #00000038;transition:left .18s cubic-bezier(.4,0,.2,1)}.oc-toggle.is-on .oc-toggle-knob{left:21px}@media(max-width:640px){.oc-master-detail{grid-template-columns:1fr;grid-template-rows:minmax(160px,38%) minmax(0,1fr)}.oc-master-list{max-height:none;border-right:none;border-bottom:1px solid var(--hairline)}}.oc-resource-sub-list li{display:grid;gap:2px;padding:6px 8px;border-radius:var(--radius-sm);background:var(--surface-muted)}.oc-resource-diagnostic{color:var(--amber);font-size:11px}.oc-package-status{display:inline-block;padding:1px 8px;border-radius:999px;font-size:11px;line-height:1.7;text-transform:uppercase;background:var(--surface-muted);color:var(--muted);white-space:nowrap}.oc-package-status.is-installed{background:color-mix(in srgb,var(--green) 12%,var(--surface));color:var(--green)}.oc-package-status.is-error{background:color-mix(in srgb,var(--red) 12%,var(--surface));color:var(--red)}.oc-package-status.is-disabled{opacity:.7}.oc-package-meta{display:flex;align-items:baseline;gap:8px;margin:0;font-size:11px;min-width:0}.oc-package-meta span{color:var(--muted);min-width:96px;flex:none}.oc-package-meta code{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:0}.oc-package-resources{display:grid;gap:8px}.oc-package-group{display:grid;gap:4px}.oc-package-diagnostics{display:grid;gap:4px;padding:6px 8px;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--amber) 6%,var(--surface));color:var(--amber);font-size:11px;overflow-wrap:anywhere}.oc-resource-diagnostics{display:grid;gap:6px;margin-bottom:12px;padding:8px 10px;border:1px solid color-mix(in srgb,var(--amber) 35%,var(--hairline));border-radius:var(--radius-sm);background:color-mix(in srgb,var(--amber) 5%,var(--surface))}.oc-resource-diagnostic.is-error{color:var(--red)}.oc-diag-chip-wrap{position:relative;flex:none}.oc-diag-chip{display:inline-flex;align-items:center;gap:5px;max-width:220px;min-height:28px;padding:0 9px;border:1px solid color-mix(in srgb,var(--amber) 40%,var(--hairline));border-radius:999px;background:color-mix(in srgb,var(--amber) 10%,var(--surface));color:var(--ink);cursor:pointer;font:inherit;font-size:12px;line-height:1;white-space:nowrap}.oc-diag-chip svg{flex:none;color:var(--amber)}.oc-diag-chip.is-error{border-color:color-mix(in srgb,var(--red) 40%,var(--hairline));background:color-mix(in srgb,var(--red) 8%,var(--surface))}.oc-diag-chip.is-error svg{color:var(--red)}.oc-diag-chip.is-open,.oc-diag-chip:hover{background:color-mix(in srgb,var(--amber) 16%,var(--surface))}.oc-diag-chip.is-error.is-open,.oc-diag-chip.is-error:hover{background:color-mix(in srgb,var(--red) 12%,var(--surface))}.oc-diag-popover{position:absolute;top:calc(100% + 8px);right:0;z-index:5;width:min(360px,calc(100vw - 48px));max-height:min(52vh,420px);overflow:auto;padding:10px 12px 12px;border:1px solid var(--hairline);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-lg)}.oc-diag-group+.oc-diag-group{margin-top:12px;padding-top:10px;border-top:1px solid var(--hairline)}.oc-diag-group-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;font-size:12px}.oc-diag-group-head span{color:var(--muted);font-size:11px}.oc-diag-group-hint{margin:4px 0 8px;color:var(--muted);font-size:12px;line-height:1.5}.oc-diag-list{display:grid;gap:8px;margin:0;padding:0;list-style:none}.oc-diag-item{display:grid;gap:2px}.oc-diag-item-title{color:var(--ink);font-size:12px;overflow-wrap:anywhere}.oc-diag-item-detail{color:var(--muted);font-size:11px;line-height:1.45}.oc-diag-item-path{color:var(--muted);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.oc-diag-popover-actions{display:flex;justify-content:flex-end;margin-top:10px;padding-top:8px;border-top:1px solid var(--hairline)}.oc-master-flag{flex:none;padding:0 5px;border-radius:999px;background:color-mix(in srgb,var(--amber) 14%,var(--surface));color:var(--amber);font-size:10px;line-height:1.6}.oc-skill-notices{display:grid;gap:6px}.oc-skill-notice{margin:0;padding:8px 10px;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--amber) 8%,var(--surface));color:var(--ink);font-size:12px;line-height:1.5}.oc-resource-panel button:disabled{cursor:wait;opacity:.55}.oc-model-provider{border-bottom:1px solid var(--hairline);padding-bottom:8px}.oc-model-provider-head,.oc-model-row,.oc-model-row-actions{display:flex;align-items:center;justify-content:space-between;gap:8px}.oc-model-provider-head{padding:6px 0}.oc-model-provider-head span{color:var(--muted);font-size:11px}.oc-model-row{padding:4px 0 4px 10px;font-size:var(--text-sm)}.oc-model-row-actions button,.oc-model-provider-remove{border:1px solid var(--hairline);border-radius:var(--radius-sm);background:var(--surface);color:var(--muted);cursor:pointer;font:inherit;font-size:11px;padding:3px 8px}.oc-model-row-actions button:hover,.oc-model-provider-remove:hover{color:var(--ink);border-color:var(--hairline-strong)}.oc-model-provider-remove{margin:6px 0 6px 10px}.oc-model-form{display:grid;gap:6px;margin-top:10px}.oc-model-form input{min-width:0;border:1px solid var(--hairline);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);padding:6px 8px;font:inherit;font-size:12px}.oc-model-form button{justify-self:start}.oc-model-test-result{padding:6px 8px;border-radius:var(--radius-sm);background:var(--surface-muted);font-size:12px}@media(max-width:800px){.oc-resource-backdrop{padding:var(--space-2)}.oc-resource-panel{width:100%;max-height:calc(100vh - 32px)}.oc-resource-panel-body{padding:10px}}@media(max-width:640px){.oc-resource-panel-foot{flex-direction:column;align-items:stretch}.oc-resource-panel-actions{justify-content:flex-end}.oc-model-row{flex-direction:column;align-items:flex-start}.oc-model-row-actions{justify-content:flex-start}}@keyframes oc-drawer-slide-in{0%{transform:translate3d(28px,0,0);opacity:0}to{transform:translateZ(0);opacity:1}}.oc-file-preview-backdrop{position:absolute;z-index:4;inset:0}.oc-file-preview{position:absolute;z-index:4;top:0;right:0;bottom:0;width:min(560px,60%);display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--hairline);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-panel);animation:oc-drawer-slide-in .28s cubic-bezier(.32,.72,0,1);will-change:transform}@media(max-width:900px){.oc-file-preview{width:100%;border-radius:0}}.oc-file-preview header{display:flex;align-items:center;gap:var(--space-2);padding:10px 12px;border-bottom:1px solid var(--hairline)}.oc-file-tabs{display:flex;min-width:0;gap:2px;overflow-x:auto}.oc-file-tabs button{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--muted);padding:4px 7px;cursor:pointer}.oc-file-tabs button.is-active{background:var(--surface-muted);color:var(--ink);font-weight:650}.oc-file-view-modes{display:inline-flex;gap:2px;padding:2px;border:1px solid var(--hairline);border-radius:var(--radius-sm);background:var(--surface-muted)}.oc-file-view-mode{appearance:none;display:inline-flex;align-items:center;min-height:0;padding:2px 10px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--muted);font-size:11px;cursor:pointer}.oc-file-view-mode:hover{color:var(--ink)}.oc-file-view-mode.is-active{background:var(--surface);color:var(--ink);font-weight:600;box-shadow:var(--shadow-sm, 0 1px 2px rgb(0 0 0 / 8%))}.oc-file-preview-rendered{overflow:auto;padding:14px 18px;font-size:13px;line-height:1.6}.oc-file-preview header span{flex:1;color:var(--muted);font-size:11px}.oc-file-preview pre{flex:1;min-height:0;margin:0;padding:var(--space-3);overflow:auto;font-size:12px;line-height:1.5;white-space:pre-wrap}.oc-file-preview-loading{position:absolute;z-index:5;right:12px;top:12px;padding:6px 8px;border-radius:var(--radius-sm);background:var(--surface-muted);color:var(--muted);font-size:12px}.oc-process{display:flex;flex-direction:column;flex:0 0 min(360px,42%);width:min(360px,42%);min-width:280px;min-height:0;border:1px solid var(--hairline);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-panel);margin-left:var(--space-3);overflow:hidden;animation:panel-in .18s ease}.oc-turn-group{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.oc-process-inline{align-self:stretch;width:100%;max-width:100%;margin:0 0 4px}.oc-process-inline.is-live .oc-process-inline-body{margin-top:0}.oc-process-inline-summary{display:inline-flex;align-items:center;gap:6px;min-height:24px;padding:2px 0;border:none;background:transparent;color:var(--muted);cursor:pointer;font-size:12px;text-align:left}.oc-process-inline-summary:hover,.oc-process-inline-summary.is-open{color:var(--ink)}.oc-process-inline-summary.is-running{color:var(--accent, #2563eb)}.oc-process-inline-summary.is-error{color:var(--danger, #dc2626)}.oc-process-inline-summary .oc-tool-chevron{width:12px;height:12px;flex-shrink:0;transition:transform .15s ease}.oc-process-inline-summary.is-open .oc-tool-chevron{transform:rotate(90deg)}.oc-process-inline-body{display:flex;flex-direction:column;gap:8px;margin-top:8px}.oc-thinking{border:1px solid var(--hairline);border-radius:6px;overflow:hidden}.oc-thinking-summary{display:flex;align-items:center;gap:6px;width:100%;padding:6px 10px;border:none;background:transparent;color:var(--muted);cursor:pointer;font-size:12px;text-align:left}.oc-thinking-summary:hover,.oc-thinking-summary.is-open{color:var(--ink)}.oc-thinking-summary .oc-tool-chevron{width:12px;height:12px;flex-shrink:0;transition:transform .15s ease}.oc-thinking-summary.is-open .oc-tool-chevron{transform:rotate(90deg)}.oc-thinking-body{margin:0;padding:8px 10px 10px;border-top:1px solid var(--hairline);white-space:pre-wrap;word-break:break-word;font-size:12px;line-height:1.55;color:var(--muted);max-height:280px;overflow:auto}.oc-process-text{margin-left:18px;font-size:13px;line-height:1.55;color:var(--muted);white-space:pre-wrap}.oc-tool-duration{flex-shrink:0;font-size:11px;font-variant-numeric:tabular-nums;color:var(--muted)}.oc-tool-expand-result{margin-top:4px;font-size:12px}.oc-process-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:10px 12px;border-bottom:1px solid var(--hairline);flex-shrink:0}.oc-process-title{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:13px;color:var(--ink)}.oc-process-title-mark{width:8px;height:8px;border-radius:50%;background:var(--orange)}.oc-process-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:18px;padding:0 6px;border-radius:var(--radius-pill);background:var(--surface-muted);color:var(--muted);font-size:11px;font-weight:650}.oc-process-close{font-size:12px}.oc-process-timeline{flex:1 1 auto;min-height:0;overflow-y:auto;padding:var(--space-3);display:flex;flex-direction:column;gap:0}.oc-process-empty{padding:var(--space-4);color:var(--muted);font-size:12.5px;line-height:1.5;text-align:center}.oc-process-item{display:grid;grid-template-columns:20px 52px minmax(0,1fr);gap:8px;align-items:start;padding:4px 0}.oc-process-rail{position:relative;display:grid;place-items:center;min-height:34px}.oc-process-rail:before{position:absolute;top:0;bottom:0;width:1px;background:var(--hairline);content:""}.oc-process-item.is-first .oc-process-rail:before{top:50%}.oc-process-item.is-last .oc-process-rail:before{bottom:50%}.oc-process-dot{position:relative;z-index:1;width:8px;height:8px;border-radius:50%;background:var(--surface);border:2px solid color-mix(in srgb,var(--orange) 55%,var(--hairline))}.oc-process-item.is-running .oc-process-dot{border-color:var(--orange-active);background:var(--orange-soft)}.oc-process-item.is-error .oc-process-dot{border-color:var(--red);background:color-mix(in srgb,var(--red) 18%,var(--surface))}.oc-process-time{padding-top:10px;font-size:11px;color:var(--muted-soft);font-variant-numeric:tabular-nums;white-space:nowrap}.oc-process-body{min-width:0}.oc-process-toggle{cursor:pointer;font:inherit}.oc-process-toggle.is-active{border-color:color-mix(in srgb,var(--orange) 40%,var(--hairline));background:color-mix(in srgb,var(--orange) 10%,var(--surface));color:var(--orange-active)}.oc-process-toggle.is-running{border-color:color-mix(in srgb,var(--orange) 40%,var(--hairline));color:var(--orange-active)}.oc-process-toggle.is-error{border-color:color-mix(in srgb,var(--red) 35%,var(--hairline));background:color-mix(in srgb,var(--red) 8%,var(--surface));color:var(--red)}.oc-process-summary{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border:1px solid transparent;border-radius:var(--radius-md);background:transparent;color:var(--muted);font-size:var(--text-sm);font-weight:600;cursor:pointer;max-width:min(420px,100%);white-space:nowrap}.oc-process-summary:hover,.oc-process-summary.is-open,.oc-process-summary:focus-visible{border-color:color-mix(in srgb,var(--orange) 35%,var(--hairline));color:var(--orange-active);background:color-mix(in srgb,var(--orange) 8%,var(--surface))}.oc-process-summary.is-running .oc-process-summary-status{color:var(--orange-active)}.oc-process-summary.is-error .oc-process-summary-status{color:var(--red)}.oc-process-summary.is-ok{color:var(--muted)}.oc-process-summary-label{flex:0 0 auto}.oc-process-summary-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.4em;padding:0 5px;border-radius:999px;background:color-mix(in srgb,var(--ink) 8%,transparent);color:var(--body);font-variant-numeric:tabular-nums;font-size:11px;font-weight:700}.oc-process-summary-status{overflow:hidden;text-overflow:ellipsis;max-width:14ch}@media(max-width:900px){.oc-workspace:not([data-layout-mode]) .oc-sidebar{position:absolute;inset:0 auto 0 0;z-index:7;width:min(300px,calc(100% - 24px));margin-right:0;box-shadow:var(--shadow-soft)}.oc-workspace:not([data-layout-mode]) .oc-sidebar.is-collapsed{position:static;width:auto}.oc-workspace:not([data-layout-mode]).has-process .oc-process{position:absolute;top:0;right:0;bottom:0;z-index:8;width:min(360px,calc(100% - 24px));min-width:0;flex:none;margin-left:0;border-radius:var(--radius-md) 0 0 var(--radius-md);box-shadow:var(--shadow-soft)}}.oc-banner{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-3);padding:10px 14px;border:1px solid var(--hairline);border-radius:var(--radius-md);background:color-mix(in srgb,var(--surface) 94%,transparent);box-shadow:var(--shadow-panel)}.oc-shell>.oc-alert:first-child{margin-top:0}.oc-banner-title{display:inline-flex;align-items:center;gap:6px;font-weight:700;color:var(--ink)}.oc-banner-dot{width:8px;height:8px;border-radius:50%;background:var(--orange)}.oc-banner-body{color:var(--body);font-size:12.5px;line-height:1.45}.oc-banner-body strong{color:var(--ink)}.oc-cap-chips{display:inline-flex;flex-wrap:wrap;gap:6px;margin-left:auto;align-items:center}.oc-cap-chip{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border:1px solid color-mix(in srgb,var(--green) 30%,var(--hairline));border-radius:var(--radius-pill);background:color-mix(in srgb,var(--mint) 50%,var(--surface));color:var(--green);font-size:11.5px;font-weight:650}button.oc-cap-chip{font:inherit;cursor:pointer}.oc-tools-menu{position:relative}.oc-tools-menu--composer .oc-tools-catalog{top:auto;bottom:calc(100% + 8px)}.oc-tools-toggle.is-active{border-color:color-mix(in srgb,var(--orange) 40%,var(--hairline));background:color-mix(in srgb,var(--orange) 10%,var(--surface));color:var(--orange-active)}.oc-tools-catalog{position:absolute;top:calc(100% + 8px);right:0;z-index:20;width:min(420px,calc(100vw - 48px));max-height:min(480px,60vh);display:flex;flex-direction:column;border:1px solid var(--hairline);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-soft);animation:panel-in .16s ease;overflow:hidden}.oc-tools-catalog-head{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--hairline);flex-shrink:0}.oc-tools-catalog-head strong{font-size:13px;color:var(--ink)}.oc-tools-catalog-meta{font-size:11.5px;color:var(--muted-soft)}.oc-tools-catalog-close{margin-left:auto;font-size:12px}.oc-tools-catalog-body{overflow-y:auto;padding:var(--space-3);display:flex;flex-direction:column;gap:var(--space-3)}.oc-tools-group-title{margin:0 0 8px;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted-soft)}.oc-tools-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.oc-tools-item{padding:8px 10px;border:1px solid var(--hairline);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--surface-muted) 55%,var(--surface))}.oc-tools-item-head{display:flex;align-items:center;gap:8px;margin-bottom:4px}.oc-tools-name{font-family:JetBrains Mono,SFMono-Regular,Consolas,monospace;font-size:12.5px;font-weight:650;color:var(--ink)}.oc-tools-kind{margin-left:auto;font-size:10.5px;font-weight:650;padding:1px 7px;border-radius:var(--radius-pill);color:var(--muted);background:var(--surface);border:1px solid var(--hairline)}.oc-tools-kind.is-explore,.oc-tools-kind.is-read{color:var(--green);border-color:color-mix(in srgb,var(--green) 28%,var(--hairline));background:color-mix(in srgb,var(--mint) 45%,transparent)}.oc-tools-kind.is-mutation{color:var(--orange-active);border-color:color-mix(in srgb,var(--orange) 35%,var(--hairline));background:var(--orange-soft)}.oc-tools-kind.is-long-running{color:var(--amber);border-color:color-mix(in srgb,var(--amber) 35%,var(--hairline));background:color-mix(in srgb,var(--amber) 10%,var(--surface))}.oc-tools-desc{margin:0;font-size:12px;line-height:1.45;color:var(--body)}.oc-tools-cli{margin:4px 0 0;font-size:11px;color:var(--muted-soft)}.oc-tools-cli code{font-size:11px;color:var(--muted)}.oc-alert{padding:10px 14px;border-radius:var(--radius-md);font-size:var(--text-md);line-height:1.5;animation:panel-in .18s var(--ease-out)}.oc-alert-warning{border:1px solid color-mix(in srgb,var(--amber) 35%,var(--hairline));border-left:3px solid var(--amber);background:color-mix(in srgb,var(--amber) 8%,var(--surface));color:var(--amber)}.oc-alert-error{border:1px solid color-mix(in srgb,var(--red) 35%,var(--hairline));border-left:3px solid var(--red);background:color-mix(in srgb,var(--red) 7%,var(--surface));color:var(--red)}.oc-toast{position:fixed;top:14px;left:50%;transform:translate(-50%);display:inline-flex;align-items:center;gap:8px;max-width:min(560px,calc(100vw - 32px));padding:8px 12px;border-radius:var(--radius-md);border:1px solid var(--hairline-strong);background:var(--surface);box-shadow:var(--shadow-panel);font-size:var(--text-sm);line-height:1.45;color:var(--ink);z-index:90;animation:oc-toast-in .18s var(--ease-out)}.oc-toast.is-leaving{opacity:0;transform:translate(-50%) translateY(-8px);transition:opacity .14s ease,transform .14s ease}.oc-toast.is-error .oc-toast-icon{color:var(--red)}.oc-toast.is-info .oc-toast-icon{color:var(--amber)}.oc-toast.is-error{border-left:3px solid var(--red)}.oc-toast.is-info{border-left:3px solid var(--amber)}.oc-toast-icon{display:inline-flex;flex-shrink:0}.oc-toast-message{overflow-wrap:anywhere}.oc-toast-close{appearance:none;display:inline-flex;align-items:center;justify-content:center;min-height:0;width:22px;height:22px;padding:0;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--muted);cursor:pointer;flex-shrink:0}.oc-toast-close:hover{background:color-mix(in srgb,var(--ink) 6%,transparent);color:var(--ink)}@keyframes oc-toast-in{0%{opacity:0;transform:translate(-50%) translateY(-8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@media(prefers-reduced-motion:reduce){.oc-toast,.oc-toast.is-leaving{animation:none;transition:none}}.oc-compaction-card{display:flex;align-items:flex-start;gap:10px;width:min(680px,calc(100% - 24px));margin:10px auto;padding:10px 12px;border:1px solid color-mix(in srgb,var(--orange) 24%,var(--hairline));border-radius:var(--radius-md);background:color-mix(in srgb,var(--orange) 5%,var(--surface));color:var(--body);animation:panel-in .18s var(--ease-out)}.oc-compaction-icon{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:color-mix(in srgb,var(--orange) 11%,var(--surface));color:var(--orange-active, var(--orange));flex-shrink:0}.oc-compaction-body{min-width:0;flex:1}.oc-compaction-heading{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px;margin-bottom:3px;font-size:var(--text-xs);color:var(--muted)}.oc-compaction-heading strong{color:var(--ink);font-size:var(--text-sm);font-weight:650}.oc-compaction-summary{font-size:var(--text-sm);line-height:1.55;color:var(--body)}.oc-compaction-summary>:first-child{margin-top:0}.oc-compaction-summary>:last-child{margin-bottom:0}.oc-messages{flex:1 1 auto;min-height:0;overflow-y:auto;padding:var(--space-3) var(--space-3) var(--space-2);display:flex;flex-direction:column;gap:var(--space-3)}.oc-messages.has-thread:before{content:"";flex:1 1 auto;min-height:0}.oc-messages.is-empty{justify-content:center;align-items:center;padding:var(--space-5) var(--space-4) var(--space-4);background:radial-gradient(640px 300px at 50% 28%,rgb(241 216 203 / 34%),transparent 68%),radial-gradient(520px 240px at 78% 78%,rgb(216 234 213 / 26%),transparent 62%)}.oc-main.is-landing{position:relative}.oc-day-sep{display:flex;align-items:center;gap:var(--space-3);color:var(--muted-soft);font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;margin:var(--space-2) 0}.oc-day-sep:before,.oc-day-sep:after{content:"";flex:1;height:1px;background:var(--hairline)}.oc-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:0 1 auto;gap:var(--space-5);text-align:center;width:min(100%,680px);padding:var(--space-2) var(--space-2) var(--space-4);animation:oc-empty-in .28s ease both}@keyframes oc-empty-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.oc-empty{animation:none}}.oc-empty-hero{display:flex;flex-direction:column;align-items:center;gap:var(--space-3)}.oc-empty-icon{display:block;width:88px;height:auto;max-width:min(120px,40vw);aspect-ratio:96 / 64;object-fit:contain;border-radius:0;background:transparent;box-shadow:none}.oc-empty-brand{margin:0 auto}.oc-empty-copy{display:flex;flex-direction:column;align-items:center;gap:var(--space-2)}.oc-empty h3{margin:0;font-size:20px;font-weight:700;letter-spacing:-.02em;color:var(--ink)}.oc-empty p{margin:0;max-width:48ch;color:var(--muted);font-size:13px;line-height:1.55}.oc-suggestions{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2);width:100%}@media(max-width:560px){.oc-suggestions{grid-template-columns:1fr}}.oc-suggestion{appearance:none;display:flex;flex-direction:column;gap:5px;text-align:left;min-height:0;padding:14px 16px;border:1px solid var(--hairline);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--surface) 88%,transparent);color:var(--ink);cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:border-color var(--transition-fast),background var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast)}.oc-suggestion:hover:not(:disabled){border-color:color-mix(in srgb,var(--orange) 45%,var(--hairline));background:var(--surface);box-shadow:0 0 0 3px var(--orange-soft),var(--shadow-panel);transform:translateY(-1px)}.oc-suggestion:disabled{opacity:.55;cursor:not-allowed}.oc-suggestion strong{font-size:var(--text-md);font-weight:700}.oc-suggestion span{color:var(--muted);font-size:var(--text-sm);line-height:1.45}.oc-empty-tips{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-2) var(--space-3);margin:0;padding:0;list-style:none;color:var(--muted-soft);font-size:12px}.oc-empty-tips li{display:inline-flex;align-items:center;gap:6px}.oc-empty-tips kbd{display:inline-grid;place-items:center;min-width:1.4em;padding:1px 6px;border:1px solid var(--hairline);border-radius:5px;background:var(--surface);color:var(--body);font-family:var(--font-mono, "JetBrains Mono", monospace);font-size:11px;font-weight:600;line-height:1.4}.oc-empty-cta{margin-top:calc(var(--space-1) * -1)}.oc-empty.is-landing-compact{gap:var(--space-3);padding:var(--space-1) var(--space-2) var(--space-2)}.oc-empty.is-landing-compact .oc-empty-icon{width:64px;height:auto}.oc-empty.is-landing-compact h3{font-size:17px}.oc-empty.is-landing-compact p{font-size:12px;line-height:1.45}.oc-empty.is-landing-compact .oc-suggestion{padding:10px 12px;gap:3px}.oc-empty.is-landing-extra-compact{gap:var(--space-2);padding:0 var(--space-1) var(--space-2)}.oc-empty.is-landing-extra-compact .oc-empty-icon{width:52px;height:auto}.oc-empty.is-landing-extra-compact h3{font-size:15px}.oc-empty.is-landing-extra-compact p{font-size:11.5px;line-height:1.4;max-width:42ch}.oc-empty.is-landing-extra-compact .oc-suggestion{padding:8px 10px;gap:2px}.oc-empty.is-landing-extra-compact .oc-empty-tips{gap:var(--space-1) var(--space-2);font-size:11px}.oc-messages.is-empty[data-landing-density=extra-compact]{justify-content:center;padding:var(--space-2);overflow-y:auto}.oc-row{display:flex;flex-direction:column;gap:4px;max-width:100%}.oc-row.is-user{align-self:flex-end;align-items:flex-end;width:auto;max-width:min(100%,720px)}.oc-row.is-assistant,.oc-row.is-tool{align-self:stretch;align-items:stretch;width:100%;max-width:100%}.oc-meta{display:flex;align-items:center;gap:8px;font-size:11.5px;color:var(--muted-soft)}.oc-row.is-assistant .oc-meta,.oc-row.is-user .oc-meta{width:100%;max-width:100%}.oc-message-copy{appearance:none;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:26px;height:26px;margin-left:auto;padding:0;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--muted-soft);cursor:pointer;opacity:0;transition:opacity var(--transition-fast),background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}.oc-row:hover .oc-message-copy,.oc-row:focus-within .oc-message-copy,.oc-message-copy:focus-visible{opacity:1}.oc-message-copy:hover{color:var(--body);background:color-mix(in srgb,var(--ink) 6%,transparent);border-color:var(--hairline)}.oc-message-copy.is-copied{opacity:1;color:var(--green, #1a7f37);border-color:color-mix(in srgb,var(--green, #1a7f37) 35%,transparent)}@media(hover:none){.oc-message-copy{opacity:.5}}.oc-role{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;font-size:11px;font-weight:700;flex-shrink:0}.oc-role-assistant{color:var(--body);background:var(--surface-muted)}.oc-time{font-variant-numeric:tabular-nums}.oc-bubble{padding:10px 14px;border-radius:var(--radius-lg);font-size:14px;line-height:1.6;overflow-wrap:anywhere;word-break:break-word;animation:bubble-in .16s ease}@keyframes bubble-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.oc-bubble-user{background:var(--orange-soft);color:var(--ink);border-bottom-right-radius:4px}.oc-bubble-assistant{background:var(--surface);color:var(--ink);border:1px solid var(--hairline);border-bottom-left-radius:4px}.oc-bubble-tool{background:var(--canvas-soft);color:var(--body);border:1px solid var(--hairline)}.oc-bubble-error{border-color:color-mix(in srgb,var(--red) 40%,var(--hairline));background:color-mix(in srgb,var(--red) 7%,var(--surface));color:var(--red)}.oc-md{display:flex;flex-direction:column;gap:var(--space-2)}.oc-md>*:first-child{margin-top:0}.oc-md>*:last-child{margin-bottom:0}.oc-md p{margin:0}.oc-md h1,.oc-md h2,.oc-md h3,.oc-md h4{margin:var(--space-3) 0 var(--space-2);color:inherit;font-weight:700;line-height:1.3}.oc-md h1{font-size:1.3em}.oc-md h2{font-size:1.18em}.oc-md h3{font-size:1.06em}.oc-md h4{font-size:1em}.oc-md ul,.oc-md ol{margin:0;padding-left:1.4em;display:flex;flex-direction:column;gap:2px}.oc-md li{margin:0}.oc-md blockquote{margin:0;padding:2px 0 2px 12px;border-left:3px solid var(--hairline-strong);color:var(--body)}.oc-bubble-user .oc-md blockquote{border-left-color:color-mix(in srgb,var(--orange) 35%,var(--hairline-strong));color:var(--body)}.oc-md code{font-size:.86em;padding:1px 5px;border-radius:4px;background:color-mix(in srgb,var(--ink) 8%,transparent)}.oc-bubble-user .oc-md code{background:color-mix(in srgb,var(--orange) 14%,transparent)}.oc-md pre{margin:0;padding:0;background:transparent}.oc-codeblock{margin:0;border:1px solid var(--hairline);border-radius:var(--radius-md);background:var(--surface-muted);overflow:hidden}.oc-bubble-assistant .oc-codeblock{background:#f3efe8}.oc-codeblock-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:5px 6px 5px 10px;border-bottom:1px solid var(--hairline);font-size:11px;color:var(--muted);background:color-mix(in srgb,var(--ink) 4%,transparent)}.oc-codeblock-lang{font-family:JetBrains Mono,SFMono-Regular,Consolas,monospace;font-weight:600;text-transform:lowercase}.oc-codeblock-copy{appearance:none;display:inline-flex;align-items:center;gap:5px;min-height:26px;padding:0 9px;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--muted);font-size:11px;font-weight:600;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}.oc-codeblock-copy:hover{background:var(--surface);color:var(--ink);border-color:var(--hairline-strong)}.oc-codeblock pre{margin:0;padding:var(--space-3) var(--space-4);overflow-x:auto;font-family:JetBrains Mono,SFMono-Regular,Consolas,monospace;font-size:12.5px;line-height:1.55;white-space:pre;color:var(--ink)}.oc-md a{color:var(--orange);text-decoration:none;border-bottom:1px solid color-mix(in srgb,var(--orange) 40%,transparent)}.oc-md a:hover{border-bottom-color:var(--orange)}.oc-md hr{margin:var(--space-2) 0;border:none;border-top:1px solid var(--hairline-strong)}.oc-stream{white-space:pre-wrap;font-family:JetBrains Mono,SFMono-Regular,Consolas,monospace;font-size:13px;line-height:1.55}.oc-cursor{display:inline-block;width:7px;height:1.05em;margin-left:2px;vertical-align:text-bottom;background:var(--orange);animation:oc-blink 1s steps(2,start) infinite;border-radius:1px}@keyframes oc-blink{to{opacity:0}}.oc-tool{border:1px solid var(--hairline);border-radius:var(--radius-md);background:var(--canvas-soft);overflow:hidden;animation:panel-in .16s ease;transition:border-color var(--transition-fast),background-color var(--transition-fast)}.oc-tool:hover{border-color:var(--hairline-strong);background:var(--surface)}.oc-tool.is-error{border-color:color-mix(in srgb,var(--red) 38%,var(--hairline))}.oc-tool.is-running{border-color:color-mix(in srgb,var(--orange) 40%,var(--hairline))}.oc-tool-head{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:7px 12px;border:none;background:transparent;text-align:left;cursor:pointer;font:inherit;color:var(--ink)}.oc-tool-head:hover{background:var(--surface-muted)}.oc-tool-chevron{flex-shrink:0;width:12px;height:12px;transition:transform var(--transition-fast)}.oc-tool-head[aria-expanded=true] .oc-tool-chevron{transform:rotate(90deg)}.oc-tool-icon{display:grid;place-items:center;width:22px;height:22px;border-radius:6px;background:var(--surface-muted);color:var(--orange-active);flex-shrink:0}.oc-tool-name{font-family:JetBrains Mono,SFMono-Regular,Consolas,monospace;font-size:12.5px;font-weight:650;flex-shrink:0}.oc-tool-args{color:var(--muted);font-size:11.5px;font-family:JetBrains Mono,SFMono-Regular,Consolas,monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-right:8px;min-width:0}.oc-tool-status{margin-left:auto;flex-shrink:0;font-size:11px;font-weight:650;padding:2px 8px;border-radius:var(--radius-pill)}.oc-tool-waiting{color:var(--muted);font-size:12px;animation:pulse 1.5s infinite}.oc-tool-status.is-running{color:var(--orange-active);background:var(--orange-soft)}.oc-tool-status.is-ok{color:var(--green);background:color-mix(in srgb,var(--mint) 60%,transparent)}.oc-tool-status.is-error{color:var(--red);background:color-mix(in srgb,var(--red) 10%,transparent)}.oc-tool-body{padding:0 var(--space-4) var(--space-3);border-top:1px solid var(--hairline)}.oc-tool-section{display:flex;flex-direction:column;gap:4px;padding-top:var(--space-3)}.oc-tool-label{font-size:11px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--muted-soft)}.oc-tool-code{margin:0;padding:var(--space-3);border-radius:var(--radius-sm);background:var(--surface-muted);font-family:JetBrains Mono,SFMono-Regular,Consolas,monospace;font-size:12px;line-height:1.5;white-space:pre-wrap;word-break:break-word;max-height:260px;overflow-y:auto;color:var(--body)}.oc-composer{flex:0 0 auto;flex-shrink:0;border-top:1px solid var(--hairline);padding:var(--space-2) var(--space-3) var(--space-3);background:color-mix(in srgb,var(--canvas) 92%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:2}.oc-composer-inner{display:flex;flex-direction:column;gap:var(--space-2);max-width:1080px;margin:0 auto;position:relative}.console-shell.is-chat-focus .oc-composer-inner{max-width:none}.oc-deferred-turn{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:9px 12px;border:1px solid color-mix(in srgb,var(--orange) 34%,var(--hairline));border-radius:var(--radius-md);background:color-mix(in srgb,var(--orange-soft) 66%,var(--surface));color:var(--ink)}.oc-deferred-turn>div{min-width:0;display:grid;gap:2px}.oc-deferred-turn strong{font-size:12px}.oc-deferred-turn span{overflow:hidden;color:var(--muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.oc-deferred-turn.is-failed{border-color:color-mix(in srgb,var(--danger) 40%,var(--hairline))}.oc-deferred-turn button{flex:0 0 auto;border:0;background:transparent;color:var(--orange);cursor:pointer;font:inherit;font-size:12px}.oc-composer-shell{position:relative;display:flex;align-items:flex-end;gap:var(--space-2);padding:8px 8px 8px 14px;border:1px solid var(--hairline-strong);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-panel);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.oc-composer-shell:focus-within{border-color:var(--orange);box-shadow:0 0 0 3px var(--orange-soft)}.oc-composer-shell.is-busy{opacity:.78}.oc-textarea{flex:1 1 auto;min-width:0;min-height:52px;max-height:280px;padding:8px 0;border:none;background:transparent;color:var(--ink);font:inherit;font-size:14px;line-height:1.5;resize:none;outline:none}.oc-textarea::placeholder{color:var(--muted-soft)}.oc-send{appearance:none;display:grid;place-items:center;width:38px;height:38px;flex-shrink:0;padding:0;border:1px solid var(--orange);border-radius:50%;background:linear-gradient(180deg,var(--orange),var(--orange-active));color:#fff;cursor:pointer;box-shadow:inset 0 1px #fff3,0 4px 12px #f54e003d;transition:background var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.oc-send:hover:not(:disabled){background:var(--orange-active);border-color:var(--orange-active);box-shadow:0 6px 16px #f54e004d;transform:translateY(-1px)}.oc-send:active:not(:disabled){transform:scale(.94)}.oc-send:disabled{opacity:.4;cursor:not-allowed}.oc-stop{appearance:none;position:relative;display:grid;place-items:center;width:38px;height:38px;flex-shrink:0;padding:0;border:1px solid var(--hairline-strong);border-radius:50%;background:var(--surface);color:var(--red);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast)}.oc-stop .oc-spinner{position:absolute;inset:4px;width:auto;height:auto;border-width:1.5px;color:inherit;opacity:.75}.oc-stop .oc-spinner+svg{position:relative;z-index:1}.oc-stop:hover{background:color-mix(in srgb,var(--red) 8%,var(--surface));border-color:var(--red)}.oc-composer-foot{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;font-size:11.5px;color:var(--muted)}.oc-composer-hint{display:inline-flex;align-items:center;gap:5px}.oc-kbd{display:inline-block;padding:1px 6px;border:1px solid var(--hairline-strong);border-bottom-width:2px;border-radius:4px;background:var(--surface);color:var(--body);font-family:JetBrains Mono,SFMono-Regular,Consolas,monospace;font-size:10.5px;line-height:1.4}.oc-operation-card{width:min(720px,calc(100% - 42px));margin:var(--space-3) auto;padding:var(--space-4) var(--space-5);border:1px solid var(--hairline-strong);border-left:4px solid var(--blue);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--surface) 96%,var(--blue) 4%);box-shadow:var(--shadow-panel)}.oc-operation-card.is-succeeded{border-left-color:var(--green)}.oc-operation-card.is-failed,.oc-operation-card.is-timed-out{border-left-color:var(--red)}.oc-operation-card.is-needs-reconcile{border-left-color:var(--orange)}.oc-operation-head,.oc-operation-actions{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.oc-operation-kicker{margin-bottom:2px;color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.oc-operation-state{padding:3px 9px;border-radius:999px;background:color-mix(in srgb,var(--blue) 12%,transparent);color:var(--blue);font-size:11px;font-weight:700}.oc-operation-state.is-succeeded{background:color-mix(in srgb,var(--green) 12%,transparent);color:var(--green)}.oc-operation-state.is-failed,.oc-operation-state.is-timed-out{background:color-mix(in srgb,var(--red) 12%,transparent);color:var(--red)}.oc-operation-state.is-needs-reconcile{background:color-mix(in srgb,var(--orange) 14%,transparent);color:var(--orange-active)}.oc-operation-id,.oc-operation-controller{margin-top:var(--space-2);color:var(--muted);font-size:12px;overflow-wrap:anywhere}.oc-operation-identities{display:flex;flex-wrap:wrap;gap:6px;margin-top:var(--space-3)}.oc-operation-identities span{padding:3px 8px;border:1px solid var(--hairline);border-radius:var(--radius-pill);background:var(--surface);color:var(--muted);font-size:var(--text-xs);font-weight:600}.oc-operation-identities b{color:var(--body)}.oc-operation-preview{max-height:150px;margin:var(--space-3) 0 0;padding:var(--space-2) var(--space-3);overflow:auto;border:1px solid var(--hairline);border-radius:var(--radius-md);background:var(--canvas-soft);color:var(--body);font-family:var(--font-mono);font-size:var(--text-xs);line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.oc-operation-preview.is-error{border-color:color-mix(in srgb,var(--red) 30%,var(--hairline));color:var(--red)}.oc-operation-actions{justify-content:flex-start;margin-top:var(--space-3)}.oc-operation-actions time{margin-left:auto;color:var(--muted-soft);font-size:11px}.oc-interview-start{margin:var(--space-3) auto}.oc-draft-card{width:min(720px,calc(100% - 42px));margin:var(--space-3) auto;padding:var(--space-4) var(--space-5);border:1px solid var(--hairline);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-panel)}.oc-draft-card>header{display:flex;align-items:center;gap:var(--space-3);justify-content:space-between}.oc-draft-card>header strong{font-size:15px;font-weight:700;letter-spacing:-.01em}.oc-draft-card>header span{padding:3px 10px;border-radius:var(--radius-pill);background:var(--surface-muted);color:var(--muted);font-size:var(--text-xs);font-weight:700;letter-spacing:.05em;text-transform:uppercase}.oc-interview-bubble{margin:var(--space-3) 0;padding:var(--space-3) var(--space-4);border-left:3px solid var(--orange);border-radius:0 var(--radius-md) var(--radius-md) 0;background:var(--canvas-soft)}.oc-interview-bubble textarea{width:100%;min-height:72px;margin:var(--space-2) 0;resize:vertical;border:1px solid var(--hairline-strong);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);font:inherit;font-size:var(--text-md)}.oc-interview-bubble textarea:focus-visible{outline:none;border-color:var(--orange);box-shadow:0 0 0 3px var(--orange-soft)}.oc-interview-bubble .btn+.btn{margin-left:var(--space-2)}.oc-draft-card pre{max-height:300px;overflow:auto;white-space:pre-wrap;font-size:var(--text-xs)}.oc-assessment{margin:var(--space-3) 0;color:var(--orange);font-size:var(--text-md)}.oc-assessment.is-fresh,.oc-task-kind-card.is-confirmed{color:var(--green)}.oc-task-kind-card{display:flex;align-items:center;gap:var(--space-3);justify-content:space-between;flex-wrap:wrap;margin-top:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--hairline);border-radius:var(--radius-md);background:var(--canvas-soft)}.oc-task-kind-card small{color:var(--muted)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}.oc-human-gate-card{position:relative;width:min(720px,calc(100% - 42px));margin:var(--space-3) auto;padding:var(--space-4) var(--space-5);border:1px solid color-mix(in srgb,var(--orange) 38%,var(--hairline));border-left:4px solid var(--orange);border-radius:var(--radius-lg);background:linear-gradient(180deg,color-mix(in srgb,var(--orange) 4%,var(--surface)),var(--surface) 40%);box-shadow:var(--shadow-soft);animation:panel-in .2s var(--ease-out)}.oc-human-gate-card.is-prepared,.oc-human-gate-card.is-confirmed{position:sticky;bottom:var(--space-2);z-index:6}.oc-human-gate-card header,.oc-human-gate-card footer{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3)}.oc-human-gate-card header div{display:grid;gap:3px}.oc-human-gate-card header small{color:var(--muted);font-size:var(--text-xs);font-weight:600;letter-spacing:.04em}.oc-human-gate-card header strong{font-size:15px;font-weight:700;letter-spacing:-.01em}.oc-human-gate-card header>span{flex-shrink:0;padding:3px 10px;border-radius:var(--radius-pill);font-size:var(--text-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase;border:1px solid transparent}.oc-human-gate-card.is-prepared header>span{color:var(--orange-active);background:var(--orange-soft);border-color:color-mix(in srgb,var(--orange) 35%,transparent)}.oc-human-gate-card.is-confirmed header>span,.oc-human-gate-card.is-dispatched header>span{color:var(--blue);background:color-mix(in srgb,var(--blue) 10%,transparent);border-color:color-mix(in srgb,var(--blue) 30%,transparent)}.oc-human-gate-card.is-consumed header>span{color:var(--green);background:color-mix(in srgb,var(--green) 10%,transparent);border-color:color-mix(in srgb,var(--green) 30%,transparent)}.oc-human-gate-card.is-stale header>span,.oc-human-gate-card.is-expired header>span,.oc-human-gate-card.is-error header>span{color:var(--red);background:color-mix(in srgb,var(--red) 8%,transparent);border-color:color-mix(in srgb,var(--red) 30%,transparent)}.oc-human-gate-card>p{margin:var(--space-3) 0 0;color:var(--body);font-size:var(--text-md);line-height:1.55}.oc-human-gate-card>div:has(>b){margin-top:var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--hairline);border-radius:var(--radius-md);background:var(--canvas-soft);font-size:var(--text-sm)}.oc-human-gate-challenges,.oc-human-gate-card ol{max-height:160px;overflow:auto}.oc-human-gate-card ul,.oc-human-gate-card ol{margin:var(--space-2) 0 0;padding-left:1.3em;color:var(--body)}.oc-human-gate-card footer{margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--hairline)}.oc-human-gate-card footer a{color:var(--muted);font-size:var(--text-sm);font-weight:600;text-decoration:none}.oc-human-gate-card footer a:hover{color:var(--orange-active);text-decoration:underline}.oc-human-gate-error{margin-top:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--red) 8%,transparent);color:var(--red);font-size:var(--text-sm);font-weight:600}.oc-human-gate-card.is-confirmed{border-left-color:var(--blue)}.oc-human-gate-card.is-consumed{border-left-color:var(--green);box-shadow:var(--shadow-panel)}.oc-human-gate-card.is-stale,.oc-human-gate-card.is-expired,.oc-human-gate-card.is-error{border-left-color:var(--red)}.oc-task-context{margin:var(--space-3);padding:var(--space-3);border:1px solid var(--hairline);border-radius:var(--radius-lg);background:var(--surface)}.oc-task-context>header{display:flex;justify-content:space-between;gap:var(--space-2);align-items:center}.oc-task-context>header div{display:grid;gap:2px}.oc-task-context>header small,.oc-task-context>header span,.oc-task-context-empty{color:var(--muted)}.oc-task-context-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2);margin-top:var(--space-3)}.oc-task-context-grid>div{display:grid;gap:4px;min-width:0;padding:var(--space-2);border:1px solid var(--hairline);border-radius:var(--radius-md);background:var(--canvas-soft)}.oc-task-context-grid span,.oc-task-context-grid small{overflow-wrap:anywhere}.oc-shortcut-palette{position:absolute;z-index:12;left:0;right:0;bottom:calc(100% + 8px);display:flex;flex-direction:column;max-height:min(var(--oc-shortcut-palette-available-height, 62vh),62vh,520px);padding:6px;border:1px solid var(--hairline);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-soft)}.oc-shortcut-palette-head{flex:0 0 auto;border-bottom:1px solid var(--hairline);margin-bottom:4px}.oc-shortcut-palette-body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:4px}.oc-shortcut-palette button{display:grid;gap:3px;min-width:0;border:1px solid var(--hairline);border-radius:var(--radius-md);padding:8px 10px;color:inherit;background:var(--surface);text-align:left;min-height:0}.oc-shortcut-group>button{grid-template-columns:minmax(0,1fr);align-content:center;align-items:stretch;justify-content:stretch;justify-items:stretch;width:100%}.oc-shortcut-palette button code{width:100%;overflow-wrap:anywhere;font-size:12px;font-weight:650;line-height:1.4;text-align:left}.oc-shortcut-palette button small{width:100%;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere;color:var(--muted);font-size:11px;line-height:1.45;text-align:left}.oc-shortcut-palette button:hover,.oc-shortcut-palette button.is-active{border-color:var(--orange);background:var(--surface-muted)}.oc-composer-inner{position:relative}@media(max-width:800px){.oc-task-context-grid{grid-template-columns:1fr}}.oc-file-palette{position:absolute;z-index:13;left:0;right:0;bottom:calc(100% + 8px);display:grid;max-height:240px;overflow:auto;padding:6px;border:1px solid var(--hairline);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-soft)}.oc-file-palette button{border:0;padding:8px 10px;color:inherit;background:transparent;text-align:left;border-radius:var(--radius-md);min-height:0}.oc-file-palette button:hover{background:var(--surface-muted)}.oc-file-palette button.is-dir code{color:var(--amber);font-weight:650}.oc-runtime-controls{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px}@media(prefers-reduced-motion:reduce){.oc-process,.oc-sidebar-drawer,.oc-suggestion,.oc-send{animation:none!important;transition:none!important}}.oc-select-menu{position:relative;flex-shrink:0}.oc-select-trigger{display:inline-flex;align-items:center;gap:6px;max-width:min(260px,calc(100vw - 32px));min-height:30px;padding:0 var(--space-2);border:1px solid var(--hairline);border-radius:var(--radius-md);background:var(--surface);color:var(--body);font:inherit;font-size:var(--text-sm);cursor:pointer;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.oc-select-trigger:hover{border-color:var(--hairline-strong)}.oc-select-trigger:focus-visible{outline:none;border-color:var(--orange);box-shadow:0 0 0 3px var(--orange-soft)}.oc-select-trigger:disabled{cursor:not-allowed;opacity:.55}.oc-select-trigger-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-mono)}.oc-select-panel{position:absolute;left:0;bottom:calc(100% + 8px);z-index:18;width:min(340px,calc(100vw - 24px));max-height:min(60vh,440px);display:flex;flex-direction:column;gap:2px;padding:6px;border:1px solid var(--hairline);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-soft);overflow:auto}.oc-select-search{flex-shrink:0;margin-bottom:4px;padding:7px 9px;border:1px solid var(--hairline);border-radius:var(--radius-sm);background:var(--surface-muted);color:var(--ink);font:inherit;font-size:var(--text-sm);outline:none}.oc-select-search:focus{border-color:var(--orange);box-shadow:0 0 0 3px var(--orange-soft)}.oc-select-status{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;color:var(--muted);font-size:var(--text-sm)}.oc-select-status.is-error{color:var(--red)}.oc-model-group-head{padding:6px 10px 2px;color:var(--muted);font-size:11px;font-weight:650;letter-spacing:.04em;text-transform:uppercase}.oc-select-option{display:flex;align-items:center;gap:8px;width:100%;border:0;border-radius:var(--radius-md);padding:8px 10px;background:transparent;color:inherit;font:inherit;font-size:var(--text-sm);text-align:left;cursor:pointer;min-height:0}.oc-select-option.is-highlighted{background:var(--surface-muted)}.oc-select-option.is-active{color:var(--orange-active)}.oc-model-option-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-mono)}.oc-model-option-check{flex-shrink:0;color:var(--orange)}.oc-thinking-option-label{flex:1}.oc-thinking-badge{flex-shrink:0;padding:1px 7px;border:1px solid var(--hairline);border-radius:var(--radius-pill);color:var(--muted);font-size:11px}.oc-reload-status{color:var(--muted);font-size:var(--text-sm)}.oc-reload-banner{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border:1px solid color-mix(in srgb,var(--red) 35%,var(--hairline));border-radius:var(--radius-sm);background:color-mix(in srgb,var(--red) 6%,var(--surface));color:var(--red);font-size:var(--text-sm)}.oc-runtime-controls .oc-process-summary{margin-left:0}.oc-usage{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:var(--text-sm);font-variant-numeric:tabular-nums}.oc-usage-part{white-space:nowrap}.oc-usage-part.is-in{color:var(--green)}.oc-usage-part.is-out{color:var(--blue)}.oc-usage-part.is-context{color:var(--muted-soft, var(--muted))}.oc-usage-part.is-context.is-high{color:var(--orange, #d97706);font-weight:600}.oc-usage-part svg{vertical-align:-1px;margin-right:1px}.oc-runtime-controls-group{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.oc-runtime-controls-group.is-right{margin-left:auto}.oc-runtime-context-menu{position:relative;margin-left:auto;flex-shrink:0}.oc-runtime-context-toggle.is-active{color:var(--orange-active);background:color-mix(in srgb,var(--orange) 10%,var(--surface))}.oc-runtime-context-panel{position:absolute;right:0;bottom:calc(100% + 8px);z-index:16;width:min(760px,calc(100vw - 24px));max-height:min(72vh,720px);display:flex;flex-direction:column;border:1px solid var(--hairline);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-soft);animation:panel-in .16s ease;overflow:hidden}.oc-runtime-context-head{display:flex;align-items:flex-start;gap:12px;flex-shrink:0;padding:12px 14px;border-bottom:1px solid var(--hairline);background:var(--surface-raised)}.oc-runtime-context-head-copy{flex:1;min-width:0;display:grid;gap:2px}.oc-runtime-context-head strong{font-size:14px}.oc-runtime-context-meta{font-size:11px;color:var(--muted)}.oc-runtime-context-close{flex-shrink:0;min-height:28px;padding:0 8px;font-size:12px}.oc-runtime-context-body{flex:1;min-height:0;overflow:auto;padding:12px 14px 14px;display:grid;align-content:start;gap:14px}.oc-runtime-context-overview{display:grid;gap:14px}.oc-runtime-context-model-card{display:grid;gap:4px;min-width:0;padding:10px 12px;border:1px solid var(--hairline);border-radius:var(--radius-md);background:var(--canvas-soft)}.oc-runtime-context-model-label{font-size:11px;color:var(--muted)}.oc-runtime-context-model-ref{font-size:13px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.oc-runtime-context-stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.oc-runtime-context-stat{display:grid;gap:3px;min-width:0;padding:8px 10px;border:1px solid var(--hairline);border-radius:var(--radius-md);background:var(--canvas-soft)}.oc-runtime-context-stat-label{font-size:11px;color:var(--muted)}.oc-runtime-context-stat-value{font-family:var(--font-mono);font-size:13px;font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.oc-runtime-context-stat-value.oc-runtime-context-mode{display:inline-flex;align-items:center;gap:6px}.oc-runtime-context-mode.is-open{color:var(--green)}.oc-runtime-context-mode.is-closed{color:var(--amber)}.oc-runtime-context-mode-dot{flex-shrink:0;width:6px;height:6px;border-radius:50%;background:currentColor}.oc-runtime-context-resource-links{display:grid;border:1px solid var(--hairline);border-radius:var(--radius-md);background:var(--surface);overflow:hidden}.oc-runtime-context-resource-link{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;border:0;border-bottom:1px solid var(--hairline);background:transparent;color:var(--body);font:inherit;font-size:var(--text-sm);text-align:left;cursor:pointer}.oc-runtime-context-resource-link:last-child{border-bottom:0}.oc-runtime-context-resource-link:hover{background:var(--surface-muted)}.oc-runtime-context-resource-link:focus-visible{outline:none;box-shadow:inset 0 0 0 2px var(--orange)}.oc-runtime-context-resource-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.oc-runtime-context-resource-count{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--orange-active);font-variant-numeric:tabular-nums}.oc-runtime-context-resource-count.is-zero{color:var(--muted)}.oc-runtime-context-resource-chevron{color:var(--muted-soft);font-size:14px;line-height:1}.oc-runtime-context-section{display:grid;gap:8px;min-width:0}.oc-runtime-context-section-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.oc-runtime-context-section-head strong{font-size:12px}.oc-runtime-context-section-title{display:flex;align-items:baseline;gap:8px;min-width:0}.oc-runtime-context-hash{display:inline-block;margin-left:6px;padding:1px 6px;border:1px solid var(--hairline);border-radius:6px;background:var(--canvas-soft);color:var(--muted);font-size:11px;vertical-align:1px}.oc-runtime-context-text{margin:0;max-height:min(36vh,360px);overflow:auto;padding:10px 12px;border:1px solid var(--hairline);border-radius:var(--radius-sm);background:var(--canvas-soft);color:var(--body);font-size:12px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}.oc-runtime-context-empty{margin:0;padding:8px 10px;border:1px dashed var(--hairline);border-radius:var(--radius-sm);background:var(--canvas-soft);color:var(--muted);font-size:12px;text-align:center}.oc-runtime-context-tools{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:6px}.oc-runtime-context-tools li code{display:inline-block;padding:3px 7px;border:1px solid var(--hairline);border-radius:6px;background:var(--canvas-soft);font-size:11px}.oc-runtime-context-raw{padding-top:10px;border-top:1px solid var(--hairline);font-size:12px;color:var(--muted)}.oc-runtime-context-raw summary{cursor:pointer;-webkit-user-select:none;user-select:none}.oc-runtime-context-raw pre{margin:8px 0 0;max-height:min(48vh,480px);overflow:auto;padding:10px;border:1px solid var(--hairline);border-radius:var(--radius-sm);background:var(--canvas-soft);font-size:11px;line-height:1.45;white-space:pre}.oc-runtime-context-resources{display:grid;gap:6px;margin:0;padding:0;list-style:none}.oc-runtime-context-resources li{display:grid;gap:5px;padding:8px 10px;border:1px solid var(--hairline);border-radius:var(--radius-sm);background:var(--surface);font-size:var(--text-sm)}.oc-runtime-context-resource-head{display:flex;align-items:baseline;gap:8px;min-width:0}.oc-runtime-context-resource-name{flex:1;min-width:0;font-size:var(--text-md);color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.oc-runtime-context-resource-flag{flex-shrink:0;padding:1px 6px;border:1px solid var(--hairline);border-radius:var(--radius-pill);color:var(--muted);font-size:11px}.oc-runtime-context-resource-head .oc-runtime-context-meta{flex-shrink:0;max-width:55%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.oc-runtime-context-resource-desc{color:var(--body)}.oc-runtime-context-resource-path{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:11px}.oc-runtime-context-resolved{padding-top:6px;border-top:1px solid var(--hairline)}.oc-runtime-context-resolved summary{cursor:pointer;-webkit-user-select:none;user-select:none;font-size:11px;color:var(--muted)}.oc-runtime-context-resolved-list{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 0;padding:0;list-style:none}.oc-runtime-context-resolved-list code{display:inline-block;max-width:100%;padding:2px 6px;border:1px solid var(--hairline);border-radius:6px;background:var(--canvas-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.oc-runtime-context-diag{color:var(--amber);font-size:11px;line-height:1.5}.oc-runtime-context-diag-icon{margin-right:4px}.oc-runtime-context-diag.is-error{color:var(--red);display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.oc-runtime-context-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;flex-shrink:0;padding:10px 14px;border-top:1px solid var(--hairline);background:var(--surface-raised)}@media(max-width:800px){.oc-runtime-context-menu{margin-left:0;width:100%}.oc-runtime-context-panel{left:0;right:0;width:auto;max-height:min(78vh,680px)}}.oc-artifact-card{max-width:100%;margin:var(--space-3) 0;padding:var(--space-4);overflow:hidden;border:1px solid var(--hairline);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-panel)}.oc-artifact-card header{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3)}.oc-artifact-card header strong{font-size:var(--text-md);font-weight:700}.oc-artifact-card header>span{padding:2px 9px;border-radius:var(--radius-pill);background:var(--surface-muted);color:var(--muted);font-size:var(--text-xs);font-weight:700;letter-spacing:.05em;text-transform:uppercase}.oc-artifact-card pre{max-height:320px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;font-size:var(--text-xs)}.oc-artifact-card iframe{width:100%;min-height:280px;border:1px solid var(--hairline);border-radius:var(--radius-md);background:#fff}.oc-load-history{display:block;margin:var(--space-2) auto}.oc-attach-button{display:inline-flex;min-height:26px;align-items:center;padding:0 var(--space-2);border:1px solid var(--hairline);border-radius:var(--radius-pill);background:var(--surface);color:var(--muted);cursor:pointer;font-size:var(--text-sm);font-weight:600;transition:border-color var(--transition-fast),color var(--transition-fast),background-color var(--transition-fast)}.oc-attach-button:hover{border-color:var(--orange);color:var(--orange-active);background:var(--orange-soft)}.oc-composer-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:10px 14px;margin-bottom:6px;font-size:11.5px;color:var(--muted)}.oc-composer-toolbar .oc-attach-button{margin-bottom:0}.oc-attachment-list{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}.oc-attachment-list span{display:inline-flex;align-items:center;gap:5px;max-width:100%;padding:4px 8px;border:1px solid var(--hairline);border-radius:999px;overflow-wrap:anywhere}.oc-attachment-list button{border:0;color:inherit;background:transparent;cursor:pointer}@media(max-width:640px){.oc-runtime-controls,.oc-composer-foot{align-items:stretch;flex-direction:column}.oc-runtime-controls .oc-select-trigger,.oc-runtime-controls button{width:100%;max-width:100%;min-height:44px}.oc-runtime-controls .oc-select-menu{width:100%}.oc-select-panel{width:min(340px,calc(100vw - 24px))}.oc-artifact-card{width:100%}.oc-composer{padding-inline:8px}}.night-workbench .night-health{margin:var(--space-4) 0;padding:var(--space-3) var(--space-4);border:1px solid var(--hairline);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm)}.night-health-main{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-3)}.night-health-pill{display:inline-flex;align-items:center;gap:6px;padding:3px 12px;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--green) 14%,white);color:var(--green);font-size:var(--text-sm);font-weight:700;letter-spacing:.02em}.night-health-pill:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.night-health-pill.is-bad{background:color-mix(in srgb,var(--red) 14%,white);color:var(--red)}.night-health-hint{margin:var(--space-2) 0 0}.night-aux-ticker{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--hairline)}.night-aux-ticker-label{margin:0;color:var(--body);font-size:var(--text-md)}.night-doctor-list{margin:var(--space-2) 0 0;padding-left:1.2em;color:var(--body);font-size:12.5px}.night-kpi{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:var(--space-3) 0;color:var(--body);font-size:var(--text-md)}.night-kpi span{padding:4px 12px;border:1px solid var(--hairline);border-radius:var(--radius-pill);background:var(--canvas-soft);font-variant-numeric:tabular-nums;font-weight:600}.night-board,.night-wizard,.night-discard-card,.night-advanced{margin-top:var(--space-5)}.night-schedule-list{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-3)}.night-schedule-row{padding:var(--space-3) var(--space-4);border:1px solid var(--hairline);border-radius:var(--radius-lg);background:var(--surface);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.night-schedule-row:hover{border-color:var(--hairline-strong);box-shadow:var(--shadow-panel)}.night-schedule-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2)}.night-status-chip{padding:2px 10px;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--blue) 10%,transparent);border:1px solid color-mix(in srgb,var(--blue) 25%,transparent);font-size:var(--text-xs);color:var(--blue);font-weight:700;letter-spacing:.03em}.night-schedule-row[data-status=failed] .night-status-chip,.night-schedule-row[data-status=human_required] .night-status-chip{color:var(--red);background:color-mix(in srgb,var(--red) 8%,transparent);border-color:color-mix(in srgb,var(--red) 28%,transparent)}.night-schedule-row[data-status=succeeded] .night-status-chip{color:var(--green);background:color-mix(in srgb,var(--green) 10%,transparent);border-color:color-mix(in srgb,var(--green) 28%,transparent)}.night-schedule-row[data-status=running] .night-status-chip,.night-schedule-row[data-status=dispatching] .night-status-chip{color:var(--orange-active);background:var(--orange-soft);border-color:color-mix(in srgb,var(--orange) 30%,transparent)}.night-next-action{font-size:var(--text-sm);overflow-wrap:anywhere}.night-review-card,.night-discard-card{padding:var(--space-4) var(--space-5);border:1px solid var(--hairline-strong);border-radius:var(--radius-lg);background:var(--canvas-soft)}.night-writeset{margin:0;padding-left:1.1em}.night-advanced{border-top:1px solid var(--hairline);padding-top:var(--space-3)}.night-advanced summary{cursor:pointer;color:var(--body);font-weight:600}.checkbox-field{display:flex;align-items:center;gap:var(--space-2)}.models-page .panel-lead{margin-top:var(--space-2)}.models-header{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-3)}.models-header h2{margin:0}.models-status-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 14px;border-radius:var(--radius-pill);font-size:var(--text-sm);font-weight:700;letter-spacing:.02em}.models-status-pill:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.models-status-pill[data-state=ready]{background:color-mix(in srgb,var(--green) 14%,white);color:var(--green)}.models-status-pill[data-state=setup-required]{background:color-mix(in srgb,var(--red) 14%,white);color:var(--red)}.models-status-pill[data-state=degraded]{background:color-mix(in srgb,var(--orange) 16%,white);color:var(--orange-active)}.models-status-pill[data-state=unknown]{background:var(--canvas-soft);color:var(--muted)}.models-subtitle{margin:0 0 var(--space-2);font-size:var(--text-md);font-weight:700;color:var(--ink)}.models-probe-card,.models-setup-card,.models-blocked-card{margin-top:var(--space-4);padding:var(--space-3) var(--space-4);border:1px solid var(--hairline);border-radius:var(--radius-md);background:color-mix(in srgb,var(--surface) 55%,transparent)}.models-probe-list{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-2)}.models-probe-item{display:grid;grid-template-columns:28px 1fr;gap:var(--space-2);align-items:start;padding:var(--space-2) 0;border-bottom:1px solid var(--hairline)}.models-probe-item:last-child{border-bottom:none;padding-bottom:0}.models-probe-badge{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;font-size:14px;font-weight:800;line-height:1;background:var(--canvas-soft);color:var(--muted)}.models-probe-item.is-ok .models-probe-badge{background:color-mix(in srgb,var(--green) 16%,white);color:var(--green)}.models-probe-item.is-bad .models-probe-badge{background:color-mix(in srgb,var(--red) 14%,white);color:var(--red)}.models-probe-body{display:grid;gap:2px;min-width:0}.models-probe-body strong{font-size:var(--text-md);color:var(--ink)}.models-probe-body .muted{font-size:var(--text-sm)}.models-probe-detail{margin:var(--space-1) 0 0;font-size:var(--text-sm);color:var(--body);line-height:1.45}.models-setup-steps{margin:0 0 var(--space-3);padding-left:1.25em;color:var(--body);font-size:var(--text-md);line-height:1.5}.models-setup-steps li+li{margin-top:var(--space-2)}.models-degraded-note{margin:var(--space-4) 0 0;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border:1px solid color-mix(in srgb,var(--orange) 35%,var(--hairline));background:color-mix(in srgb,var(--orange) 8%,white);color:var(--body);font-size:var(--text-md)}.models-blocked-list{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:var(--space-2)}.models-blocked-list li{padding:4px 10px;border-radius:var(--radius-pill);border:1px solid var(--hairline);background:var(--surface)}.models-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);margin-top:var(--space-4)}.models-generated-at{font-size:var(--text-sm)}.models-raw-details{margin-top:var(--space-4);font-size:var(--text-sm);color:var(--muted)}.models-raw-details summary{cursor:pointer;font-weight:600;color:var(--body)}.models-raw-json{margin-top:var(--space-2);max-height:240px;overflow:auto}.models-matrix-card{margin-top:var(--space-4);padding:var(--space-3) var(--space-4);border:1px solid var(--hairline);border-radius:var(--radius-md);background:color-mix(in srgb,var(--surface) 55%,transparent)}.models-matrix-lead{margin:var(--space-2) 0 var(--space-3);color:var(--muted)}.models-matrix-list{display:grid;gap:var(--space-3);width:min(100%,720px)}.models-matrix-row{display:grid;grid-template-columns:96px minmax(0,1fr);align-items:center;gap:var(--space-3)}.models-matrix-empty,.models-matrix-select{width:100%}.models-matrix-select .oc-select-trigger{width:100%;max-width:none;min-height:34px}.models-matrix-select .oc-select-panel.is-below{bottom:auto;top:calc(100% + 6px)}.oc-overlay-backdrop.is-runtime-context{z-index:10}.oc-runtime-context-sidepanel{position:absolute;top:0;right:0;bottom:0;z-index:11;animation:oc-drawer-slide-in .28s cubic-bezier(.32,.72,0,1);will-change:transform;width:min(480px,calc(100% - 24px));display:flex;flex-direction:column;border-left:1px solid var(--hairline);background:var(--surface);box-shadow:var(--shadow-soft)}.oc-runtime-context-layout{display:grid;grid-template-columns:132px minmax(0,1fr);min-height:0;flex:1 1 auto}.oc-runtime-context-nav{display:flex;flex-direction:column;gap:2px;padding:8px;border-right:1px solid var(--hairline);overflow:auto;background:var(--canvas-soft)}.oc-runtime-context-nav-item{display:flex;align-items:center;justify-content:space-between;gap:6px;text-align:left;border:0;background:transparent;color:var(--muted);border-radius:6px;padding:7px 8px;font:inherit;font-size:12px;cursor:pointer}.oc-runtime-context-nav-item:hover,.oc-runtime-context-nav-item.is-active{background:color-mix(in srgb,var(--orange) 10%,var(--surface));color:var(--orange-active)}.oc-runtime-context-nav-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.oc-runtime-context-nav-count{flex-shrink:0;font-family:var(--font-mono);font-size:11px;font-variant-numeric:tabular-nums}.oc-runtime-context-nav-item.is-active .oc-runtime-context-nav-count{color:var(--orange-active)}.oc-runtime-context-sidepanel .oc-runtime-context-body{overflow:auto}.oc-runtime-context-sidepanel .oc-runtime-context-foot{flex-shrink:0;display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:10px 14px;border-top:1px solid var(--hairline);background:var(--surface-raised)}.oc-attach-icon{display:inline-grid;place-items:center;width:32px;height:32px;padding:0;border-radius:8px;cursor:pointer;color:var(--muted)}.oc-attach-icon:hover,.oc-attach-icon:focus-within{color:var(--ink);background:color-mix(in srgb,var(--ink) 6%,transparent)}.oc-md-table-wrap{width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;overscroll-behavior-y:auto}.oc-md table{border-collapse:collapse;width:max-content;min-width:100%;font-size:.95em}.oc-md th,.oc-md td{border:1px solid var(--hairline);padding:6px 10px;vertical-align:top;overflow-wrap:anywhere}.oc-md th{background:color-mix(in srgb,var(--ink) 4%,var(--surface));font-weight:650}.oc-md-img-fallback{color:var(--muted);font-size:.92em}.oc-md h5,.oc-md h6{margin:var(--space-3) 0 var(--space-2);font-weight:700}.oc-md input[type=checkbox]{margin-right:6px;pointer-events:none}.oc-shortcut-palette-head{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:8px 10px 4px;color:var(--muted);font-size:12px}.oc-shortcut-palette-meta{font-size:11px}.oc-shortcut-palette-meta.is-error{color:var(--red)}.oc-shortcut-group{display:grid;grid-template-columns:minmax(0,1fr);gap:6px;padding-bottom:6px}.oc-shortcut-group:last-child{padding-bottom:0}.oc-shortcut-palette[data-layout-mode=comfortable] .oc-shortcut-group{grid-template-columns:repeat(3,minmax(0,1fr))}.oc-shortcut-palette[data-layout-mode=compact] .oc-shortcut-group{grid-template-columns:repeat(2,minmax(0,1fr))}.oc-shortcut-group>small{position:sticky;top:0;z-index:1;grid-column:1 / -1;padding:6px 10px 2px;color:var(--muted-soft);font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;background:var(--surface);-webkit-user-select:none;user-select:none}@keyframes la-spin{to{transform:rotate(360deg)}}.spinner{display:inline-block;width:13px;height:13px;margin-right:7px;vertical-align:-2px;border:2px solid rgb(255 255 255 / 35%);border-top-color:#fff;border-radius:50%;animation:la-spin .8s linear infinite}.btn.is-loading{display:inline-flex;align-items:center;justify-content:center;gap:2px}.btn-ghost.is-loading .spinner,.btn.is-loading .spinner{border-color:color-mix(in srgb,var(--ink) 25%,transparent);border-top-color:var(--ink)}.oc-semantic-activity{appearance:none;width:100%;min-height:38px;display:flex;align-items:center;gap:9px;padding:8px 10px;border:1px solid transparent;border-radius:var(--radius-md);background:color-mix(in srgb,var(--green, #2e7d62) 7%,var(--surface));color:var(--body);text-align:left;font:inherit;cursor:default;transition:border-color var(--transition-fast),background var(--transition-fast),box-shadow var(--transition-fast)}button.oc-semantic-activity{cursor:pointer}button.oc-semantic-activity:hover,.oc-semantic-activity.is-located{border-color:color-mix(in srgb,var(--green, #2e7d62) 40%,var(--hairline));background:color-mix(in srgb,var(--green, #2e7d62) 12%,var(--surface))}.oc-semantic-activity:focus-visible{outline:2px solid color-mix(in srgb,var(--green, #2e7d62) 48%,transparent);outline-offset:2px}.oc-semantic-activity.is-warning{background:color-mix(in srgb,var(--orange) 9%,var(--surface))}.oc-semantic-activity.is-error{background:color-mix(in srgb,var(--red) 7%,var(--surface));color:var(--red)}.oc-semantic-activity-icon{width:22px;height:22px;flex:0 0 22px;display:grid;place-items:center;border-radius:50%;background:color-mix(in srgb,var(--green, #2e7d62) 15%,var(--surface));color:var(--green, #2e7d62);font-size:11px;font-weight:800}.oc-semantic-activity.is-progress .oc-semantic-activity-icon,.oc-semantic-activity.is-warning .oc-semantic-activity-icon{background:color-mix(in srgb,var(--orange) 18%,var(--surface));color:color-mix(in srgb,var(--orange) 70%,var(--ink))}.oc-semantic-activity.is-error .oc-semantic-activity-icon{background:color-mix(in srgb,var(--red) 14%,var(--surface));color:var(--red)}.oc-semantic-activity-copy{min-width:0;display:flex;flex-direction:column;gap:2px}.oc-semantic-activity-copy strong{font-size:12.5px;line-height:1.4;font-weight:650}.oc-semantic-activity-copy small{color:var(--muted);font-size:11px}.oc-semantic-activity-link{margin-left:auto;flex:0 0 auto;color:var(--muted);font-size:10px}.oc-activity-trigger{margin-left:auto}.oc-activity-trigger span,.oc-activity-count,.oc-activity-tabs button span{display:inline-grid;min-width:19px;height:19px;place-items:center;padding:0 5px;border-radius:999px;background:color-mix(in srgb,var(--green, #2e7d62) 14%,var(--surface));color:var(--green, #2e7d62);font-size:10px;font-variant-numeric:tabular-nums}.oc-activity-rail{min-height:0;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--hairline);background:color-mix(in srgb,var(--canvas-soft) 76%,var(--surface));box-shadow:var(--shadow-panel)}.oc-activity-rail.is-sidecar{position:fixed;z-index:41;border-radius:var(--radius-md);animation:activity-sidecar-in .16s ease-out}.oc-activity-rail.is-drawer,.oc-activity-rail.is-sheet{position:absolute;z-index:43}.oc-activity-rail.is-drawer{top:0;right:0;bottom:0;width:min(420px,calc(100vw - 48px));border-radius:var(--radius-md) 0 0 var(--radius-md);animation:activity-drawer-in .16s ease-out}.oc-activity-rail.is-sheet{left:0;right:0;bottom:0;height:min(72%,620px);border-radius:18px 18px 0 0;animation:activity-sheet-in .16s ease-out}@keyframes activity-sidecar-in{0%{opacity:0;transform:translate(8px)}to{opacity:1;transform:none}}@keyframes activity-sidecar-out{0%{opacity:1;transform:none}to{opacity:0;transform:none}}@keyframes activity-content-switch{0%{opacity:0}to{opacity:1}}@keyframes activity-drawer-in{0%{opacity:0;transform:translate(8px)}to{opacity:1;transform:none}}@keyframes activity-sheet-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}.oc-activity-rail.is-leaving{pointer-events:none;animation:activity-sidecar-out .12s ease-in forwards}.oc-activity-rail.is-switching{pointer-events:none}.oc-activity-rail.is-switching .oc-activity-content{animation:activity-content-switch .12s ease-out}.oc-overlay-backdrop.is-activity{z-index:42}.oc-activity-content{min-height:0;flex:1 1 auto;display:flex;flex-direction:column;overflow:hidden}.oc-activity-rail-head{flex:0 0 auto;display:flex;align-items:center;gap:10px;min-height:58px;padding:10px 12px;border-bottom:1px solid var(--hairline);background:color-mix(in srgb,var(--surface) 94%,transparent)}.oc-activity-rail-head>div{min-width:0;display:flex;flex-direction:column;gap:2px}.oc-activity-rail-head strong{font-size:13px}.oc-activity-rail-head small{color:var(--muted);font-size:10.5px}.oc-activity-count{margin-left:auto}.oc-activity-close{appearance:none;width:34px;height:34px;display:grid;place-items:center;border:1px solid transparent;border-radius:var(--radius-md);background:transparent;color:var(--muted);cursor:pointer;font-size:18px}.oc-activity-close:hover{border-color:var(--hairline);background:var(--surface);color:var(--ink)}.oc-activity-tabs{flex:0 0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:8px;border-bottom:1px solid var(--hairline)}.oc-activity-tabs button{appearance:none;min-height:36px;display:inline-flex;align-items:center;justify-content:center;gap:5px;border:1px solid transparent;border-radius:var(--radius-md);background:transparent;color:var(--muted);cursor:pointer;font:inherit;font-size:11px;font-weight:650}.oc-activity-tabs button:hover,.oc-activity-tabs button.is-active{border-color:color-mix(in srgb,var(--green, #2e7d62) 22%,var(--hairline));background:color-mix(in srgb,var(--green, #2e7d62) 9%,var(--surface));color:var(--ink)}.oc-activity-list{flex:1 1 auto;min-height:0;overflow-y:auto;padding:10px}.oc-activity-empty{padding:28px 14px;color:var(--muted);text-align:center;font-size:12px}.oc-activity-card-wrap{position:relative;margin-bottom:10px;border-radius:var(--radius-md);transition:box-shadow var(--transition-fast)}.oc-activity-card-wrap.is-focused{box-shadow:0 0 0 3px color-mix(in srgb,var(--orange) 38%,transparent)}.oc-activity-card-wrap>section{margin:0;max-width:none}.oc-activity-locate{appearance:none;position:absolute;top:8px;right:86px;border:0;background:transparent;color:var(--muted-soft);cursor:pointer;font-size:9px}.oc-activity-locate:hover{color:var(--ink);text-decoration:underline}.oc-operation-technical-action{margin-left:8px;color:var(--muted-soft);font:10px ui-monospace,SFMono-Regular,Consolas,monospace}.oc-activity-rail .oc-artifact-card pre{max-height:220px;overflow:auto}.oc-task-journey-card,.oc-journey-compact{width:100%;margin:0;border:1px solid var(--hairline-strong);border-radius:var(--radius-lg);background:var(--surface);box-shadow:0 8px 24px color-mix(in srgb,var(--ink) 6%,transparent)}.oc-task-journey-card{overflow:hidden}.oc-journey-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 14px 12px;border-bottom:1px solid var(--hairline)}.oc-journey-head>div{min-width:0;display:grid;gap:4px}.oc-journey-head strong{font-size:14px;line-height:1.35;text-transform:none;overflow-wrap:anywhere}.oc-journey-head small,.oc-journey-head time{color:var(--muted);font-size:10px}.oc-journey-head code{font-size:9px;overflow-wrap:anywhere}.oc-journey-state-line{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:10px;font-weight:700}.oc-journey-dot{width:8px;height:8px;flex:0 0 8px;border-radius:50%;background:var(--muted)}.oc-journey-dot.is-success{background:var(--green)}.oc-journey-dot.is-progress{background:var(--blue)}.oc-journey-dot.is-warning{background:var(--orange)}.oc-journey-dot.is-error{background:var(--red)}.oc-journey-steps{display:grid;gap:7px;padding:12px 14px}.oc-journey-step{display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:7px;min-height:22px;color:var(--body);font-size:11px}.oc-journey-step>small{color:var(--muted-soft);font-size:9px}.oc-journey-step-icon{width:19px;height:19px;display:grid;place-items:center;border-radius:50%;background:var(--surface-muted);color:var(--muted);font-size:9px;font-weight:800}.oc-journey-step-icon.is-success{background:color-mix(in srgb,var(--green) 12%,var(--surface));color:var(--green)}.oc-journey-step-icon.is-error{background:color-mix(in srgb,var(--red) 10%,var(--surface));color:var(--red)}.oc-journey-step-icon.is-progress{background:color-mix(in srgb,var(--blue) 10%,var(--surface));color:var(--blue)}.oc-journey-outcome{margin:0 14px 12px;padding:10px 11px;border:1px solid var(--hairline);border-radius:var(--radius-md);background:var(--canvas-soft)}.oc-journey-outcome.is-error{border-color:color-mix(in srgb,var(--red) 25%,var(--hairline));background:color-mix(in srgb,var(--red) 5%,var(--surface))}.oc-journey-outcome.is-warning{border-color:color-mix(in srgb,var(--orange) 28%,var(--hairline));background:color-mix(in srgb,var(--orange) 5%,var(--surface))}.oc-journey-outcome strong{font-size:10px}.oc-journey-outcome p{margin:4px 0 0;color:var(--body);font-size:10.5px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.oc-journey-latest-run{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:6px;align-items:center;margin:0 14px 11px;padding:8px 0;border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);color:var(--muted);font-size:9px}.oc-journey-latest-run code{min-width:0;overflow:hidden;text-overflow:ellipsis}.oc-journey-latest-run b,.oc-journey-run-row>span{font-size:9px}.oc-journey-latest-run b.is-error,.oc-journey-run-row>span.is-error{color:var(--red)}.oc-journey-latest-run b.is-success,.oc-journey-run-row>span.is-success{color:var(--green)}.oc-journey-latest-run b.is-progress,.oc-journey-run-row>span.is-progress{color:var(--blue)}.oc-journey-latest-run small{grid-column:2 / -1;color:var(--red)}.oc-journey-history,.oc-journey-technical,.oc-human-gate-details,.oc-artifact-details{margin:0 14px 11px;border:1px solid var(--hairline);border-radius:var(--radius-md);background:var(--surface)}.oc-journey-history>summary,.oc-journey-technical>summary,.oc-human-gate-details>summary,.oc-artifact-details>summary{padding:9px 10px;color:var(--muted);cursor:pointer;font-size:10px;font-weight:650}.oc-journey-run-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 8px;padding:8px 10px;border-top:1px solid var(--hairline);font-size:9px}.oc-journey-run-row small,.oc-journey-run-row time{color:var(--muted-soft);font-size:8px}.oc-journey-actions{display:flex;flex-wrap:wrap;gap:6px;padding:0 14px 12px}.oc-journey-actions .btn,.oc-journey-compact .btn,.oc-activity-rail .oc-human-gate-card .btn,.oc-activity-rail .oc-artifact-card .btn{min-height:30px;padding:5px 9px;font-size:9px}.oc-journey-technical-body{max-height:320px;overflow:auto;border-top:1px solid var(--hairline)}.oc-journey-operation-row{display:grid;gap:5px;padding:9px 10px;border-bottom:1px solid var(--hairline)}.oc-journey-operation-row>div{display:flex;justify-content:space-between;gap:8px;color:var(--muted);font-size:9px}.oc-journey-operation-row small{color:var(--muted-soft);font-size:8px;overflow-wrap:anywhere}.oc-journey-operation-row pre{max-height:120px;margin:0;padding:7px;overflow:auto;border-radius:var(--radius-sm);background:var(--canvas-soft);font-size:8px;white-space:pre-wrap;overflow-wrap:anywhere}.oc-journey-operation-row pre.is-error{color:var(--red)}.oc-journey-compact{overflow:hidden}.oc-journey-compact>summary{display:grid;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:9px;padding:11px 12px;cursor:pointer;list-style:none}.oc-journey-compact>summary::-webkit-details-marker{display:none}.oc-journey-compact>summary>span:nth-child(2){min-width:0;display:grid;gap:2px}.oc-journey-compact strong{font-size:11px;overflow-wrap:anywhere}.oc-journey-compact small{color:var(--muted);font-size:9px}.oc-journey-compact-body{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 12px;border-top:1px solid var(--hairline)}.oc-journey-compact-body code{min-width:0;color:var(--muted);font-size:8px;overflow-wrap:anywhere}.oc-activity-rail .oc-human-gate-card,.oc-activity-rail .oc-artifact-card{position:relative;inset:auto;z-index:auto;width:100%;max-width:none;margin:0;padding:13px;border-left-width:3px;border-radius:var(--radius-lg);animation:none;box-shadow:0 8px 24px color-mix(in srgb,var(--ink) 5%,transparent)}.oc-activity-rail .oc-human-gate-card header,.oc-activity-rail .oc-artifact-card header{align-items:flex-start}.oc-activity-rail .oc-human-gate-card header div,.oc-activity-rail .oc-artifact-card header div{min-width:0;display:grid;gap:3px}.oc-activity-rail .oc-human-gate-card header strong,.oc-activity-rail .oc-artifact-card header strong{font-size:12px;overflow-wrap:anywhere}.oc-activity-rail .oc-human-gate-card header code,.oc-activity-rail .oc-artifact-card header code{color:var(--muted-soft);font-size:8px;overflow-wrap:anywhere}.oc-human-gate-summary,.oc-activity-rail .oc-artifact-card>p{display:-webkit-box;margin:10px 0;overflow:hidden;color:var(--body);font-size:10px;line-height:1.5;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3}.oc-activity-rail .oc-human-gate-details,.oc-activity-rail .oc-artifact-details{margin:10px 0}.oc-activity-rail .oc-human-gate-details>div,.oc-activity-rail .oc-artifact-details>pre,.oc-activity-rail .oc-artifact-details>iframe{margin:0;padding:9px 10px;border-top:1px solid var(--hairline)}.oc-activity-rail .oc-artifact-details iframe{width:100%;min-height:220px;border:0}.oc-activity-rail .oc-human-gate-card footer,.oc-activity-rail .oc-artifact-card footer{display:flex;justify-content:flex-start;gap:6px;margin-top:10px;padding-top:10px}@media(max-width:1099px){.oc-activity-rail.is-sheet .oc-activity-list{padding-bottom:max(14px,env(safe-area-inset-bottom))}}@media(prefers-reduced-motion:reduce){.oc-activity-rail,.oc-semantic-activity,.oc-activity-card-wrap{animation:none!important;transition:none!important;scroll-behavior:auto}}@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(/fonts/katex/KaTeX_AMS-Regular.woff2) format("woff2"),url(/fonts/katex/KaTeX_AMS-Regular.woff) format("woff"),url(/fonts/katex/KaTeX_AMS-Regular.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(/fonts/katex/KaTeX_Caligraphic-Bold.woff2) format("woff2"),url(/fonts/katex/KaTeX_Caligraphic-Bold.woff) format("woff"),url(/fonts/katex/KaTeX_Caligraphic-Bold.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(/fonts/katex/KaTeX_Caligraphic-Regular.woff2) format("woff2"),url(/fonts/katex/KaTeX_Caligraphic-Regular.woff) format("woff"),url(/fonts/katex/KaTeX_Caligraphic-Regular.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(/fonts/katex/KaTeX_Fraktur-Bold.woff2) format("woff2"),url(/fonts/katex/KaTeX_Fraktur-Bold.woff) format("woff"),url(/fonts/katex/KaTeX_Fraktur-Bold.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(/fonts/katex/KaTeX_Fraktur-Regular.woff2) format("woff2"),url(/fonts/katex/KaTeX_Fraktur-Regular.woff) format("woff"),url(/fonts/katex/KaTeX_Fraktur-Regular.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(/fonts/katex/KaTeX_Main-Bold.woff2) format("woff2"),url(/fonts/katex/KaTeX_Main-Bold.woff) format("woff"),url(/fonts/katex/KaTeX_Main-Bold.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(/fonts/katex/KaTeX_Main-BoldItalic.woff2) format("woff2"),url(/fonts/katex/KaTeX_Main-BoldItalic.woff) format("woff"),url(/fonts/katex/KaTeX_Main-BoldItalic.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(/fonts/katex/KaTeX_Main-Italic.woff2) format("woff2"),url(/fonts/katex/KaTeX_Main-Italic.woff) format("woff"),url(/fonts/katex/KaTeX_Main-Italic.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(/fonts/katex/KaTeX_Main-Regular.woff2) format("woff2"),url(/fonts/katex/KaTeX_Main-Regular.woff) format("woff"),url(/fonts/katex/KaTeX_Main-Regular.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(/fonts/katex/KaTeX_Math-BoldItalic.woff2) format("woff2"),url(/fonts/katex/KaTeX_Math-BoldItalic.woff) format("woff"),url(/fonts/katex/KaTeX_Math-BoldItalic.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(/fonts/katex/KaTeX_Math-Italic.woff2) format("woff2"),url(/fonts/katex/KaTeX_Math-Italic.woff) format("woff"),url(/fonts/katex/KaTeX_Math-Italic.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:700;src:url(/fonts/katex/KaTeX_SansSerif-Bold.woff2) format("woff2"),url(/fonts/katex/KaTeX_SansSerif-Bold.woff) format("woff"),url(/fonts/katex/KaTeX_SansSerif-Bold.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:italic;font-weight:400;src:url(/fonts/katex/KaTeX_SansSerif-Italic.woff2) format("woff2"),url(/fonts/katex/KaTeX_SansSerif-Italic.woff) format("woff"),url(/fonts/katex/KaTeX_SansSerif-Italic.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:400;src:url(/fonts/katex/KaTeX_SansSerif-Regular.woff2) format("woff2"),url(/fonts/katex/KaTeX_SansSerif-Regular.woff) format("woff"),url(/fonts/katex/KaTeX_SansSerif-Regular.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(/fonts/katex/KaTeX_Script-Regular.woff2) format("woff2"),url(/fonts/katex/KaTeX_Script-Regular.woff) format("woff"),url(/fonts/katex/KaTeX_Script-Regular.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(/fonts/katex/KaTeX_Size1-Regular.woff2) format("woff2"),url(/fonts/katex/KaTeX_Size1-Regular.woff) format("woff"),url(/fonts/katex/KaTeX_Size1-Regular.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(/fonts/katex/KaTeX_Size2-Regular.woff2) format("woff2"),url(/fonts/katex/KaTeX_Size2-Regular.woff) format("woff"),url(/fonts/katex/KaTeX_Size2-Regular.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(/fonts/katex/KaTeX_Size3-Regular.woff2) format("woff2"),url(/fonts/katex/KaTeX_Size3-Regular.woff) format("woff"),url(/fonts/katex/KaTeX_Size3-Regular.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(/fonts/katex/KaTeX_Size4-Regular.woff2) format("woff2"),url(/fonts/katex/KaTeX_Size4-Regular.woff) format("woff"),url(/fonts/katex/KaTeX_Size4-Regular.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(/fonts/katex/KaTeX_Typewriter-Regular.woff2) format("woff2"),url(/fonts/katex/KaTeX_Typewriter-Regular.woff) format("woff"),url(/fonts/katex/KaTeX_Typewriter-Regular.ttf) format("truetype")}.katex{font: 1.21em KaTeX_Main,Times New Roman,serif;line-height:1.2;position:relative;text-indent:0;text-rendering:auto}.katex *{-ms-high-contrast-adjust:none!important;border-color:currentColor}.katex .katex-version:after{content:"0.16.47"}.katex .katex-mathml{border:0;-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.katex .katex-html>.newline{display:block}.katex .base{position:relative;white-space:nowrap;width:-webkit-min-content;width:-moz-min-content;width:min-content}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;display:inline-table;table-layout:fixed}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;position:relative;vertical-align:bottom}.katex .vlist>span{display:block;height:0;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;font-size:1px;min-width:2px;vertical-align:bottom;width:2px}.katex .vbox{align-items:baseline;display:inline-flex;flex-direction:column}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{display:inline-flex;flex-direction:row}.katex .thinbox{max-width:0;width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .smash{display:inline;line-height:0}.katex .clap,.katex .llap,.katex .rlap{position:relative;width:0}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{border:0 solid;display:inline-block;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline{border-bottom-style:dashed;display:inline-block;width:100%}.katex .sqrt>.root{margin-left:.2777777778em;margin-right:-.5555555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.1666666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.6666666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.4566666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.1466666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.7142857143em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.8571428571em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.1428571429em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.2857142857em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.4285714286em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.7142857143em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.0571428571em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.4685714286em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.9628571429em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.5542857143em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.7777777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.8888888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.1111111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.3044444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.7644444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.5833333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.7283333333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.0733333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.4861111111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.4402777778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.7277777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.2893518519em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.4050925926em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.462962963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.5208333333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.5787037037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.2002314815em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.4398148148em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.2410800386em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.2892960463em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.337512054em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.3857280617em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.4339440694em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.4821600771em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.5785920926em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.6943105111em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.8331726133em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.1996142719em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.2009646302em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.2411575563em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.2813504823em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.3215434084em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.3617363344em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.4019292605em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.4823151125em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.578778135em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.6945337621em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.8336012862em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{display:inline-block;width:.12em}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{display:inline-block;min-width:1px}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;display:block;height:inherit;position:absolute;width:100%}.katex svg path{stroke:none}.katex svg{fill-rule:nonzero;fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1}.katex img{border-style:none;max-height:none;max-width:none;min-height:0;min-width:0}.katex .stretchy{display:block;overflow:hidden;position:relative;width:100%}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{overflow:hidden;position:relative;width:100%}.katex .halfarrow-left{left:0;overflow:hidden;position:absolute;width:50.2%}.katex .halfarrow-right{overflow:hidden;position:absolute;right:0;width:50.2%}.katex .brace-left{left:0;overflow:hidden;position:absolute;width:25.1%}.katex .brace-center{left:25%;overflow:hidden;position:absolute;width:50%}.katex .brace-right{overflow:hidden;position:absolute;right:0;width:25.1%}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{border:.04em solid;box-sizing:border-box}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{border-right:.049em solid;border-top:.049em solid;box-sizing:border-box;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{display:inline-block;position:absolute;right:calc(50% + .3em);text-align:left}.katex .cd-label-right{display:inline-block;left:calc(50% + .3em);position:absolute;text-align:right}.katex-display{display:block;margin:1em 0;text-align:center}.katex-display>.katex{display:block;text-align:center;white-space:nowrap}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{padding-left:2em;text-align:left}body{counter-reset:katexEqnNo mmlEqnNo}pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{color:#24292e;background:#fff}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#d73a49}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#6f42c1}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id,.hljs-variable{color:#005cc5}.hljs-meta .hljs-string,.hljs-regexp,.hljs-string{color:#032f62}.hljs-built_in,.hljs-symbol{color:#e36209}.hljs-code,.hljs-comment,.hljs-formula{color:#6a737d}.hljs-name,.hljs-quote,.hljs-selector-pseudo,.hljs-selector-tag{color:#22863a}.hljs-subst{color:#24292e}.hljs-section{color:#005cc5;font-weight:700}.hljs-bullet{color:#735c0f}.hljs-emphasis{color:#24292e;font-style:italic}.hljs-strong{color:#24292e;font-weight:700}.hljs-addition{color:#22863a;background-color:#f0fff4}.hljs-deletion{color:#b31d28;background-color:#ffeef0}.oc-mermaid{margin:6px 0;padding:10px;border:1px solid var(--hairline);border-radius:var(--radius-md);background:var(--surface);overflow-x:auto;text-align:center}.oc-mermaid svg{max-width:100%;height:auto}.oc-codeblock pre code.hljs{background:transparent;padding:0}
@@ -1 +0,0 @@
1
- import{s as r,b as e,a,S as s}from"./chunk-5RXB4S5H-DnaZWcL3.js";import{_ as i}from"./mermaid.core-D7Occzk_.js";import"./chunk-XXDRQBXY-BTYuvuWN.js";import"./chunk-KBJHAD2P-Br3ir6f2.js";import"./chunk-2GRJ4B5K-D_Bq2ZqK.js";import"./index-BXN89VPX.js";var u={parser:a,get db(){return new s(2)},renderer:e,styles:r,init:i(t=>{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute},"init")};export{u as diagram};
@@ -1,8 +0,0 @@
1
- import{c as r,s as e}from"./flowDiagram-UKHOOZJN-C2kkUYg5.js";import{_ as a}from"./mermaid.core-D7Occzk_.js";import"./chunk-5VM5RSS4-BRTmFgnq.js";import"./chunk-XXDRQBXY-BTYuvuWN.js";import"./chunk-KBJHAD2P-Br3ir6f2.js";import"./chunk-2GRJ4B5K-D_Bq2ZqK.js";import"./channel-R6oQIDkw.js";import"./index-BXN89VPX.js";var o=a(t=>`${e(t)}
2
- .swimlane.cluster rect {
3
- stroke: ${t.clusterBorder} !important;
4
- }
5
- [data-look="neo"].cluster rect {
6
- filter: none;
7
- }
8
- `,"getStyles"),s=o,n=r({defaultLayout:"swimlane",styles:s});export{n as diagram};