@wrongstack/webui 0.319.1 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (207) hide show
  1. package/dist/assets/AgentRosterView-B_J6SvVF.js +12 -0
  2. package/dist/assets/AnalyticsDashboard-BgZiiiDb.js +1 -0
  3. package/dist/assets/AudienceMemoryPanel-CPuksIMN.js +3 -0
  4. package/dist/assets/ChangesView-CmZeNwbw.js +1 -0
  5. package/dist/assets/ChimeraReviewsView-CpfSkgQ2.js +1 -0
  6. package/dist/assets/ChronicleDashboard-B6lhZGjz.js +1 -0
  7. package/dist/assets/CodeEditor-Daz1yqjF.js +2 -0
  8. package/dist/assets/CodeMap-D-H9FNUJ.js +1 -0
  9. package/dist/assets/ConfirmModal-CjsZbvo3.js +1 -0
  10. package/dist/assets/CronJobsPanel-DGKW_zwc.js +1 -0
  11. package/dist/assets/{DeadCodeScanPanel-DooqnEMF.js → DeadCodeScanPanel-Cn5bSfLv.js} +1 -1
  12. package/dist/assets/DebugDashboard-Uh9QLbEk.js +1 -0
  13. package/dist/assets/DesignGalleryView-Da1QtI5b.js +1 -0
  14. package/dist/assets/GoalView-BgVxzzzS.js +1 -0
  15. package/dist/assets/KanbanView-_JvZKFyI.js +3 -0
  16. package/dist/assets/MailboxDetailView-26bVSSbU.js +1 -0
  17. package/dist/assets/MemoryDrawer-C5sEdVvj.js +1 -0
  18. package/dist/assets/MemoryManager-BqWzNt8w.js +1 -0
  19. package/dist/assets/ModelPicker-DqRzzv5J.js +1 -0
  20. package/dist/assets/ProcessMonitor-ygFLD5zk.js +1 -0
  21. package/dist/assets/PromptJournalView-B65KxlYi.js +1 -0
  22. package/dist/assets/QueuePanel-CJlIV0pX.js +1 -0
  23. package/dist/assets/RefreshDebugView-CNovrSAn.js +1 -0
  24. package/dist/assets/RequirementIntakeView-BnrQSVE_.js +1 -0
  25. package/dist/assets/SageTabs-CJqOqiY7.js +2 -0
  26. package/dist/assets/SddFlowGraph-CNOyn5N9.js +1 -0
  27. package/dist/assets/SddHub-mFjsa_Zl.js +2 -0
  28. package/dist/assets/SessionInspectView-MEmxIEzB.js +1 -0
  29. package/dist/assets/SessionList-DmcQJmzw.js +1 -0
  30. package/dist/assets/SessionsDashboard-BCYViJlx.js +1 -0
  31. package/dist/assets/SetupScreen-BwnSJt7v.js +1 -0
  32. package/dist/assets/SkillDetailView-ebz2dRUQ.js +3 -0
  33. package/dist/assets/TechStackView-DESDpUDA.js +2 -0
  34. package/dist/assets/TerminalPanel-BiWnldbB.js +1 -0
  35. package/dist/assets/{activity-C7dkJqBU.js → activity-87Kr1xrI.js} +2 -2
  36. package/dist/assets/{activity-D1rp3dH9.js → activity-CCW2-qSA.js} +2 -2
  37. package/dist/assets/activity-CXLMCm4J.js +10 -0
  38. package/dist/assets/{activity-BU6MNvBJ.js → activity-CmzV075e.js} +2 -2
  39. package/dist/assets/{activity-C_18AaRY.js → activity-D2D6_ljD.js} +2 -2
  40. package/dist/assets/{activity-CpnSsE22.js → activity-Dt348P4m.js} +2 -2
  41. package/dist/assets/{activity-hTPcI4q1.js → activity-FxWZooaS.js} +2 -2
  42. package/dist/assets/button-rqi3MczV.js +1 -0
  43. package/dist/assets/chat-store-BcfvHUUj.js +1 -0
  44. package/dist/assets/{codemap-activity-store-Br4b57a0.js → codemap-activity-store-CWi-Yd9Z.js} +1 -1
  45. package/dist/assets/codemap-index-store-3M7F08K_.js +1 -0
  46. package/dist/assets/dialog-xJxaQi60.js +1 -0
  47. package/dist/assets/empty-state-BxilAuC3.js +1 -0
  48. package/dist/assets/i18n-DBqM1FUM.js +2 -0
  49. package/dist/assets/index-TDhvFXb0.js +144 -0
  50. package/dist/assets/input-ClZR-odw.js +1 -0
  51. package/dist/assets/{mailbox-store-B9DIvRgo.js → mailbox-store-yydAVjyj.js} +1 -1
  52. package/dist/assets/{markdown-Kp5uSgOw.js → markdown-BP6Z3HKc.js} +24 -24
  53. package/dist/assets/{monaco-BCqJp2xW.js → monaco-_kWjHrlo.js} +204 -204
  54. package/dist/assets/{monaco-theme-CR1QvFi2.js → monaco-theme-Dmx6JuoU.js} +1 -1
  55. package/dist/assets/react-core-BNmTiJ-I.js +9 -0
  56. package/dist/assets/{roster-ws-BQUI8QuW.js → roster-ws-n_N7K9tX.js} +1 -1
  57. package/dist/assets/{settings-BGvRM3vJ.js → settings-B1vpPbTt.js} +1 -1
  58. package/dist/assets/{settings-D-LlBmzO.js → settings-BZnHCnGT.js} +1 -1
  59. package/dist/assets/{settings-1o1gooaL.js → settings-BcB2BIE2.js} +1 -1
  60. package/dist/assets/{settings-Cy_xp4Jt.js → settings-D9AQ5wLT2.js} +1 -1
  61. package/dist/assets/{settings-BV8EFmpH.js → settings-DiVpBZQ2.js} +1 -1
  62. package/dist/assets/{settings-nWMBX3xS.js → settings-DwbEJvxt.js} +1 -1
  63. package/dist/assets/settings-WuyKla3E.js +1 -0
  64. package/dist/assets/setup-B-xPcuTH.js +1 -0
  65. package/dist/assets/setup-B9oerXTs.js +1 -0
  66. package/dist/assets/setup-BWlr07i_.js +1 -0
  67. package/dist/assets/setup-CQ4-lz5u.js +1 -0
  68. package/dist/assets/setup-Cmq_aIjv.js +1 -0
  69. package/dist/assets/setup-DK5JTuqw.js +1 -0
  70. package/dist/assets/setup-qooXjj4V.js +1 -0
  71. package/dist/assets/shared-D8dubdNH.js +1 -0
  72. package/dist/assets/stores-Cfei1ViB.js +7 -0
  73. package/dist/assets/ui-store-CLXDcLPI.js +1 -0
  74. package/dist/assets/useWebSocket-AYEcpb1U.js +27 -0
  75. package/dist/assets/{utils-DQ9Exx8j.js → utils-BpBOwXlT.js} +1 -1
  76. package/dist/assets/vector-memory-panel-BwPPCCbh.js +1 -0
  77. package/dist/assets/{vendor-BMdWcCR4.css → vendor-BShi5_Dg.css} +1 -1
  78. package/dist/assets/vendor-BshlG0z-.js +125 -0
  79. package/dist/assets/view-navigation-CvWJeGMc.js +1 -0
  80. package/dist/assets/vite-preload-Czpn1I53.js +1 -0
  81. package/dist/assets/ws-client-C_IqS0t4.js +22 -0
  82. package/dist/assets/xyflow-BNn76cbK.js +7 -0
  83. package/dist/assets/xyflow-DLioOiRN.css +1 -0
  84. package/dist/components/AgentOfficeView/AgentLane.d.ts +10 -0
  85. package/dist/components/AgentOfficeView/BreakRoom.d.ts +10 -0
  86. package/dist/components/AgentOfficeView/ClientOfficeHeader.d.ts +6 -0
  87. package/dist/components/AgentOfficeView/OfficeBriefing.d.ts +8 -0
  88. package/dist/components/AgentOfficeView/parcels.d.ts +27 -0
  89. package/dist/components/AgentOfficeView.d.ts +2 -10
  90. package/dist/components/ChatInput/chat-input-bars.d.ts +30 -0
  91. package/dist/components/ChatInput/session-draft.d.ts +46 -0
  92. package/dist/components/ChatInput/use-chat-keydown.d.ts +21 -0
  93. package/dist/components/ChatInput/use-chat-submit.d.ts +40 -0
  94. package/dist/components/ChatInput/use-paste-drop.d.ts +1 -1
  95. package/dist/components/ChatInput.d.ts +3 -3
  96. package/dist/components/FileActivityDrawer/ContextTab.d.ts +21 -0
  97. package/dist/components/FileActivityDrawer/LogsTab.d.ts +13 -0
  98. package/dist/components/FileActivityDrawer/OverviewTab.d.ts +14 -0
  99. package/dist/components/FileActivityDrawer/SkeletonTab.d.ts +5 -0
  100. package/dist/components/FileActivityDrawer/types.d.ts +58 -0
  101. package/dist/components/FileActivityDrawer.d.ts +1 -40
  102. package/dist/components/MainViewSlot.d.ts +16 -0
  103. package/dist/components/MemoryManager/DeleteMemoryDialog.d.ts +3 -2
  104. package/dist/components/SettingsPanel/brain-section-options.d.ts +6 -0
  105. package/dist/components/ViewRouter.d.ts +12 -4
  106. package/dist/components/view-registry.d.ts +73 -0
  107. package/dist/hooks/useServerMessage.d.ts +71 -0
  108. package/dist/hooks/ws-handlers/session-context-handlers.d.ts +20 -0
  109. package/dist/index.css +788 -788
  110. package/dist/index.html +25 -25
  111. package/dist/index.js +81157 -80161
  112. package/dist/lib/platform.d.ts +40 -0
  113. package/dist/lib/view-navigation.d.ts +27 -2
  114. package/dist/lib/ws-client-auth.d.ts +17 -0
  115. package/dist/lib/ws-client-connection.d.ts +26 -0
  116. package/dist/lib/ws-client-contracts.d.ts +10 -0
  117. package/dist/lib/ws-client-echo.d.ts +46 -0
  118. package/dist/lib/ws-client-queue.d.ts +18 -0
  119. package/dist/lib/ws-client-session-methods.d.ts +54 -0
  120. package/dist/lib/ws-client-swap.d.ts +53 -0
  121. package/dist/lib/ws-client.d.ts +40 -71
  122. package/dist/stores/context-editor-store.d.ts +1 -1
  123. package/dist/stores/council-log-store.d.ts +6 -0
  124. package/dist/stores/session-tab-store.d.ts +8 -0
  125. package/dist/stores/types.d.ts +10 -1
  126. package/dist/stores/ui-store-chrome.d.ts +12 -0
  127. package/dist/stores/ui-store-persist.d.ts +4 -0
  128. package/dist/stores/ui-store-types.d.ts +379 -0
  129. package/dist/stores/ui-store.d.ts +7 -467
  130. package/dist/stores/viz-graph-helpers.d.ts +18 -0
  131. package/dist/stores/viz-pipeline.d.ts +7 -0
  132. package/dist/stores/viz-store.d.ts +3 -123
  133. package/dist/stores/viz-types.d.ts +124 -0
  134. package/dist/types/brain.d.ts +3 -0
  135. package/dist/types/client-message.d.ts +8 -0
  136. package/dist/types/runtime.d.ts +7 -0
  137. package/dist/types/sage.d.ts +7 -0
  138. package/dist/types/server-message-chimera.d.ts +161 -0
  139. package/dist/types/server-message-files.d.ts +195 -0
  140. package/dist/types/server-message-fleet.d.ts +148 -0
  141. package/dist/types/server-message-mcp.d.ts +199 -0
  142. package/dist/types/server-message-system.d.ts +399 -0
  143. package/dist/types/server-message.d.ts +12 -1098
  144. package/dist/types/skills-design.d.ts +7 -0
  145. package/dist/types/system.d.ts +16 -0
  146. package/package.json +9 -9
  147. package/dist/assets/AgentRosterView-VIctzKMy.js +0 -9
  148. package/dist/assets/AnalyticsDashboard-Dr67MeEY.js +0 -1
  149. package/dist/assets/AudienceMemoryPanel-DoaZfrjf.js +0 -3
  150. package/dist/assets/ChangesView-s7Mn7iE2.js +0 -1
  151. package/dist/assets/ChimeraReviewsView-Cverzv0b.js +0 -1
  152. package/dist/assets/ChronicleDashboard-CzqPfaPc.js +0 -1
  153. package/dist/assets/CodeEditor-DXQoTSH5.js +0 -2
  154. package/dist/assets/CodeMap-D34FOPgR.js +0 -1
  155. package/dist/assets/ConfirmModal-B6BGiiN8.js +0 -1
  156. package/dist/assets/CronJobsPanel-CenxuaN9.js +0 -1
  157. package/dist/assets/DebugDashboard-DWaUg6e1.js +0 -1
  158. package/dist/assets/DesignGalleryView-BKtjn4px.js +0 -1
  159. package/dist/assets/GoalView-BZ62_vF-.js +0 -1
  160. package/dist/assets/KanbanView-DsWnTpxr.js +0 -3
  161. package/dist/assets/MailboxDetailView-DS1P9DRT.js +0 -1
  162. package/dist/assets/MemoryDrawer-BJEY1v4P.js +0 -1
  163. package/dist/assets/MemoryManager-D-kuyTQe.js +0 -1
  164. package/dist/assets/ModelPicker-CLs0qQgg.js +0 -1
  165. package/dist/assets/OfficeMapPanel-BqoCcniD.js +0 -4
  166. package/dist/assets/ProcessMonitor-CHNNqCk9.js +0 -1
  167. package/dist/assets/PromptJournalView-Biu4DknM.js +0 -1
  168. package/dist/assets/QueuePanel-CzTXq6j4.js +0 -1
  169. package/dist/assets/RefreshDebugView-d9iU3sFX.js +0 -1
  170. package/dist/assets/RequirementIntakeView-BVyF2zXR.js +0 -1
  171. package/dist/assets/SageTabs-YASyEFo6.js +0 -2
  172. package/dist/assets/SddFlowGraph-Bj_Aqq5B.js +0 -1
  173. package/dist/assets/SddHub-rmGGEYZe.js +0 -2
  174. package/dist/assets/SessionInspectView-iaKkGAAM.js +0 -1
  175. package/dist/assets/SessionList-vmAS2Fg5.js +0 -1
  176. package/dist/assets/SessionsDashboard-x3iyhrGl.js +0 -1
  177. package/dist/assets/SetupScreen-huPJT0Bv.js +0 -1
  178. package/dist/assets/SkillDetailView-BcD9z7zG.js +0 -3
  179. package/dist/assets/SpecsView-ok8HZ8ws.js +0 -1
  180. package/dist/assets/TechStackView-DmMtwb4l.js +0 -2
  181. package/dist/assets/TerminalPanel-cbM6oQWQ.js +0 -1
  182. package/dist/assets/activity-CtTKsSX6.js +0 -10
  183. package/dist/assets/button-DNyYztcH.js +0 -1
  184. package/dist/assets/chat-store-oW_-zcJP.js +0 -1
  185. package/dist/assets/codemap-index-store-tSmlp7Uz.js +0 -1
  186. package/dist/assets/dialog-BTHxOi5z.js +0 -1
  187. package/dist/assets/empty-state-DBQN80mK.js +0 -1
  188. package/dist/assets/i18n-D06uU1PM.js +0 -2
  189. package/dist/assets/index-BQ7PJ-sA.js +0 -144
  190. package/dist/assets/input-CTGeYzNe.js +0 -1
  191. package/dist/assets/settings-Ci_RMpCQ.js +0 -1
  192. package/dist/assets/setup-B0D9CK3-.js +0 -1
  193. package/dist/assets/setup-B58YVaGU.js +0 -1
  194. package/dist/assets/setup-C2H9Uv0Q.js +0 -1
  195. package/dist/assets/setup-CzM4dkkU.js +0 -1
  196. package/dist/assets/setup-Di56FlHP.js +0 -1
  197. package/dist/assets/setup-Dwt58Mpz.js +0 -1
  198. package/dist/assets/setup-DznVdlJy.js +0 -1
  199. package/dist/assets/shared-CLfD85oZ.js +0 -1
  200. package/dist/assets/stores-C7Vvce-6.js +0 -7
  201. package/dist/assets/ui-store-Dm7ujR9u.js +0 -1
  202. package/dist/assets/useWebSocket-9lfOsI_r.js +0 -27
  203. package/dist/assets/vector-memory-panel-B4bQhdHe.js +0 -1
  204. package/dist/assets/vendor-enc0q-Va.js +0 -139
  205. package/dist/assets/view-navigation-wOKaM_Rf.js +0 -1
  206. package/dist/assets/ws-client-DtTZLD8e.js +0 -22
  207. /package/dist/assets/{OfficeMapPanel-Ce7myLNH.css → AgentRosterView-Ce7myLNH.css} +0 -0
package/dist/index.css CHANGED
@@ -1,368 +1,3 @@
1
- /* src/components/MessageBubble/ledger.css */
2
- .ws-ledger {
3
- position: relative;
4
- background: hsl(var(--card) / 0.4);
5
- border-left-width: 2px;
6
- border-left-style: solid;
7
- }
8
- .ws-ledger--ok {
9
- border-left-color: hsl(var(--success) / 0.75);
10
- }
11
- .ws-ledger--error {
12
- border-left-color: hsl(var(--destructive) / 0.85);
13
- background: hsl(var(--destructive) / 0.04);
14
- }
15
- .ws-ledger--running {
16
- border-left-color: hsl(var(--warning) / 0.9);
17
- animation: wsRailPulse 1.8s ease-in-out infinite;
18
- }
19
- .ws-ledger--running::before {
20
- content: "";
21
- position: absolute;
22
- left: -2px;
23
- top: 0;
24
- width: 2px;
25
- height: 34%;
26
- background:
27
- linear-gradient(
28
- to bottom,
29
- transparent,
30
- hsl(var(--warning)),
31
- transparent);
32
- animation: wsRailSweep 1.9s ease-in-out infinite;
33
- pointer-events: none;
34
- }
35
- .ws-ledger__dot {
36
- width: 0.4rem;
37
- height: 0.4rem;
38
- flex-shrink: 0;
39
- border-radius: 9999px;
40
- background: currentColor;
41
- box-shadow: 0 0 6px -1px currentColor;
42
- }
43
- .ws-ledger__dot--running {
44
- animation: wsDotPulse 1.4s ease-in-out infinite;
45
- }
46
- .ws-reasoning {
47
- position: relative;
48
- border-left: 1px dashed hsl(var(--primary) / 0.35);
49
- padding-left: 0.75rem;
50
- }
51
- .ws-reasoning__mark {
52
- color: hsl(var(--primary));
53
- filter: drop-shadow(0 0 5px hsl(var(--primary) / 0.4));
54
- }
55
- @keyframes wsRailPulse {
56
- 0%, 100% {
57
- border-left-color: hsl(var(--warning) / 0.9);
58
- }
59
- 50% {
60
- border-left-color: hsl(var(--warning) / 0.4);
61
- }
62
- }
63
- @keyframes wsRailSweep {
64
- 0% {
65
- top: -34%;
66
- opacity: 0;
67
- }
68
- 25% {
69
- opacity: 1;
70
- }
71
- 75% {
72
- opacity: 1;
73
- }
74
- 100% {
75
- top: 100%;
76
- opacity: 0;
77
- }
78
- }
79
- @keyframes wsDotPulse {
80
- 0%, 100% {
81
- opacity: 1;
82
- transform: scale(1);
83
- }
84
- 50% {
85
- opacity: 0.45;
86
- transform: scale(0.82);
87
- }
88
- }
89
- @media (prefers-reduced-motion: reduce) {
90
- .ws-ledger--running,
91
- .ws-ledger--running::before,
92
- .ws-ledger__dot--running {
93
- animation: none;
94
- }
95
- .ws-ledger--running::before {
96
- display: none;
97
- }
98
- }
99
-
100
- /* src/components/ChatView/thinking-bubble.css */
101
- .thinking-bubble {
102
- --thinking-color: hsl(var(--primary));
103
- --thinking-glow: hsl(var(--primary) / 0.36);
104
- }
105
- .thinking-orb {
106
- position: relative;
107
- display: grid;
108
- width: 2rem;
109
- height: 2rem;
110
- place-items: center;
111
- color: var(--thinking-color);
112
- border-radius: 9999px;
113
- background:
114
- radial-gradient(
115
- circle at 35% 30%,
116
- hsl(var(--primary) / 0.24),
117
- transparent 42%),
118
- hsl(var(--primary) / 0.08);
119
- box-shadow:
120
- 0 0 0 2px hsl(var(--background)),
121
- 0 0 0 3px hsl(var(--primary) / 0.18),
122
- 0 0 22px -6px var(--thinking-glow);
123
- overflow: hidden;
124
- }
125
- .thinking-orb::before {
126
- content: "";
127
- position: absolute;
128
- inset: -45%;
129
- background:
130
- conic-gradient(
131
- from 90deg,
132
- transparent 0 22%,
133
- var(--thinking-glow) 34%,
134
- transparent 48% 100%);
135
- animation: thinkingOrbit 2.4s linear infinite;
136
- }
137
- .thinking-orb::after {
138
- content: "";
139
- position: absolute;
140
- inset: 3px;
141
- border-radius: inherit;
142
- background: hsl(var(--background) / 0.82);
143
- }
144
- .thinking-orb__icon {
145
- position: relative;
146
- z-index: 2;
147
- animation: thinkingBrain 1.8s ease-in-out infinite;
148
- filter: drop-shadow(0 0 6px var(--thinking-glow));
149
- }
150
- .thinking-orb__ring {
151
- position: absolute;
152
- inset: -2px;
153
- z-index: 1;
154
- border-radius: inherit;
155
- border: 1px solid hsl(var(--primary) / 0.32);
156
- animation: thinkingRipple 2.2s ease-out infinite;
157
- }
158
- .thinking-orb__ring--delay {
159
- animation-delay: 1.1s;
160
- }
161
- .thinking-orb__spark {
162
- position: absolute;
163
- z-index: 3;
164
- width: 0.3rem;
165
- height: 0.3rem;
166
- border-radius: 9999px;
167
- background: currentColor;
168
- box-shadow: 0 0 10px 1px currentColor;
169
- opacity: 0.78;
170
- }
171
- .thinking-orb__spark--one {
172
- animation: thinkingSparkOne 2.8s ease-in-out infinite;
173
- }
174
- .thinking-orb__spark--two {
175
- animation: thinkingSparkTwo 3.2s ease-in-out infinite;
176
- }
177
- .thinking-label {
178
- display: inline-flex;
179
- align-items: center;
180
- gap: 0.35rem;
181
- letter-spacing: 0.02em;
182
- }
183
- .thinking-dots {
184
- display: inline-flex;
185
- gap: 0.18rem;
186
- align-items: center;
187
- }
188
- .thinking-dots span {
189
- width: 0.22rem;
190
- height: 0.22rem;
191
- border-radius: 9999px;
192
- background: currentColor;
193
- animation: thinkingDot 1.15s ease-in-out infinite;
194
- }
195
- .thinking-dots span:nth-child(2) {
196
- animation-delay: 0.16s;
197
- }
198
- .thinking-dots span:nth-child(3) {
199
- animation-delay: 0.32s;
200
- }
201
- .thinking-panel {
202
- position: relative;
203
- overflow: hidden;
204
- border-color: hsl(var(--primary) / 0.22);
205
- background:
206
- linear-gradient(
207
- 115deg,
208
- hsl(var(--primary) / 0.08),
209
- transparent 38%,
210
- hsl(var(--primary) / 0.05)),
211
- hsl(var(--card) / 0.48);
212
- box-shadow: inset 0 0 0 1px hsl(var(--primary) / 0.06);
213
- }
214
- .thinking-panel::before {
215
- content: "";
216
- position: absolute;
217
- inset: 0;
218
- transform: translateX(-120%);
219
- background:
220
- linear-gradient(
221
- 90deg,
222
- transparent,
223
- hsl(var(--primary) / 0.16),
224
- transparent);
225
- animation: thinkingScan 2.6s ease-in-out infinite;
226
- pointer-events: none;
227
- }
228
- .thinking-wave {
229
- position: relative;
230
- z-index: 1;
231
- display: flex;
232
- align-items: end;
233
- gap: 0.18rem;
234
- height: 0.6rem;
235
- margin-bottom: 0.25rem;
236
- color: var(--thinking-color);
237
- }
238
- .thinking-wave span {
239
- width: 0.18rem;
240
- min-height: 0.14rem;
241
- border-radius: 9999px;
242
- background: currentColor;
243
- opacity: 0.65;
244
- animation: thinkingWave 0.9s ease-in-out infinite;
245
- }
246
- .thinking-wave span:nth-child(2) {
247
- animation-delay: 0.08s;
248
- }
249
- .thinking-wave span:nth-child(3) {
250
- animation-delay: 0.16s;
251
- }
252
- .thinking-wave span:nth-child(4) {
253
- animation-delay: 0.24s;
254
- }
255
- .thinking-wave span:nth-child(5) {
256
- animation-delay: 0.32s;
257
- }
258
- .thinking-text {
259
- position: relative;
260
- z-index: 1;
261
- }
262
- @keyframes thinkingOrbit {
263
- to {
264
- transform: rotate(1turn);
265
- }
266
- }
267
- @keyframes thinkingBrain {
268
- 0%, 100% {
269
- transform: scale(1);
270
- opacity: 0.86;
271
- }
272
- 45% {
273
- transform: scale(1.12);
274
- opacity: 1;
275
- }
276
- }
277
- @keyframes thinkingRipple {
278
- 0% {
279
- transform: scale(0.82);
280
- opacity: 0.65;
281
- }
282
- 70%, 100% {
283
- transform: scale(1.45);
284
- opacity: 0;
285
- }
286
- }
287
- @keyframes thinkingSparkOne {
288
- 0%, 100% {
289
- transform: translate(-0.65rem, -0.55rem) scale(0.75);
290
- opacity: 0.35;
291
- }
292
- 45% {
293
- transform: translate(0.72rem, -0.2rem) scale(1);
294
- opacity: 0.95;
295
- }
296
- }
297
- @keyframes thinkingSparkTwo {
298
- 0%, 100% {
299
- transform: translate(0.55rem, 0.58rem) scale(0.7);
300
- opacity: 0.28;
301
- }
302
- 55% {
303
- transform: translate(-0.72rem, 0.12rem) scale(1.05);
304
- opacity: 0.9;
305
- }
306
- }
307
- @keyframes thinkingDot {
308
- 0%, 80%, 100% {
309
- transform: translateY(0);
310
- opacity: 0.35;
311
- }
312
- 40% {
313
- transform: translateY(-0.18rem);
314
- opacity: 1;
315
- }
316
- }
317
- @keyframes thinkingScan {
318
- 0% {
319
- transform: translateX(-120%);
320
- }
321
- 48%, 100% {
322
- transform: translateX(120%);
323
- }
324
- }
325
- @keyframes thinkingWave {
326
- 0%, 100% {
327
- height: 0.14rem;
328
- opacity: 0.38;
329
- }
330
- 45% {
331
- height: 0.58rem;
332
- opacity: 0.92;
333
- }
334
- }
335
- @media (prefers-reduced-motion: reduce) {
336
- .thinking-bubble,
337
- .thinking-bubble *,
338
- .thinking-orb,
339
- .thinking-orb::before,
340
- .thinking-orb::after,
341
- .thinking-orb__icon,
342
- .thinking-orb__ring,
343
- .thinking-orb__spark,
344
- .thinking-dots,
345
- .thinking-dots span,
346
- .thinking-panel,
347
- .thinking-panel::before,
348
- .thinking-wave,
349
- .thinking-wave span,
350
- .thinking-text {
351
- animation: none;
352
- animation-iteration-count: 1;
353
- animation-duration: 0s;
354
- animation-delay: 0s;
355
- transition: none;
356
- scroll-behavior: auto;
357
- }
358
- .thinking-orb__icon {
359
- filter: none;
360
- }
361
- .thinking-panel {
362
- transform: none;
363
- }
364
- }
365
-
366
1
  /* src/components/AgentOfficeView.css */
367
2
  .agent-office {
368
3
  --office-line: hsl(var(--border) / 0.72);
@@ -3094,552 +2729,917 @@ button.agent-office__parcel:hover {
3094
2729
  transform: translateX(0) rotate(0);
3095
2730
  }
3096
2731
  }
3097
- @keyframes agent-office-mail-out {
3098
- from {
3099
- opacity: 0;
3100
- transform: translateX(-42px) rotate(-3deg);
2732
+ @keyframes agent-office-mail-out {
2733
+ from {
2734
+ opacity: 0;
2735
+ transform: translateX(-42px) rotate(-3deg);
2736
+ }
2737
+ to {
2738
+ opacity: 1;
2739
+ transform: translateX(0) rotate(0);
2740
+ }
2741
+ }
2742
+ @keyframes agent-office-belt {
2743
+ to {
2744
+ background-position: 70px 0;
2745
+ }
2746
+ }
2747
+ @keyframes agent-office-brief-arrive {
2748
+ from {
2749
+ transform: skewX(-18deg) translateX(0);
2750
+ }
2751
+ to {
2752
+ transform: skewX(-18deg) translateX(617%);
2753
+ }
2754
+ }
2755
+ @keyframes agent-office-sync-line {
2756
+ to {
2757
+ background-position: -200% 0;
2758
+ }
2759
+ }
2760
+ @keyframes agent-office-telemetry-wait {
2761
+ 0%, 100% {
2762
+ opacity: 0.42;
2763
+ }
2764
+ 50% {
2765
+ opacity: 1;
2766
+ }
2767
+ }
2768
+ @keyframes agent-office-task-assigned {
2769
+ from {
2770
+ opacity: 0;
2771
+ transform: translateX(-12px) rotate(-1deg);
2772
+ }
2773
+ to {
2774
+ opacity: 1;
2775
+ transform: translateX(0) rotate(0);
2776
+ }
2777
+ }
2778
+ @keyframes agent-office-window-glow {
2779
+ from {
2780
+ opacity: 0.58;
2781
+ }
2782
+ to {
2783
+ opacity: 1;
2784
+ }
2785
+ }
2786
+ @keyframes agent-office-plant-sway {
2787
+ from {
2788
+ transform: rotate(calc(var(--plant-angle) - 3deg)) scale(var(--plant-scale));
2789
+ }
2790
+ to {
2791
+ transform: rotate(calc(var(--plant-angle) + 3deg)) scale(var(--plant-scale));
2792
+ }
2793
+ }
2794
+ @keyframes agent-office-monitor-scan {
2795
+ from {
2796
+ background-position: 0 -110%;
2797
+ }
2798
+ to {
2799
+ background-position: 0 110%;
2800
+ }
2801
+ }
2802
+ @keyframes agent-office-mug-steam {
2803
+ 0%, 18% {
2804
+ opacity: 0;
2805
+ transform: translateY(3px) translateX(0);
2806
+ }
2807
+ 42% {
2808
+ opacity: 0.55;
2809
+ }
2810
+ 78%, 100% {
2811
+ opacity: 0;
2812
+ transform: translateY(-6px) translateX(2px);
2813
+ }
2814
+ }
2815
+ @keyframes agent-office-blink {
2816
+ 0%, 44%, 48%, 100% {
2817
+ transform: scaleY(1);
2818
+ }
2819
+ 46% {
2820
+ transform: scaleY(0.12);
2821
+ }
2822
+ }
2823
+ @keyframes agent-office-terminal-bars {
2824
+ from {
2825
+ transform: scaleY(0.45);
2826
+ opacity: 0.42;
2827
+ }
2828
+ to {
2829
+ transform: scaleY(1.15);
2830
+ opacity: 1;
2831
+ }
2832
+ }
2833
+ @keyframes agent-office-lane-arrive {
2834
+ from {
2835
+ transform: translateY(8px) scale(0.992);
2836
+ opacity: 0;
2837
+ }
2838
+ to {
2839
+ transform: translateY(0) scale(1);
2840
+ opacity: 1;
2841
+ }
2842
+ }
2843
+ @keyframes agent-office-memory-pulse {
2844
+ 0%, 100% {
2845
+ transform: scale(0.72) rotate(0);
2846
+ opacity: 0.35;
2847
+ }
2848
+ 50% {
2849
+ transform: scale(1.08) rotate(8deg);
2850
+ opacity: 1;
2851
+ }
2852
+ }
2853
+ @keyframes agent-office-web-signal {
2854
+ 0% {
2855
+ transform: rotate(-38deg) scale(0.72);
2856
+ opacity: 0;
2857
+ }
2858
+ 45% {
2859
+ opacity: 0.82;
2860
+ }
2861
+ 100% {
2862
+ transform: rotate(-38deg) scale(1.08);
2863
+ opacity: 0;
2864
+ }
2865
+ }
2866
+ @keyframes agent-office-inspect {
2867
+ from {
2868
+ transform: translate(0, 0) rotate(-4deg);
2869
+ }
2870
+ to {
2871
+ transform: translate(13px, 3px) rotate(5deg);
2872
+ }
2873
+ }
2874
+ @keyframes agent-office-inspect-handle {
2875
+ from {
2876
+ transform: translate(0, 0) rotate(42deg);
2877
+ }
2878
+ to {
2879
+ transform: translate(13px, 3px) rotate(51deg);
2880
+ }
2881
+ }
2882
+ @keyframes agent-office-write-stroke {
2883
+ from {
2884
+ transform: translateX(-4px) rotate(-27deg);
2885
+ }
2886
+ to {
2887
+ transform: translateX(5px) rotate(-18deg);
2888
+ }
2889
+ }
2890
+ @keyframes agent-office-charm-blink {
2891
+ 0%, 45%, 49%, 100% {
2892
+ transform: scaleY(1);
2893
+ }
2894
+ 47% {
2895
+ transform: scaleY(0.12);
2896
+ }
2897
+ }
2898
+ @keyframes agent-office-charm-bob {
2899
+ 0%, 76%, 100% {
2900
+ transform: translateY(0) rotate(0);
2901
+ }
2902
+ 84%, 91% {
2903
+ transform: translateY(-2px) rotate(-5deg);
2904
+ }
2905
+ }
2906
+ @keyframes agent-office-yawn-head {
2907
+ 0%, 72%, 100% {
2908
+ transform: translateY(0) rotate(0);
2909
+ }
2910
+ 78%, 90% {
2911
+ transform: translateY(-2px) rotate(-7deg);
2912
+ }
2913
+ }
2914
+ @keyframes agent-office-yawn-mouth {
2915
+ 0%, 72%, 100% {
2916
+ transform: scaleY(1);
2917
+ }
2918
+ 80%, 88% {
2919
+ transform: scaleY(3.5);
2920
+ }
2921
+ }
2922
+ @keyframes agent-office-idle-stretch {
2923
+ 0%, 72%, 100% {
2924
+ transform: rotate(-11deg);
3101
2925
  }
3102
- to {
3103
- opacity: 1;
3104
- transform: translateX(0) rotate(0);
2926
+ 80%, 90% {
2927
+ transform: translate(2px, -7px) rotate(-34deg);
3105
2928
  }
3106
2929
  }
3107
- @keyframes agent-office-belt {
2930
+ @keyframes agent-office-type {
3108
2931
  to {
3109
- background-position: 70px 0;
2932
+ transform: rotate(-4deg) translateY(2px);
3110
2933
  }
3111
2934
  }
3112
- @keyframes agent-office-brief-arrive {
3113
- from {
3114
- transform: skewX(-18deg) translateX(0);
2935
+ @keyframes agent-office-nod {
2936
+ 0%, 70%, 100% {
2937
+ transform: rotate(0);
3115
2938
  }
3116
- to {
3117
- transform: skewX(-18deg) translateX(617%);
2939
+ 82% {
2940
+ transform: rotate(3deg);
3118
2941
  }
3119
2942
  }
3120
- @keyframes agent-office-sync-line {
2943
+ @keyframes agent-office-ring {
2944
+ from {
2945
+ transform: scale(0.82);
2946
+ opacity: 0.42;
2947
+ }
3121
2948
  to {
3122
- background-position: -200% 0;
2949
+ transform: scale(1.18);
2950
+ opacity: 0;
3123
2951
  }
3124
2952
  }
3125
- @keyframes agent-office-telemetry-wait {
2953
+ @keyframes agent-office-pulse {
3126
2954
  0%, 100% {
3127
- opacity: 0.42;
2955
+ opacity: 0.55;
2956
+ transform: scale(0.8);
3128
2957
  }
3129
2958
  50% {
3130
2959
  opacity: 1;
2960
+ transform: scale(1);
3131
2961
  }
3132
2962
  }
3133
- @keyframes agent-office-task-assigned {
2963
+ @keyframes agent-office-drawer {
3134
2964
  from {
3135
- opacity: 0;
3136
- transform: translateX(-12px) rotate(-1deg);
2965
+ transform: translateX(35px);
2966
+ opacity: 0.5;
3137
2967
  }
3138
2968
  to {
2969
+ transform: translateX(0);
3139
2970
  opacity: 1;
3140
- transform: translateX(0) rotate(0);
3141
2971
  }
3142
2972
  }
3143
- @keyframes agent-office-window-glow {
3144
- from {
3145
- opacity: 0.58;
2973
+ .agent-office__model-chip {
2974
+ display: inline-flex;
2975
+ max-width: 100%;
2976
+ align-items: center;
2977
+ padding: 1px 7px;
2978
+ border: 1px solid hsl(var(--primary) / 0.3);
2979
+ border-radius: 999px;
2980
+ background: hsl(var(--primary) / 0.08);
2981
+ color: hsl(var(--primary));
2982
+ font: 600 9px / 1.5 var(--font-mono);
2983
+ letter-spacing: 0.02em;
2984
+ overflow: hidden;
2985
+ text-overflow: ellipsis;
2986
+ white-space: nowrap;
2987
+ }
2988
+ .agent-office__client-desks {
2989
+ position: relative;
2990
+ }
2991
+ .agent-office__mail-routes {
2992
+ position: absolute;
2993
+ z-index: 6;
2994
+ top: 9px;
2995
+ bottom: 1px;
2996
+ left: 206px;
2997
+ width: 44px;
2998
+ pointer-events: none;
2999
+ }
3000
+ .agent-office__mail-route {
3001
+ position: absolute;
3002
+ inset: 0;
3003
+ }
3004
+ .agent-office__mail-route-parcel {
3005
+ position: absolute;
3006
+ top: var(--from);
3007
+ left: 0;
3008
+ display: grid;
3009
+ width: 30px;
3010
+ height: 30px;
3011
+ place-items: center;
3012
+ border: 1px solid hsl(var(--info) / 0.55);
3013
+ border-radius: 9px;
3014
+ background: hsl(var(--card) / 0.94);
3015
+ box-shadow: 0 4px 14px hsl(var(--info) / 0.3), 0 0 0 3px hsl(var(--info) / 0.08);
3016
+ color: hsl(var(--info));
3017
+ animation: agent-office-mail-travel 3.8s ease-in-out infinite;
3018
+ }
3019
+ .agent-office__mail-route-parcel svg {
3020
+ width: 15px;
3021
+ height: 15px;
3022
+ }
3023
+ @keyframes agent-office-mail-travel {
3024
+ 0% {
3025
+ top: var(--from);
3026
+ opacity: 0;
3027
+ transform: translateY(-50%) scale(0.7);
3146
3028
  }
3147
- to {
3029
+ 12% {
3148
3030
  opacity: 1;
3031
+ transform: translateY(-50%) scale(1);
3149
3032
  }
3150
- }
3151
- @keyframes agent-office-plant-sway {
3152
- from {
3153
- transform: rotate(calc(var(--plant-angle) - 3deg)) scale(var(--plant-scale));
3033
+ 86% {
3034
+ opacity: 1;
3154
3035
  }
3155
- to {
3156
- transform: rotate(calc(var(--plant-angle) + 3deg)) scale(var(--plant-scale));
3036
+ 100% {
3037
+ top: var(--to);
3038
+ opacity: 0;
3039
+ transform: translateY(-50%) scale(0.7);
3157
3040
  }
3158
3041
  }
3159
- @keyframes agent-office-monitor-scan {
3160
- from {
3161
- background-position: 0 -110%;
3162
- }
3163
- to {
3164
- background-position: 0 110%;
3165
- }
3042
+ .agent-office__desks-empty {
3043
+ display: flex;
3044
+ align-items: center;
3045
+ gap: 8px;
3046
+ margin: 0 9px 9px;
3047
+ padding: 13px 14px;
3048
+ border: 1px dashed var(--office-line);
3049
+ border-radius: 12px;
3050
+ color: hsl(var(--muted-foreground));
3051
+ font: 500 10.5px / 1.4 var(--font-mono);
3052
+ }
3053
+ .agent-office__desks-empty svg {
3054
+ width: 14px;
3055
+ height: 14px;
3056
+ color: hsl(var(--warning));
3057
+ }
3058
+ .agent-office__lounge {
3059
+ margin: 2px 9px 10px;
3060
+ padding: 10px 12px 12px;
3061
+ border: 1px dashed hsl(var(--border));
3062
+ border-radius: 14px;
3063
+ background:
3064
+ linear-gradient(
3065
+ 160deg,
3066
+ hsl(var(--warning) / 0.05),
3067
+ transparent 62%),
3068
+ var(--office-panel);
3069
+ }
3070
+ .agent-office__lounge-heading {
3071
+ display: flex;
3072
+ align-items: center;
3073
+ gap: 8px;
3074
+ margin-bottom: 9px;
3075
+ color: hsl(var(--muted-foreground));
3076
+ font: 600 10px / 1 var(--font-mono);
3077
+ letter-spacing: 0.09em;
3078
+ text-transform: uppercase;
3079
+ }
3080
+ .agent-office__lounge-heading svg {
3081
+ width: 14px;
3082
+ height: 14px;
3083
+ color: hsl(var(--warning));
3084
+ }
3085
+ .agent-office__lounge-heading > span {
3086
+ margin-left: auto;
3087
+ font-weight: 500;
3088
+ letter-spacing: 0;
3089
+ text-transform: none;
3090
+ }
3091
+ .agent-office__lounge-seats {
3092
+ display: flex;
3093
+ flex-wrap: wrap;
3094
+ gap: 8px;
3095
+ }
3096
+ .agent-office__lounge-seat {
3097
+ display: flex;
3098
+ min-width: 190px;
3099
+ flex: 0 1 auto;
3100
+ align-items: center;
3101
+ gap: 9px;
3102
+ padding: 7px 10px;
3103
+ border: 1px solid var(--office-line);
3104
+ border-radius: 11px;
3105
+ background: hsl(var(--card) / 0.7);
3106
+ cursor: pointer;
3107
+ text-align: left;
3108
+ transition:
3109
+ border-color 160ms ease,
3110
+ box-shadow 160ms ease,
3111
+ transform 160ms ease;
3112
+ }
3113
+ .agent-office__lounge-seat:disabled {
3114
+ cursor: default;
3115
+ opacity: 0.72;
3116
+ }
3117
+ .agent-office__lounge-seat:not(:disabled):hover {
3118
+ border-color: hsl(var(--primary) / 0.4);
3119
+ box-shadow: 0 6px 16px hsl(var(--shadow-color) / 0.1);
3120
+ transform: translateY(-1px);
3121
+ }
3122
+ .agent-office__lounge-avatar {
3123
+ display: grid;
3124
+ width: 28px;
3125
+ height: 28px;
3126
+ flex: 0 0 auto;
3127
+ place-items: center;
3128
+ border: 1px solid hsl(var(--border));
3129
+ border-radius: 9px;
3130
+ background: hsl(var(--accent) / 0.5);
3131
+ color: hsl(var(--muted-foreground));
3132
+ }
3133
+ .agent-office__lounge-avatar svg {
3134
+ width: 14px;
3135
+ height: 14px;
3136
+ }
3137
+ .agent-office__lounge-seat.is-leader .agent-office__lounge-avatar {
3138
+ border-color: hsl(var(--primary) / 0.35);
3139
+ background: hsl(var(--primary) / 0.12);
3140
+ color: hsl(var(--primary));
3141
+ }
3142
+ .agent-office__lounge-seat.is-builder .agent-office__lounge-avatar {
3143
+ border-color: hsl(var(--info) / 0.35);
3144
+ background: hsl(var(--info) / 0.12);
3145
+ color: hsl(var(--info));
3146
+ }
3147
+ .agent-office__lounge-seat.is-researcher .agent-office__lounge-avatar {
3148
+ border-color: hsl(var(--success) / 0.35);
3149
+ background: hsl(var(--success) / 0.12);
3150
+ color: hsl(var(--success));
3151
+ }
3152
+ .agent-office__lounge-seat.is-reviewer .agent-office__lounge-avatar {
3153
+ border-color: hsl(var(--destructive) / 0.32);
3154
+ background: hsl(var(--destructive) / 0.1);
3155
+ color: hsl(var(--destructive));
3156
+ }
3157
+ .agent-office__lounge-seat.is-planner .agent-office__lounge-avatar {
3158
+ border-color: hsl(var(--warning) / 0.38);
3159
+ background: hsl(var(--warning) / 0.12);
3160
+ color: hsl(var(--warning));
3161
+ }
3162
+ .agent-office__lounge-seat.is-operator .agent-office__lounge-avatar {
3163
+ border-color: hsl(var(--muted-foreground) / 0.34);
3164
+ background: hsl(var(--muted-foreground) / 0.1);
3165
+ color: hsl(var(--muted-foreground));
3166
3166
  }
3167
- @keyframes agent-office-mug-steam {
3168
- 0%, 18% {
3169
- opacity: 0;
3170
- transform: translateY(3px) translateX(0);
3171
- }
3172
- 42% {
3173
- opacity: 0.55;
3174
- }
3175
- 78%, 100% {
3176
- opacity: 0;
3177
- transform: translateY(-6px) translateX(2px);
3178
- }
3167
+ .agent-office__lounge-copy {
3168
+ display: flex;
3169
+ min-width: 0;
3170
+ flex-direction: column;
3171
+ gap: 1px;
3179
3172
  }
3180
- @keyframes agent-office-blink {
3181
- 0%, 44%, 48%, 100% {
3182
- transform: scaleY(1);
3183
- }
3184
- 46% {
3185
- transform: scaleY(0.12);
3186
- }
3173
+ .agent-office__lounge-copy strong {
3174
+ overflow: hidden;
3175
+ color: hsl(var(--foreground));
3176
+ font-size: 11.5px;
3177
+ font-weight: 600;
3178
+ line-height: 1.25;
3179
+ text-overflow: ellipsis;
3180
+ white-space: nowrap;
3187
3181
  }
3188
- @keyframes agent-office-terminal-bars {
3189
- from {
3190
- transform: scaleY(0.45);
3191
- opacity: 0.42;
3192
- }
3193
- to {
3194
- transform: scaleY(1.15);
3195
- opacity: 1;
3196
- }
3182
+ .agent-office__lounge-copy small {
3183
+ overflow: hidden;
3184
+ color: hsl(var(--muted-foreground));
3185
+ font: 500 9px / 1.3 var(--font-mono);
3186
+ text-overflow: ellipsis;
3187
+ white-space: nowrap;
3197
3188
  }
3198
- @keyframes agent-office-lane-arrive {
3199
- from {
3200
- transform: translateY(8px) scale(0.992);
3201
- opacity: 0;
3202
- }
3203
- to {
3204
- transform: translateY(0) scale(1);
3205
- opacity: 1;
3206
- }
3189
+ .agent-office__lounge-meta {
3190
+ display: flex;
3191
+ align-items: center;
3192
+ gap: 7px;
3193
+ margin-left: auto;
3194
+ color: hsl(var(--muted-foreground));
3195
+ font: 500 9px / 1 var(--font-mono);
3207
3196
  }
3208
- @keyframes agent-office-memory-pulse {
3209
- 0%, 100% {
3210
- transform: scale(0.72) rotate(0);
3211
- opacity: 0.35;
3212
- }
3213
- 50% {
3214
- transform: scale(1.08) rotate(8deg);
3215
- opacity: 1;
3216
- }
3197
+ .agent-office__lounge-mail {
3198
+ display: inline-flex;
3199
+ align-items: center;
3200
+ gap: 3px;
3201
+ color: hsl(var(--info));
3217
3202
  }
3218
- @keyframes agent-office-web-signal {
3219
- 0% {
3220
- transform: rotate(-38deg) scale(0.72);
3221
- opacity: 0;
3222
- }
3223
- 45% {
3224
- opacity: 0.82;
3225
- }
3226
- 100% {
3227
- transform: rotate(-38deg) scale(1.08);
3228
- opacity: 0;
3229
- }
3203
+ .agent-office__lounge-mail svg {
3204
+ width: 11px;
3205
+ height: 11px;
3230
3206
  }
3231
- @keyframes agent-office-inspect {
3232
- from {
3233
- transform: translate(0, 0) rotate(-4deg);
3234
- }
3235
- to {
3236
- transform: translate(13px, 3px) rotate(5deg);
3207
+ @media (max-width: 1040px) {
3208
+ .agent-office__briefing {
3209
+ grid-template-columns: 1fr;
3237
3210
  }
3238
- }
3239
- @keyframes agent-office-inspect-handle {
3240
- from {
3241
- transform: translate(0, 0) rotate(42deg);
3211
+ .agent-office__client-header {
3212
+ flex-wrap: wrap;
3242
3213
  }
3243
- to {
3244
- transform: translate(13px, 3px) rotate(51deg);
3214
+ .agent-office__client-stats {
3215
+ width: 100%;
3216
+ justify-content: flex-start;
3245
3217
  }
3246
- }
3247
- @keyframes agent-office-write-stroke {
3248
- from {
3249
- transform: translateX(-4px) rotate(-27deg);
3218
+ .agent-office__column-headings,
3219
+ .agent-office__lane {
3220
+ grid-template-columns: 150px minmax(390px, 1fr) 230px;
3250
3221
  }
3251
- to {
3252
- transform: translateX(5px) rotate(-18deg);
3222
+ .agent-office__mail-routes {
3223
+ left: 176px;
3253
3224
  }
3254
- }
3255
- @keyframes agent-office-charm-blink {
3256
- 0%, 45%, 49%, 100% {
3257
- transform: scaleY(1);
3225
+ .agent-office__summary > div {
3226
+ min-width: 72px;
3258
3227
  }
3259
- 47% {
3260
- transform: scaleY(0.12);
3228
+ .agent-office__summary span {
3229
+ display: none;
3261
3230
  }
3262
- }
3263
- @keyframes agent-office-charm-bob {
3264
- 0%, 76%, 100% {
3265
- transform: translateY(0) rotate(0);
3231
+ .agent-office__title {
3232
+ min-width: 185px;
3266
3233
  }
3267
- 84%, 91% {
3268
- transform: translateY(-2px) rotate(-5deg);
3234
+ .agent-office__title h1 {
3235
+ max-width: 200px;
3269
3236
  }
3270
3237
  }
3271
- @keyframes agent-office-yawn-head {
3272
- 0%, 72%, 100% {
3273
- transform: translateY(0) rotate(0);
3238
+ @media (max-width: 820px) {
3239
+ .agent-office__header {
3240
+ flex-wrap: wrap;
3241
+ gap: 8px;
3274
3242
  }
3275
- 78%, 90% {
3276
- transform: translateY(-2px) rotate(-7deg);
3243
+ .agent-office__summary {
3244
+ order: 3;
3245
+ width: 100%;
3246
+ justify-content: flex-start;
3277
3247
  }
3278
- }
3279
- @keyframes agent-office-yawn-mouth {
3280
- 0%, 72%, 100% {
3281
- transform: scaleY(1);
3248
+ .agent-office__summary > div {
3249
+ padding-block: 3px;
3282
3250
  }
3283
- 80%, 88% {
3284
- transform: scaleY(3.5);
3251
+ .agent-office__live-pill {
3252
+ margin-left: auto;
3285
3253
  }
3286
- }
3287
- @keyframes agent-office-idle-stretch {
3288
- 0%, 72%, 100% {
3289
- transform: rotate(-11deg);
3254
+ .agent-office__column-headings {
3255
+ display: none;
3290
3256
  }
3291
- 80%, 90% {
3292
- transform: translate(2px, -7px) rotate(-34deg);
3257
+ .agent-office__lane {
3258
+ grid-template-columns: 132px minmax(380px, 1fr);
3293
3259
  }
3294
- }
3295
- @keyframes agent-office-type {
3296
- to {
3297
- transform: rotate(-4deg) translateY(2px);
3260
+ .agent-office__mail-routes {
3261
+ left: 158px;
3298
3262
  }
3299
- }
3300
- @keyframes agent-office-nod {
3301
- 0%, 70%, 100% {
3302
- transform: rotate(0);
3263
+ .agent-office__history {
3264
+ display: none;
3303
3265
  }
3304
- 82% {
3305
- transform: rotate(3deg);
3266
+ .agent-office__floor {
3267
+ overflow-x: auto;
3306
3268
  }
3307
3269
  }
3308
- @keyframes agent-office-ring {
3309
- from {
3310
- transform: scale(0.82);
3311
- opacity: 0.42;
3312
- }
3313
- to {
3314
- transform: scale(1.18);
3315
- opacity: 0;
3270
+ @media (prefers-reduced-motion: reduce) {
3271
+ .agent-office *,
3272
+ .agent-office *::before,
3273
+ .agent-office *::after {
3274
+ scroll-behavior: auto;
3275
+ animation-duration: 0.001ms;
3276
+ animation-iteration-count: 1;
3277
+ transition-duration: 0.001ms;
3316
3278
  }
3317
3279
  }
3318
- @keyframes agent-office-pulse {
3319
- 0%, 100% {
3320
- opacity: 0.55;
3321
- transform: scale(0.8);
3322
- }
3323
- 50% {
3324
- opacity: 1;
3325
- transform: scale(1);
3326
- }
3280
+
3281
+ /* src/components/MessageBubble/ledger.css */
3282
+ .ws-ledger {
3283
+ position: relative;
3284
+ background: hsl(var(--card) / 0.4);
3285
+ border-left-width: 2px;
3286
+ border-left-style: solid;
3327
3287
  }
3328
- @keyframes agent-office-drawer {
3329
- from {
3330
- transform: translateX(35px);
3331
- opacity: 0.5;
3332
- }
3333
- to {
3334
- transform: translateX(0);
3335
- opacity: 1;
3336
- }
3288
+ .ws-ledger--ok {
3289
+ border-left-color: hsl(var(--success) / 0.75);
3337
3290
  }
3338
- .agent-office__model-chip {
3339
- display: inline-flex;
3340
- max-width: 100%;
3341
- align-items: center;
3342
- padding: 1px 7px;
3343
- border: 1px solid hsl(var(--primary) / 0.3);
3344
- border-radius: 999px;
3345
- background: hsl(var(--primary) / 0.08);
3346
- color: hsl(var(--primary));
3347
- font: 600 9px / 1.5 var(--font-mono);
3348
- letter-spacing: 0.02em;
3349
- overflow: hidden;
3350
- text-overflow: ellipsis;
3351
- white-space: nowrap;
3291
+ .ws-ledger--error {
3292
+ border-left-color: hsl(var(--destructive) / 0.85);
3293
+ background: hsl(var(--destructive) / 0.04);
3352
3294
  }
3353
- .agent-office__client-desks {
3354
- position: relative;
3295
+ .ws-ledger--running {
3296
+ border-left-color: hsl(var(--warning) / 0.9);
3297
+ animation: wsRailPulse 1.8s ease-in-out infinite;
3355
3298
  }
3356
- .agent-office__mail-routes {
3299
+ .ws-ledger--running::before {
3300
+ content: "";
3357
3301
  position: absolute;
3358
- z-index: 6;
3359
- top: 9px;
3360
- bottom: 1px;
3361
- left: 206px;
3362
- width: 44px;
3302
+ left: -2px;
3303
+ top: 0;
3304
+ width: 2px;
3305
+ height: 34%;
3306
+ background:
3307
+ linear-gradient(
3308
+ to bottom,
3309
+ transparent,
3310
+ hsl(var(--warning)),
3311
+ transparent);
3312
+ animation: wsRailSweep 1.9s ease-in-out infinite;
3363
3313
  pointer-events: none;
3364
3314
  }
3365
- .agent-office__mail-route {
3366
- position: absolute;
3367
- inset: 0;
3315
+ .ws-ledger__dot {
3316
+ width: 0.4rem;
3317
+ height: 0.4rem;
3318
+ flex-shrink: 0;
3319
+ border-radius: 9999px;
3320
+ background: currentColor;
3321
+ box-shadow: 0 0 6px -1px currentColor;
3368
3322
  }
3369
- .agent-office__mail-route-parcel {
3370
- position: absolute;
3371
- top: var(--from);
3372
- left: 0;
3373
- display: grid;
3374
- width: 30px;
3375
- height: 30px;
3376
- place-items: center;
3377
- border: 1px solid hsl(var(--info) / 0.55);
3378
- border-radius: 9px;
3379
- background: hsl(var(--card) / 0.94);
3380
- box-shadow: 0 4px 14px hsl(var(--info) / 0.3), 0 0 0 3px hsl(var(--info) / 0.08);
3381
- color: hsl(var(--info));
3382
- animation: agent-office-mail-travel 3.8s ease-in-out infinite;
3323
+ .ws-ledger__dot--running {
3324
+ animation: wsDotPulse 1.4s ease-in-out infinite;
3383
3325
  }
3384
- .agent-office__mail-route-parcel svg {
3385
- width: 15px;
3386
- height: 15px;
3326
+ .ws-reasoning {
3327
+ position: relative;
3328
+ border-left: 1px dashed hsl(var(--primary) / 0.35);
3329
+ padding-left: 0.75rem;
3387
3330
  }
3388
- @keyframes agent-office-mail-travel {
3331
+ .ws-reasoning__mark {
3332
+ color: hsl(var(--primary));
3333
+ filter: drop-shadow(0 0 5px hsl(var(--primary) / 0.4));
3334
+ }
3335
+ @keyframes wsRailPulse {
3336
+ 0%, 100% {
3337
+ border-left-color: hsl(var(--warning) / 0.9);
3338
+ }
3339
+ 50% {
3340
+ border-left-color: hsl(var(--warning) / 0.4);
3341
+ }
3342
+ }
3343
+ @keyframes wsRailSweep {
3389
3344
  0% {
3390
- top: var(--from);
3345
+ top: -34%;
3391
3346
  opacity: 0;
3392
- transform: translateY(-50%) scale(0.7);
3393
3347
  }
3394
- 12% {
3348
+ 25% {
3395
3349
  opacity: 1;
3396
- transform: translateY(-50%) scale(1);
3397
3350
  }
3398
- 86% {
3351
+ 75% {
3399
3352
  opacity: 1;
3400
3353
  }
3401
3354
  100% {
3402
- top: var(--to);
3355
+ top: 100%;
3403
3356
  opacity: 0;
3404
- transform: translateY(-50%) scale(0.7);
3405
3357
  }
3406
3358
  }
3407
- .agent-office__desks-empty {
3408
- display: flex;
3409
- align-items: center;
3410
- gap: 8px;
3411
- margin: 0 9px 9px;
3412
- padding: 13px 14px;
3413
- border: 1px dashed var(--office-line);
3414
- border-radius: 12px;
3415
- color: hsl(var(--muted-foreground));
3416
- font: 500 10.5px / 1.4 var(--font-mono);
3417
- }
3418
- .agent-office__desks-empty svg {
3419
- width: 14px;
3420
- height: 14px;
3421
- color: hsl(var(--warning));
3422
- }
3423
- .agent-office__lounge {
3424
- margin: 2px 9px 10px;
3425
- padding: 10px 12px 12px;
3426
- border: 1px dashed hsl(var(--border));
3427
- border-radius: 14px;
3428
- background:
3429
- linear-gradient(
3430
- 160deg,
3431
- hsl(var(--warning) / 0.05),
3432
- transparent 62%),
3433
- var(--office-panel);
3359
+ @keyframes wsDotPulse {
3360
+ 0%, 100% {
3361
+ opacity: 1;
3362
+ transform: scale(1);
3363
+ }
3364
+ 50% {
3365
+ opacity: 0.45;
3366
+ transform: scale(0.82);
3367
+ }
3434
3368
  }
3435
- .agent-office__lounge-heading {
3436
- display: flex;
3437
- align-items: center;
3438
- gap: 8px;
3439
- margin-bottom: 9px;
3440
- color: hsl(var(--muted-foreground));
3441
- font: 600 10px / 1 var(--font-mono);
3442
- letter-spacing: 0.09em;
3443
- text-transform: uppercase;
3369
+ @media (prefers-reduced-motion: reduce) {
3370
+ .ws-ledger--running,
3371
+ .ws-ledger--running::before,
3372
+ .ws-ledger__dot--running {
3373
+ animation: none;
3374
+ }
3375
+ .ws-ledger--running::before {
3376
+ display: none;
3377
+ }
3444
3378
  }
3445
- .agent-office__lounge-heading svg {
3446
- width: 14px;
3447
- height: 14px;
3448
- color: hsl(var(--warning));
3379
+
3380
+ /* src/components/ChatView/thinking-bubble.css */
3381
+ .thinking-bubble {
3382
+ --thinking-color: hsl(var(--primary));
3383
+ --thinking-glow: hsl(var(--primary) / 0.36);
3449
3384
  }
3450
- .agent-office__lounge-heading > span {
3451
- margin-left: auto;
3452
- font-weight: 500;
3453
- letter-spacing: 0;
3454
- text-transform: none;
3385
+ .thinking-orb {
3386
+ position: relative;
3387
+ display: grid;
3388
+ width: 2rem;
3389
+ height: 2rem;
3390
+ place-items: center;
3391
+ color: var(--thinking-color);
3392
+ border-radius: 9999px;
3393
+ background:
3394
+ radial-gradient(
3395
+ circle at 35% 30%,
3396
+ hsl(var(--primary) / 0.24),
3397
+ transparent 42%),
3398
+ hsl(var(--primary) / 0.08);
3399
+ box-shadow:
3400
+ 0 0 0 2px hsl(var(--background)),
3401
+ 0 0 0 3px hsl(var(--primary) / 0.18),
3402
+ 0 0 22px -6px var(--thinking-glow);
3403
+ overflow: hidden;
3455
3404
  }
3456
- .agent-office__lounge-seats {
3457
- display: flex;
3458
- flex-wrap: wrap;
3459
- gap: 8px;
3405
+ .thinking-orb::before {
3406
+ content: "";
3407
+ position: absolute;
3408
+ inset: -45%;
3409
+ background:
3410
+ conic-gradient(
3411
+ from 90deg,
3412
+ transparent 0 22%,
3413
+ var(--thinking-glow) 34%,
3414
+ transparent 48% 100%);
3415
+ animation: thinkingOrbit 2.4s linear infinite;
3460
3416
  }
3461
- .agent-office__lounge-seat {
3462
- display: flex;
3463
- min-width: 190px;
3464
- flex: 0 1 auto;
3465
- align-items: center;
3466
- gap: 9px;
3467
- padding: 7px 10px;
3468
- border: 1px solid var(--office-line);
3469
- border-radius: 11px;
3470
- background: hsl(var(--card) / 0.7);
3471
- cursor: pointer;
3472
- text-align: left;
3473
- transition:
3474
- border-color 160ms ease,
3475
- box-shadow 160ms ease,
3476
- transform 160ms ease;
3417
+ .thinking-orb::after {
3418
+ content: "";
3419
+ position: absolute;
3420
+ inset: 3px;
3421
+ border-radius: inherit;
3422
+ background: hsl(var(--background) / 0.82);
3477
3423
  }
3478
- .agent-office__lounge-seat:disabled {
3479
- cursor: default;
3480
- opacity: 0.72;
3424
+ .thinking-orb__icon {
3425
+ position: relative;
3426
+ z-index: 2;
3427
+ animation: thinkingBrain 1.8s ease-in-out infinite;
3428
+ filter: drop-shadow(0 0 6px var(--thinking-glow));
3481
3429
  }
3482
- .agent-office__lounge-seat:not(:disabled):hover {
3483
- border-color: hsl(var(--primary) / 0.4);
3484
- box-shadow: 0 6px 16px hsl(var(--shadow-color) / 0.1);
3485
- transform: translateY(-1px);
3430
+ .thinking-orb__ring {
3431
+ position: absolute;
3432
+ inset: -2px;
3433
+ z-index: 1;
3434
+ border-radius: inherit;
3435
+ border: 1px solid hsl(var(--primary) / 0.32);
3436
+ animation: thinkingRipple 2.2s ease-out infinite;
3486
3437
  }
3487
- .agent-office__lounge-avatar {
3488
- display: grid;
3489
- width: 28px;
3490
- height: 28px;
3491
- flex: 0 0 auto;
3492
- place-items: center;
3493
- border: 1px solid hsl(var(--border));
3494
- border-radius: 9px;
3495
- background: hsl(var(--accent) / 0.5);
3496
- color: hsl(var(--muted-foreground));
3438
+ .thinking-orb__ring--delay {
3439
+ animation-delay: 1.1s;
3497
3440
  }
3498
- .agent-office__lounge-avatar svg {
3499
- width: 14px;
3500
- height: 14px;
3441
+ .thinking-orb__spark {
3442
+ position: absolute;
3443
+ z-index: 3;
3444
+ width: 0.3rem;
3445
+ height: 0.3rem;
3446
+ border-radius: 9999px;
3447
+ background: currentColor;
3448
+ box-shadow: 0 0 10px 1px currentColor;
3449
+ opacity: 0.78;
3501
3450
  }
3502
- .agent-office__lounge-seat.is-leader .agent-office__lounge-avatar {
3503
- border-color: hsl(var(--primary) / 0.35);
3504
- background: hsl(var(--primary) / 0.12);
3505
- color: hsl(var(--primary));
3451
+ .thinking-orb__spark--one {
3452
+ animation: thinkingSparkOne 2.8s ease-in-out infinite;
3506
3453
  }
3507
- .agent-office__lounge-seat.is-builder .agent-office__lounge-avatar {
3508
- border-color: hsl(var(--info) / 0.35);
3509
- background: hsl(var(--info) / 0.12);
3510
- color: hsl(var(--info));
3454
+ .thinking-orb__spark--two {
3455
+ animation: thinkingSparkTwo 3.2s ease-in-out infinite;
3511
3456
  }
3512
- .agent-office__lounge-seat.is-researcher .agent-office__lounge-avatar {
3513
- border-color: hsl(var(--success) / 0.35);
3514
- background: hsl(var(--success) / 0.12);
3515
- color: hsl(var(--success));
3457
+ .thinking-label {
3458
+ display: inline-flex;
3459
+ align-items: center;
3460
+ gap: 0.35rem;
3461
+ letter-spacing: 0.02em;
3516
3462
  }
3517
- .agent-office__lounge-seat.is-reviewer .agent-office__lounge-avatar {
3518
- border-color: hsl(var(--destructive) / 0.32);
3519
- background: hsl(var(--destructive) / 0.1);
3520
- color: hsl(var(--destructive));
3463
+ .thinking-dots {
3464
+ display: inline-flex;
3465
+ gap: 0.18rem;
3466
+ align-items: center;
3521
3467
  }
3522
- .agent-office__lounge-seat.is-planner .agent-office__lounge-avatar {
3523
- border-color: hsl(var(--warning) / 0.38);
3524
- background: hsl(var(--warning) / 0.12);
3525
- color: hsl(var(--warning));
3468
+ .thinking-dots span {
3469
+ width: 0.22rem;
3470
+ height: 0.22rem;
3471
+ border-radius: 9999px;
3472
+ background: currentColor;
3473
+ animation: thinkingDot 1.15s ease-in-out infinite;
3526
3474
  }
3527
- .agent-office__lounge-seat.is-operator .agent-office__lounge-avatar {
3528
- border-color: hsl(var(--muted-foreground) / 0.34);
3529
- background: hsl(var(--muted-foreground) / 0.1);
3530
- color: hsl(var(--muted-foreground));
3475
+ .thinking-dots span:nth-child(2) {
3476
+ animation-delay: 0.16s;
3531
3477
  }
3532
- .agent-office__lounge-copy {
3533
- display: flex;
3534
- min-width: 0;
3535
- flex-direction: column;
3536
- gap: 1px;
3478
+ .thinking-dots span:nth-child(3) {
3479
+ animation-delay: 0.32s;
3537
3480
  }
3538
- .agent-office__lounge-copy strong {
3481
+ .thinking-panel {
3482
+ position: relative;
3539
3483
  overflow: hidden;
3540
- color: hsl(var(--foreground));
3541
- font-size: 11.5px;
3542
- font-weight: 600;
3543
- line-height: 1.25;
3544
- text-overflow: ellipsis;
3545
- white-space: nowrap;
3484
+ border-color: hsl(var(--primary) / 0.22);
3485
+ background:
3486
+ linear-gradient(
3487
+ 115deg,
3488
+ hsl(var(--primary) / 0.08),
3489
+ transparent 38%,
3490
+ hsl(var(--primary) / 0.05)),
3491
+ hsl(var(--card) / 0.48);
3492
+ box-shadow: inset 0 0 0 1px hsl(var(--primary) / 0.06);
3546
3493
  }
3547
- .agent-office__lounge-copy small {
3548
- overflow: hidden;
3549
- color: hsl(var(--muted-foreground));
3550
- font: 500 9px / 1.3 var(--font-mono);
3551
- text-overflow: ellipsis;
3552
- white-space: nowrap;
3494
+ .thinking-panel::before {
3495
+ content: "";
3496
+ position: absolute;
3497
+ inset: 0;
3498
+ transform: translateX(-120%);
3499
+ background:
3500
+ linear-gradient(
3501
+ 90deg,
3502
+ transparent,
3503
+ hsl(var(--primary) / 0.16),
3504
+ transparent);
3505
+ animation: thinkingScan 2.6s ease-in-out infinite;
3506
+ pointer-events: none;
3553
3507
  }
3554
- .agent-office__lounge-meta {
3508
+ .thinking-wave {
3509
+ position: relative;
3510
+ z-index: 1;
3555
3511
  display: flex;
3556
- align-items: center;
3557
- gap: 7px;
3558
- margin-left: auto;
3559
- color: hsl(var(--muted-foreground));
3560
- font: 500 9px / 1 var(--font-mono);
3512
+ align-items: end;
3513
+ gap: 0.18rem;
3514
+ height: 0.6rem;
3515
+ margin-bottom: 0.25rem;
3516
+ color: var(--thinking-color);
3561
3517
  }
3562
- .agent-office__lounge-mail {
3563
- display: inline-flex;
3564
- align-items: center;
3565
- gap: 3px;
3566
- color: hsl(var(--info));
3518
+ .thinking-wave span {
3519
+ width: 0.18rem;
3520
+ min-height: 0.14rem;
3521
+ border-radius: 9999px;
3522
+ background: currentColor;
3523
+ opacity: 0.65;
3524
+ animation: thinkingWave 0.9s ease-in-out infinite;
3567
3525
  }
3568
- .agent-office__lounge-mail svg {
3569
- width: 11px;
3570
- height: 11px;
3526
+ .thinking-wave span:nth-child(2) {
3527
+ animation-delay: 0.08s;
3571
3528
  }
3572
- @media (max-width: 1040px) {
3573
- .agent-office__briefing {
3574
- grid-template-columns: 1fr;
3575
- }
3576
- .agent-office__client-header {
3577
- flex-wrap: wrap;
3578
- }
3579
- .agent-office__client-stats {
3580
- width: 100%;
3581
- justify-content: flex-start;
3529
+ .thinking-wave span:nth-child(3) {
3530
+ animation-delay: 0.16s;
3531
+ }
3532
+ .thinking-wave span:nth-child(4) {
3533
+ animation-delay: 0.24s;
3534
+ }
3535
+ .thinking-wave span:nth-child(5) {
3536
+ animation-delay: 0.32s;
3537
+ }
3538
+ .thinking-text {
3539
+ position: relative;
3540
+ z-index: 1;
3541
+ }
3542
+ @keyframes thinkingOrbit {
3543
+ to {
3544
+ transform: rotate(1turn);
3582
3545
  }
3583
- .agent-office__column-headings,
3584
- .agent-office__lane {
3585
- grid-template-columns: 150px minmax(390px, 1fr) 230px;
3546
+ }
3547
+ @keyframes thinkingBrain {
3548
+ 0%, 100% {
3549
+ transform: scale(1);
3550
+ opacity: 0.86;
3586
3551
  }
3587
- .agent-office__mail-routes {
3588
- left: 176px;
3552
+ 45% {
3553
+ transform: scale(1.12);
3554
+ opacity: 1;
3589
3555
  }
3590
- .agent-office__summary > div {
3591
- min-width: 72px;
3556
+ }
3557
+ @keyframes thinkingRipple {
3558
+ 0% {
3559
+ transform: scale(0.82);
3560
+ opacity: 0.65;
3592
3561
  }
3593
- .agent-office__summary span {
3594
- display: none;
3562
+ 70%, 100% {
3563
+ transform: scale(1.45);
3564
+ opacity: 0;
3595
3565
  }
3596
- .agent-office__title {
3597
- min-width: 185px;
3566
+ }
3567
+ @keyframes thinkingSparkOne {
3568
+ 0%, 100% {
3569
+ transform: translate(-0.65rem, -0.55rem) scale(0.75);
3570
+ opacity: 0.35;
3598
3571
  }
3599
- .agent-office__title h1 {
3600
- max-width: 200px;
3572
+ 45% {
3573
+ transform: translate(0.72rem, -0.2rem) scale(1);
3574
+ opacity: 0.95;
3601
3575
  }
3602
3576
  }
3603
- @media (max-width: 820px) {
3604
- .agent-office__header {
3605
- flex-wrap: wrap;
3606
- gap: 8px;
3607
- }
3608
- .agent-office__summary {
3609
- order: 3;
3610
- width: 100%;
3611
- justify-content: flex-start;
3577
+ @keyframes thinkingSparkTwo {
3578
+ 0%, 100% {
3579
+ transform: translate(0.55rem, 0.58rem) scale(0.7);
3580
+ opacity: 0.28;
3612
3581
  }
3613
- .agent-office__summary > div {
3614
- padding-block: 3px;
3582
+ 55% {
3583
+ transform: translate(-0.72rem, 0.12rem) scale(1.05);
3584
+ opacity: 0.9;
3615
3585
  }
3616
- .agent-office__live-pill {
3617
- margin-left: auto;
3586
+ }
3587
+ @keyframes thinkingDot {
3588
+ 0%, 80%, 100% {
3589
+ transform: translateY(0);
3590
+ opacity: 0.35;
3618
3591
  }
3619
- .agent-office__column-headings {
3620
- display: none;
3592
+ 40% {
3593
+ transform: translateY(-0.18rem);
3594
+ opacity: 1;
3621
3595
  }
3622
- .agent-office__lane {
3623
- grid-template-columns: 132px minmax(380px, 1fr);
3596
+ }
3597
+ @keyframes thinkingScan {
3598
+ 0% {
3599
+ transform: translateX(-120%);
3624
3600
  }
3625
- .agent-office__mail-routes {
3626
- left: 158px;
3601
+ 48%, 100% {
3602
+ transform: translateX(120%);
3627
3603
  }
3628
- .agent-office__history {
3629
- display: none;
3604
+ }
3605
+ @keyframes thinkingWave {
3606
+ 0%, 100% {
3607
+ height: 0.14rem;
3608
+ opacity: 0.38;
3630
3609
  }
3631
- .agent-office__floor {
3632
- overflow-x: auto;
3610
+ 45% {
3611
+ height: 0.58rem;
3612
+ opacity: 0.92;
3633
3613
  }
3634
3614
  }
3635
3615
  @media (prefers-reduced-motion: reduce) {
3636
- .agent-office *,
3637
- .agent-office *::before,
3638
- .agent-office *::after {
3639
- scroll-behavior: auto;
3640
- animation-duration: 0.001ms;
3616
+ .thinking-bubble,
3617
+ .thinking-bubble *,
3618
+ .thinking-orb,
3619
+ .thinking-orb::before,
3620
+ .thinking-orb::after,
3621
+ .thinking-orb__icon,
3622
+ .thinking-orb__ring,
3623
+ .thinking-orb__spark,
3624
+ .thinking-dots,
3625
+ .thinking-dots span,
3626
+ .thinking-panel,
3627
+ .thinking-panel::before,
3628
+ .thinking-wave,
3629
+ .thinking-wave span,
3630
+ .thinking-text {
3631
+ animation: none;
3641
3632
  animation-iteration-count: 1;
3642
- transition-duration: 0.001ms;
3633
+ animation-duration: 0s;
3634
+ animation-delay: 0s;
3635
+ transition: none;
3636
+ scroll-behavior: auto;
3637
+ }
3638
+ .thinking-orb__icon {
3639
+ filter: none;
3640
+ }
3641
+ .thinking-panel {
3642
+ transform: none;
3643
3643
  }
3644
3644
  }
3645
3645