@shivaedev/work-board 0.17.0 → 0.18.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.
- package/CHANGELOG.md +27 -0
- package/README.md +27 -25
- package/assets/react.css +1 -1
- package/assets/react.js +37 -36
- package/dist/browser/responses/cardContext.d.ts +8 -1
- package/dist/browser/responses/cardContext.d.ts.map +1 -1
- package/dist/browser/responses/cardContext.js +12 -7
- package/dist/browser/responses/cardContext.js.map +1 -1
- package/dist/browser/views/now.d.ts +5 -0
- package/dist/browser/views/now.d.ts.map +1 -1
- package/dist/browser/views/now.js +38 -2
- package/dist/browser/views/now.js.map +1 -1
- package/dist/browser/views/schema.d.ts +11 -0
- package/dist/browser/views/schema.d.ts.map +1 -1
- package/dist/browser/views/schema.js +1 -0
- package/dist/browser/views/schema.js.map +1 -1
- package/dist/client/document/View.js +1 -1
- package/dist/client/document/View.js.map +1 -1
- package/dist/client/formStatus.d.ts +2 -2
- package/dist/client/formStatus.d.ts.map +1 -1
- package/dist/client/formStatus.js +2 -2
- package/dist/client/formStatus.js.map +1 -1
- package/dist/client/react/AnswerContext.d.ts.map +1 -1
- package/dist/client/react/AnswerContext.js +5 -2
- package/dist/client/react/AnswerContext.js.map +1 -1
- package/dist/client/react/AnswerForm.d.ts.map +1 -1
- package/dist/client/react/AnswerForm.js +6 -2
- package/dist/client/react/AnswerForm.js.map +1 -1
- package/dist/client/react/AnswerMarkdown.d.ts +6 -0
- package/dist/client/react/AnswerMarkdown.d.ts.map +1 -0
- package/dist/client/react/AnswerMarkdown.js +7 -0
- package/dist/client/react/AnswerMarkdown.js.map +1 -0
- package/dist/client/react/AnswerMore.d.ts.map +1 -1
- package/dist/client/react/AnswerMore.js +2 -1
- package/dist/client/react/AnswerMore.js.map +1 -1
- package/dist/client/react/AnswerPanel.d.ts.map +1 -1
- package/dist/client/react/AnswerPanel.js +3 -2
- package/dist/client/react/AnswerPanel.js.map +1 -1
- package/dist/client/react/AnswerPrompts.d.ts.map +1 -1
- package/dist/client/react/AnswerPrompts.js +16 -10
- package/dist/client/react/AnswerPrompts.js.map +1 -1
- package/dist/client/react/BoardShell.js +2 -2
- package/dist/client/react/BoardShell.js.map +1 -1
- package/dist/client/react/DocumentMain.d.ts.map +1 -1
- package/dist/client/react/DocumentMain.js +2 -2
- package/dist/client/react/DocumentMain.js.map +1 -1
- package/dist/client/react/FleetMain.js +1 -1
- package/dist/client/react/FleetMain.js.map +1 -1
- package/dist/client/react/FormField.js +1 -1
- package/dist/client/react/FormField.js.map +1 -1
- package/dist/client/react/GoalPage.js +2 -2
- package/dist/client/react/GoalPage.js.map +1 -1
- package/dist/client/react/GoalProgressHeader.js +2 -2
- package/dist/client/react/GoalProgressHeader.js.map +1 -1
- package/dist/client/react/Header.d.ts.map +1 -1
- package/dist/client/react/Header.js +3 -2
- package/dist/client/react/Header.js.map +1 -1
- package/dist/client/react/LibraryContents.js +1 -1
- package/dist/client/react/LibraryContents.js.map +1 -1
- package/dist/client/react/LibraryMain.d.ts.map +1 -1
- package/dist/client/react/LibraryMain.js +1 -1
- package/dist/client/react/LibraryMain.js.map +1 -1
- package/dist/client/react/LibraryPage.js +2 -2
- package/dist/client/react/LibraryPage.js.map +1 -1
- package/dist/client/react/LiveControls.js +1 -1
- package/dist/client/react/LiveControls.js.map +1 -1
- package/dist/client/react/ProjectionMain.d.ts.map +1 -1
- package/dist/client/react/ProjectionMain.js +1 -1
- package/dist/client/react/ProjectionMain.js.map +1 -1
- package/dist/client/react/PromptOption.d.ts.map +1 -1
- package/dist/client/react/PromptOption.js +7 -5
- package/dist/client/react/PromptOption.js.map +1 -1
- package/dist/client/react/ReadingHistory.js +1 -1
- package/dist/client/react/ReadingHistory.js.map +1 -1
- package/dist/client/react/RemainingMain.d.ts.map +1 -1
- package/dist/client/react/RemainingMain.js +1 -1
- package/dist/client/react/RemainingMain.js.map +1 -1
- package/dist/client/react/ResponseHistory.d.ts.map +1 -1
- package/dist/client/react/ResponseHistory.js +11 -5
- package/dist/client/react/ResponseHistory.js.map +1 -1
- package/dist/client/react/SearchPalette.js +1 -1
- package/dist/client/react/SearchPalette.js.map +1 -1
- package/dist/client/react/Sidebar.d.ts.map +1 -1
- package/dist/client/react/Sidebar.js +9 -2
- package/dist/client/react/Sidebar.js.map +1 -1
- package/dist/client/react/SystemFleetLane.d.ts.map +1 -1
- package/dist/client/react/SystemFleetLane.js +2 -1
- package/dist/client/react/SystemFleetLane.js.map +1 -1
- package/dist/client/react/SystemHealth.d.ts +2 -1
- package/dist/client/react/SystemHealth.d.ts.map +1 -1
- package/dist/client/react/SystemHealth.js +3 -2
- package/dist/client/react/SystemHealth.js.map +1 -1
- package/dist/client/react/SystemMain.d.ts.map +1 -1
- package/dist/client/react/SystemMain.js +6 -2
- package/dist/client/react/SystemMain.js.map +1 -1
- package/dist/client/react/SystemPage.d.ts +2 -1
- package/dist/client/react/SystemPage.d.ts.map +1 -1
- package/dist/client/react/SystemPage.js +2 -2
- package/dist/client/react/SystemPage.js.map +1 -1
- package/dist/client/react/TodayNeeds.d.ts +5 -0
- package/dist/client/react/TodayNeeds.d.ts.map +1 -1
- package/dist/client/react/TodayNeeds.js +6 -3
- package/dist/client/react/TodayNeeds.js.map +1 -1
- package/dist/client/react/TodayOptionButton.d.ts +14 -0
- package/dist/client/react/TodayOptionButton.d.ts.map +1 -0
- package/dist/client/react/TodayOptionButton.js +10 -0
- package/dist/client/react/TodayOptionButton.js.map +1 -0
- package/dist/client/react/TodayOptions.d.ts.map +1 -1
- package/dist/client/react/TodayOptions.js +18 -14
- package/dist/client/react/TodayOptions.js.map +1 -1
- package/dist/client/react/TodayPage.d.ts.map +1 -1
- package/dist/client/react/TodayPage.js +20 -5
- package/dist/client/react/TodayPage.js.map +1 -1
- package/dist/client/react/WorkCard.d.ts.map +1 -1
- package/dist/client/react/WorkCard.js +7 -2
- package/dist/client/react/WorkCard.js.map +1 -1
- package/dist/client/react/WorkLane.d.ts.map +1 -1
- package/dist/client/react/WorkLane.js +1 -1
- package/dist/client/react/WorkLane.js.map +1 -1
- package/dist/client/react/WorkNow.js +1 -1
- package/dist/client/react/WorkNow.js.map +1 -1
- package/dist/client/react/activeRead.js +1 -1
- package/dist/client/react/activeRead.js.map +1 -1
- package/dist/client/react/destinationName.d.ts +2 -0
- package/dist/client/react/destinationName.d.ts.map +1 -0
- package/dist/client/react/destinationName.js +4 -0
- package/dist/client/react/destinationName.js.map +1 -0
- package/dist/client/react/loadBoardPage.d.ts.map +1 -1
- package/dist/client/react/loadBoardPage.js +2 -2
- package/dist/client/react/loadBoardPage.js.map +1 -1
- package/dist/client/react/loadProjection.d.ts +135 -135
- package/dist/client/react/loadProjection.d.ts.map +1 -1
- package/dist/client/react/loadProjection.js +2 -2
- package/dist/client/react/loadProjection.js.map +1 -1
- package/dist/client/react/loadRemaining.d.ts +184 -184
- package/dist/client/react/loadRemaining.d.ts.map +1 -1
- package/dist/client/react/loadRemaining.js +2 -2
- package/dist/client/react/loadRemaining.js.map +1 -1
- package/dist/client/react/pageQueries.js +1 -1
- package/dist/client/react/pageQueries.js.map +1 -1
- package/dist/client/react/resolvedDocumentFailure.d.ts.map +1 -0
- package/dist/client/react/resolvedDocumentFailure.js.map +1 -0
- package/dist/client/react/routeQuery.d.ts.map +1 -0
- package/dist/client/react/routeQuery.js.map +1 -0
- package/dist/client/react/useHandoffForm.js +1 -1
- package/dist/client/react/useHandoffForm.js.map +1 -1
- package/dist/client/react/useProjectionData.d.ts +1 -1
- package/dist/client/react/useProjectionData.js +1 -1
- package/dist/client/react/useProjectionData.js.map +1 -1
- package/dist/client/react/useResponseForm.d.ts.map +1 -1
- package/dist/client/react/useResponseForm.js +3 -3
- package/dist/client/react/useResponseForm.js.map +1 -1
- package/dist/client/responses/summary.d.ts +1 -0
- package/dist/client/responses/summary.d.ts.map +1 -1
- package/dist/client/responses/summary.js +12 -1
- package/dist/client/responses/summary.js.map +1 -1
- package/dist/diagnostics/source.js +1 -1
- package/dist/diagnostics/source.js.map +1 -1
- package/dist/rpc/contract.d.ts +1951 -1918
- package/dist/rpc/contract.d.ts.map +1 -1
- package/dist/server/Responses.js +2 -2
- package/dist/server/Responses.js.map +1 -1
- package/dist/server/attention/inbox.d.ts +13 -2
- package/dist/server/attention/inbox.d.ts.map +1 -1
- package/dist/server/attention/inbox.js +44 -27
- package/dist/server/attention/inbox.js.map +1 -1
- package/dist/server/attention/managedRequestReceipt.d.ts +10 -0
- package/dist/server/attention/managedRequestReceipt.d.ts.map +1 -1
- package/dist/server/attention/managedRequestReceipt.js +29 -10
- package/dist/server/attention/managedRequestReceipt.js.map +1 -1
- package/dist/server/attention/projection.d.ts.map +1 -1
- package/dist/server/attention/projection.js +2 -1
- package/dist/server/attention/projection.js.map +1 -1
- package/dist/server/attention/requestInbox.d.ts +3 -3
- package/dist/server/attention/requestInbox.js +2 -2
- package/dist/server/attention/requestInbox.js.map +1 -1
- package/dist/server/attention/requests.d.ts +1 -0
- package/dist/server/attention/requests.d.ts.map +1 -1
- package/dist/server/attention/requests.js +7 -3
- package/dist/server/attention/requests.js.map +1 -1
- package/dist/server/board.js +1 -1
- package/dist/server/board.js.map +1 -1
- package/dist/server/document/answerBody.d.ts.map +1 -1
- package/dist/server/document/answerBody.js +9 -1
- package/dist/server/document/answerBody.js.map +1 -1
- package/dist/server/document/reviewedWork.d.ts +3 -0
- package/dist/server/document/reviewedWork.d.ts.map +1 -0
- package/dist/server/document/reviewedWork.js +23 -0
- package/dist/server/document/reviewedWork.js.map +1 -0
- package/dist/server/files/changes.d.ts.map +1 -1
- package/dist/server/files/changes.js +1 -1
- package/dist/server/files/changes.js.map +1 -1
- package/dist/server/files/watchDirectories.d.ts +1 -1
- package/dist/server/files/watchDirectories.d.ts.map +1 -1
- package/dist/server/files/watchDirectories.js +71 -12
- package/dist/server/files/watchDirectories.js.map +1 -1
- package/dist/server/handoffs/Service.js +2 -2
- package/dist/server/handoffs/Service.js.map +1 -1
- package/dist/server/handoffs/source.js +1 -1
- package/dist/server/handoffs/source.js.map +1 -1
- package/dist/server/http/boardRoutes.js +1 -1
- package/dist/server/http/boardRoutes.js.map +1 -1
- package/dist/server/mcp/client.d.ts +11 -0
- package/dist/server/mcp/client.d.ts.map +1 -1
- package/dist/server/mcp/queries.d.ts +2851 -2818
- package/dist/server/mcp/queries.d.ts.map +1 -1
- package/dist/server/packageInfo.d.ts +1 -1
- package/dist/server/packageInfo.js +1 -1
- package/dist/server/render/Highlighter.js +1 -1
- package/dist/server/render/Highlighter.js.map +1 -1
- package/dist/server/responses/locate.js +1 -1
- package/dist/server/responses/locate.js.map +1 -1
- package/dist/server/rpc/handlers.js +2 -2
- package/dist/server/rpc/handlers.js.map +1 -1
- package/dist/server/serve.js +1 -1
- package/dist/server/serve.js.map +1 -1
- package/dist/server/views/projectionQueries.d.ts +11 -0
- package/dist/server/views/projectionQueries.d.ts.map +1 -1
- package/dist/server/workspace.js +1 -1
- package/dist/server/workspace.js.map +1 -1
- package/docs/delivery/README.md +2 -2
- package/package.json +18 -362
- package/src/browser/responses/cardContext.ts +13 -7
- package/src/browser/views/now.ts +42 -2
- package/src/browser/views/schema.ts +1 -0
- package/src/client/document/View.ts +1 -1
- package/src/client/formStatus.ts +3 -3
- package/src/client/react/AnswerContext.tsx +9 -4
- package/src/client/react/AnswerForm.tsx +25 -6
- package/src/client/react/AnswerMarkdown.tsx +15 -0
- package/src/client/react/AnswerMore.tsx +58 -46
- package/src/client/react/AnswerPanel.tsx +14 -8
- package/src/client/react/AnswerPrompts.tsx +33 -18
- package/src/client/react/BoardShell.tsx +2 -2
- package/src/client/react/DocumentMain.tsx +2 -2
- package/src/client/react/FleetMain.tsx +1 -1
- package/src/client/react/FormField.tsx +1 -1
- package/src/client/react/GoalPage.tsx +2 -2
- package/src/client/react/GoalProgressHeader.tsx +2 -2
- package/src/client/react/Header.tsx +3 -2
- package/src/client/react/LibraryContents.tsx +1 -1
- package/src/client/react/LibraryMain.tsx +1 -1
- package/src/client/react/LibraryPage.tsx +2 -2
- package/src/client/react/LiveControls.tsx +1 -1
- package/src/client/react/ProjectionMain.tsx +1 -1
- package/src/client/react/PromptOption.tsx +39 -24
- package/src/client/react/ReadingHistory.tsx +1 -1
- package/src/client/react/RemainingMain.tsx +1 -1
- package/src/client/react/ResponseHistory.tsx +53 -14
- package/src/client/react/SearchPalette.tsx +1 -1
- package/src/client/react/Sidebar.tsx +10 -2
- package/src/client/react/SystemFleetLane.tsx +2 -1
- package/src/client/react/SystemHealth.tsx +24 -4
- package/src/client/react/SystemMain.tsx +6 -2
- package/src/client/react/SystemPage.tsx +8 -2
- package/src/client/react/TodayNeeds.tsx +21 -6
- package/src/client/react/TodayOptionButton.tsx +35 -0
- package/src/client/react/TodayOptions.tsx +42 -33
- package/src/client/react/TodayPage.tsx +36 -7
- package/src/client/react/WorkCard.tsx +16 -8
- package/src/client/react/WorkLane.tsx +8 -2
- package/src/client/react/WorkNow.tsx +1 -1
- package/src/client/react/activeRead.ts +1 -1
- package/src/client/react/destinationName.ts +3 -0
- package/src/client/react/entry.css +0 -6
- package/src/client/react/loadBoardPage.ts +2 -2
- package/src/client/react/loadProjection.ts +2 -2
- package/src/client/react/loadRemaining.ts +2 -2
- package/src/client/react/pageQueries.ts +1 -1
- package/src/client/react/useHandoffForm.ts +1 -1
- package/src/client/react/useProjectionData.ts +1 -1
- package/src/client/react/useResponseForm.ts +5 -3
- package/src/client/responses/summary.ts +13 -1
- package/src/diagnostics/source.ts +1 -1
- package/src/server/Responses.ts +2 -2
- package/src/server/attention/inbox.ts +51 -27
- package/src/server/attention/managedRequestReceipt.ts +41 -10
- package/src/server/attention/projection.ts +5 -2
- package/src/server/attention/requestInbox.ts +2 -2
- package/src/server/attention/requests.ts +7 -2
- package/src/server/board.ts +1 -1
- package/src/server/document/answerBody.ts +10 -1
- package/src/server/document/reviewedWork.ts +24 -0
- package/src/server/files/changes.ts +1 -0
- package/src/server/files/watchDirectories.ts +90 -27
- package/src/server/handoffs/Service.ts +2 -2
- package/src/server/handoffs/source.ts +1 -1
- package/src/server/http/boardRoutes.ts +1 -1
- package/src/server/packageInfo.ts +1 -1
- package/src/server/render/Highlighter.ts +1 -1
- package/src/server/responses/locate.ts +1 -1
- package/src/server/rpc/handlers.ts +2 -2
- package/src/server/serve.ts +1 -1
- package/src/server/workspace.ts +1 -1
- package/dist/client/page/resolvedDocumentFailure.d.ts.map +0 -1
- package/dist/client/page/resolvedDocumentFailure.js.map +0 -1
- package/dist/client/page/routeQuery.d.ts.map +0 -1
- package/dist/client/page/routeQuery.js.map +0 -1
- /package/dist/client/{page → react}/resolvedDocumentFailure.d.ts +0 -0
- /package/dist/client/{page → react}/resolvedDocumentFailure.js +0 -0
- /package/dist/client/{page → react}/routeQuery.d.ts +0 -0
- /package/dist/client/{page → react}/routeQuery.js +0 -0
- /package/src/client/{page → react}/resolvedDocumentFailure.ts +0 -0
- /package/src/client/{page → react}/routeQuery.ts +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,32 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.18.0 - 2026-10-18
|
|
4
|
+
|
|
5
|
+
### Fixed
|
|
6
|
+
|
|
7
|
+
- Notify live clients and report that watching stopped when an outside process removes the workspace root, including when the filesystem emits no descendant file events.
|
|
8
|
+
- Keep live updates active when delayed directory notifications arrive without a change to the watched roots, and name the edited, added and removed Markdown files when a populated directory moves or its contents change without individual file notifications.
|
|
9
|
+
- Keep reads available after unchanged directory notifications, including directory names with Markdown or image extensions.
|
|
10
|
+
- Saving an answer on Today could be interrupted before the response was recorded.
|
|
11
|
+
|
|
12
|
+
### Breaking
|
|
13
|
+
|
|
14
|
+
- Every module's import path is now its path under `src/`, through one `./*.ts` export. Modules that lived under `src/server/` gain a `server/` prefix, for example `@shivaedev/work-board/server/board.ts`, `server/serve.ts` and `server/integration/board.ts`. The browser client moves from `browser/client.ts` to `client/client.ts`, `browser/document/View.ts` moves to `client/document/View.ts`, and `browser/navigation/schema.ts` moves to `browser/Navigation.ts`. The other remapped paths, such as `page/escape.ts`, are gone; import the defining module instead.
|
|
15
|
+
|
|
16
|
+
## 0.17.1 - 2026-10-18
|
|
17
|
+
|
|
18
|
+
### Changed
|
|
19
|
+
|
|
20
|
+
- Answer cards lead with what happened and the recommendation, show each option as a selectable card with what it does, and confirm the recorded choice by name.
|
|
21
|
+
- The Today answer popover shows the reason, the question and each option's effect before you choose.
|
|
22
|
+
- Recorded responses show who chose which option and their note, with the full Markdown behind a toggle.
|
|
23
|
+
- Today keeps `status: deferred` items out of Needs you and lists the ones that would otherwise need you in a collapsed Later section with their count and next action. The attention projection exposes them as `later`; deferred stays an open status everywhere else.
|
|
24
|
+
|
|
25
|
+
### Fixed
|
|
26
|
+
|
|
27
|
+
- Answer options written as `**Label** — description` show that label on the option card, in the Today popover and in recorded responses, instead of a name made from the option id.
|
|
28
|
+
- A managed decision leaves Today once every receipt for its question is valid, so an applied receipt followed by a superseded one no longer keeps an answered decision under Needs you. When only some of several receipts are valid, Today shows the request with a problem naming the receipt files instead of offering an answer.
|
|
29
|
+
|
|
3
30
|
## 0.17.0 - 2026-10-18
|
|
4
31
|
|
|
5
32
|
### Changed
|
package/README.md
CHANGED
|
@@ -48,7 +48,7 @@ The work has three parts: choose a workspace once, author useful files per featu
|
|
|
48
48
|
work-board ./project-notes --home plan.md
|
|
49
49
|
```
|
|
50
50
|
|
|
51
|
-
This serves the existing folder on `http://127.0.0.1:4747`. The first screen at `/` is **Today**: a linked summary, **Needs you**, **In progress** and **Goals**. Human asks come from the shared attention projection. Needs-you entries stay within 48px. For questions with one-choice options, Answer opens a popover with buttons that record an answer against the current reviewed context. In progress shows up to eight items Fleet holds in executing, reviewing, repairing or adopting, with their stage and recorded PR link; **All in Now →** opens the full work view. Its summary counts all held items, including those beyond the preview. An unavailable Fleet source shows an unknown count. Goal cards show the next action clamped to two lines and done, in-progress and planned work with an **N of M done** count; criteria and their evidence counts sit behind a closed **Criteria** disclosure. These counts describe recorded source, not verified success. The optional home file remains a heading board through **Workspace notes**; other files remain documents. An empty Today links to getting-started guidance. **Getting started** remains available at `/_board/start`, with copyable project, investigation and agent-result templates. Save them through your editor or agent tool; the reader does not create files.
|
|
51
|
+
This serves the existing folder on `http://127.0.0.1:4747`. The first screen at `/` is **Today**: a linked summary, **Needs you**, **In progress**, **Later** and **Goals**. Human asks come from the shared attention projection. Needs-you entries stay within 48px. For questions with one-choice options, Answer opens a popover with buttons that record an answer against the current reviewed context. In progress shows up to eight items Fleet holds in executing, reviewing, repairing or adopting, with their stage and recorded PR link; **All in Now →** opens the full work view. Its summary counts all held items, including those beyond the preview. An unavailable Fleet source shows an unknown count. Goal cards show the next action clamped to two lines and done, in-progress and planned work with an **N of M done** count; criteria and their evidence counts sit behind a closed **Criteria** disclosure. These counts describe recorded source, not verified success. **Later** lists parked work with its count, closed by default: deferred items that would otherwise need you, each showing its `next_action`. It appears only when such items exist. The optional home file remains a heading board through **Workspace notes**; other files remain documents. An empty Today links to getting-started guidance. **Getting started** remains available at `/_board/start`, with copyable project, investigation and agent-result templates. Save them through your editor or agent tool; the reader does not create files.
|
|
52
52
|
|
|
53
53
|
A heading board uses `#` for its title, text before the first `##` for its intro, `##` for sections and `###` for cards. A section without cards shows its text. A `---` after the last heading starts the footer; a divider inside a card before another heading stays in that card. Code spans, reference links, footnotes and `<details>` can stay in the Markdown body. Leave a blank line after `<summary>` and before `</details>` when its content is Markdown.
|
|
54
54
|
|
|
@@ -179,7 +179,7 @@ The view refreshes through `client.api.diagnostics.query()` every 15 seconds whi
|
|
|
179
179
|
|
|
180
180
|
A recorded answer to a uniquely registered ordinary request retires that ask only for the reviewed source bytes and path. Managed decisions retire after an exact-context acknowledgement or when all their targets are closed or deferred. Active asks for the same target set share one row, using the newest reason and response link. Agent-only asks remain available through the typed attention projection. Source diagnostics never create human asks. Work cards show Fleet state, or **needs-you** for an authored ask when Fleet has no item state. These projections do not edit source status.
|
|
181
181
|
|
|
182
|
-
Owner labels are local conventions: `codex`, `claude`, `fleet`, `orchestrator`, `agent`, `automation`, `bot` and `copilot`, including labels beginning with those names followed by a dash, underscore, dot, space or slash, denote automation. Other nonblank owner labels denote people. A human owner needs a nonblank `next_action` to enter Today. Statuses `closed`, `done`, `superseded`, `completed`, `cancelled`, `canceled`, `resolved` and `released` leave the queue. These rules classify waiting work; they do not edit the recorded status.
|
|
182
|
+
Owner labels are local conventions: `codex`, `claude`, `fleet`, `orchestrator`, `agent`, `automation`, `bot` and `copilot`, including labels beginning with those names followed by a dash, underscore, dot, space or slash, denote automation. Other nonblank owner labels denote people. A human owner needs a nonblank `next_action` to enter Today. A `deferred` item stays out of Needs you and moves to **Later**, but remains open everywhere else. Statuses `closed`, `done`, `superseded`, `completed`, `cancelled`, `canceled`, `resolved` and `released` leave the queue. These rules classify waiting work; they do not edit the recorded status.
|
|
183
183
|
|
|
184
184
|
Fleet decision sources, captured questions, their answers and request receipts are hidden by default in Library. **Show Fleet records (N)** includes them in the current view. Ordinary authored questions remain visible, and all underlying files remain readable and searchable with the `records:` query prefix.
|
|
185
185
|
|
|
@@ -216,7 +216,7 @@ Explicit opt-in enables writes. Open the item’s answer card, read the request
|
|
|
216
216
|
|
|
217
217
|
Registration captures one question generation in `responses/`; submission creates an independent response file there. Original source bytes stay unchanged. Source edits or moves require a fresh review/preview; historical replies still identify the old context. Same-identity/content retries reconcile, conflicting contributions are rejected, and uncertain publication is reported explicitly.
|
|
218
218
|
|
|
219
|
-
An execution integration may mark a generated `kind: decision` request with `attention[].managed: true`. A separate immutable `kind: result` document records `request_receipt` with the registered question ID, its `reviewedRevision`, `recordedAt` and disposition `applied` or `superseded`. An applied receipt names the unique current `answer`; clarification and deferral cannot acknowledge it. Supersession retires the request without inventing an answer.
|
|
219
|
+
An execution integration may mark a generated `kind: decision` request with `attention[].managed: true`. A separate immutable `kind: result` document records `request_receipt` with the registered question ID, its `reviewedRevision`, `recordedAt` and disposition `applied` or `superseded`. An applied receipt names the unique current `answer`; clarification and deferral cannot acknowledge it. Supersession retires the request without inventing an answer. A receipt counts only when it matches the exact current source path and bytes. When every receipt for the question counts, the request leaves Today and the item's answer cards, and the reading shows the applied receipt if there is one. When only some of several receipts count, Today keeps the request with a problem naming the receipt files instead of offering an answer. `src/server/attention/settledReceipts.spec.ts` covers both cases. `currentResponses(responses)` from `@shivaedev/work-board/responses/current.ts` selects the latest response per author, ordered by recorded time and then response ID, and removes explicitly superseded responses. Managed acknowledgements use this selection; different authors remain competing, and superseding an author’s latest response does not revive an earlier answer. `src/responses/current.test.ts` and Fleet’s PostgreSQL question tests cover this rule. The source remains unchanged and readable. Ordinary authored requests remain source-driven; receipts grant no execution, acceptance or delivery authority.
|
|
220
220
|
|
|
221
221
|
Browser drafts use effect-form’s persisted drafts, keyed by workspace, item and request, with a 256 KiB limit per draft and a seven-day lifetime after the last edit. Navigation, reload and source refresh retain them; text edited while an earlier save completes remains an unsaved draft with a fresh identity. Malformed or expired drafts are discarded; unavailable storage leaves the form usable. **Clear draft** restores the current form’s initial values without changing saved records or saved responses.
|
|
222
222
|
|
|
@@ -292,24 +292,24 @@ Reported `evidence.checked_revision` is a Git revision, distinct from the report
|
|
|
292
292
|
|
|
293
293
|
### API and integration
|
|
294
294
|
|
|
295
|
-
Import the module that defines a name. The package has no root entry; its
|
|
295
|
+
Import the module that defines a name. The package has no root entry; a module's import path is its path under `src/`, which the `./*.ts` export maps to its source, declaration and runtime files. The browser bundle sources under `client/` stay unexported, except `client/client.ts` and `client/document/View.ts`. The main integration surfaces are:
|
|
296
296
|
|
|
297
297
|
| Module | Names and purpose |
|
|
298
298
|
| --- | --- |
|
|
299
|
-
| `board.ts` | `BoardOptions`, `boardLayer(options)`: Effect HTTP router Layer for the workspace |
|
|
300
|
-
| `serve.ts` | `ServeOptions`, `HOST`, `serveBoard(options)`: loopback Board serving through Platform’s `appHost` |
|
|
301
|
-
| `responses/agent.ts` | `AgentOptions`, `agentRequest(action, options, diagnostic?)`: Effect client for `question`, `response` or `wait` |
|
|
302
|
-
| `
|
|
299
|
+
| `server/board.ts` | `BoardOptions`, `boardLayer(options)`: Effect HTTP router Layer for the workspace |
|
|
300
|
+
| `server/serve.ts` | `ServeOptions`, `HOST`, `serveBoard(options)`: loopback Board serving through Platform’s `appHost` |
|
|
301
|
+
| `server/responses/agent.ts` | `AgentOptions`, `agentRequest(action, options, diagnostic?)`: Effect client for `question`, `response` or `wait` |
|
|
302
|
+
| `client/client.ts` | `Reader`, `BrowserClient`, `browserClient(url, options?)`: native reading, response and handoff bindings, registry and live updates |
|
|
303
303
|
| `rpc/contract.ts` | `workContract`, `Subscribe`, `workRpcs`: reading queries and combined native RPC group |
|
|
304
|
-
| `browser/document/schema.ts`, `
|
|
304
|
+
| `browser/document/schema.ts`, `client/document/View.ts` | `Document`, `DocumentRequest`, `DocumentView`, `DocumentViewProps`: source query data and React document rendering |
|
|
305
305
|
| `rpc/responseContract.ts` | `responseContract`: question/read/wait queries and register/record commands |
|
|
306
306
|
| `rpc/handoffContract.ts` | `handoffContract`: source/history queries and reviewed preparation command |
|
|
307
|
-
| `browser/
|
|
307
|
+
| `browser/Navigation.ts` | `Navigation`: compact navigation result schema/type |
|
|
308
308
|
| `browser/navigation/library.ts` | `Library`, `LibraryFile`, `LibraryInput`: titled document and folder query schemas |
|
|
309
309
|
| `browser/responses/schema.ts` | Question, response, answer and draft schemas/types |
|
|
310
310
|
| `rpc/rejections.ts` | `documentRejections`, `DocumentRejection`, `responseRejections`, `ResponseRejection`: declared taxonomy and application errors; `PublicationUncertain` and `Unanswered` |
|
|
311
311
|
| `browser/handoffs/schema.ts` | Handoff record, input, reading and source-preview schemas/types |
|
|
312
|
-
| `metadata/schema.ts`, `metadata/parse.ts`, `metadata/model.ts` | Source schemas, parsed fields/diagnostics and explicit identity/reference model |
|
|
312
|
+
| `metadata/schema.ts`, `server/metadata/parse.ts`, `server/metadata/model.ts` | Source schemas, parsed fields/diagnostics and explicit identity/reference model |
|
|
313
313
|
|
|
314
314
|
Other defining modules are also exposed by the wildcard. Their [source directory](https://github.com/ShivaeDev/platform/tree/main/packages/work-board/src) contains file/watch, HTTP, rendering, search, views and result-review helpers. Compose `boardLayer` to retain the package's source policy and request guards.
|
|
315
315
|
|
|
@@ -317,7 +317,7 @@ Other defining modules are also exposed by the wildcard. Their [source directory
|
|
|
317
317
|
|
|
318
318
|
```ts
|
|
319
319
|
import { NodeServices } from "@effect/platform-node";
|
|
320
|
-
import { boardLayer } from "@shivaedev/work-board/board.ts";
|
|
320
|
+
import { boardLayer } from "@shivaedev/work-board/server/board.ts";
|
|
321
321
|
import { Layer } from "effect";
|
|
322
322
|
import { HttpRouter } from "effect/http";
|
|
323
323
|
|
|
@@ -341,7 +341,7 @@ try {
|
|
|
341
341
|
|
|
342
342
|
```ts
|
|
343
343
|
import { Effect } from "effect";
|
|
344
|
-
import { agentRequest } from "@shivaedev/work-board/responses/agent.ts";
|
|
344
|
+
import { agentRequest } from "@shivaedev/work-board/server/responses/agent.ts";
|
|
345
345
|
|
|
346
346
|
const question = await Effect.runPromise(
|
|
347
347
|
agentRequest("question", {
|
|
@@ -357,7 +357,7 @@ Read the returned context before registration. This second program takes the rev
|
|
|
357
357
|
|
|
358
358
|
```ts
|
|
359
359
|
import { Effect } from "effect";
|
|
360
|
-
import { agentRequest } from "@shivaedev/work-board/responses/agent.ts";
|
|
360
|
+
import { agentRequest } from "@shivaedev/work-board/server/responses/agent.ts";
|
|
361
361
|
|
|
362
362
|
const [revision] = process.argv.slice(2);
|
|
363
363
|
if (!revision) throw new Error("Pass the reviewed revision as the first argument.");
|
|
@@ -378,7 +378,7 @@ console.log(JSON.stringify(answer, null, 2));
|
|
|
378
378
|
#### Use the native browser client
|
|
379
379
|
|
|
380
380
|
```ts
|
|
381
|
-
import { browserClient } from "@shivaedev/work-board/
|
|
381
|
+
import { browserClient } from "@shivaedev/work-board/client/client.ts";
|
|
382
382
|
|
|
383
383
|
export async function registerReviewedQuestion(url: string, revision: string) {
|
|
384
384
|
const client = browserClient(url);
|
|
@@ -416,7 +416,7 @@ Each criterion shows its progress split in one small line, targeting items and r
|
|
|
416
416
|
For a handoff, first read the preview with `client.run(client.handoffs.handoffSource.run({ item: "work.search" }))` and inspect its `context`. This complete program takes that reviewed path and revision as inputs:
|
|
417
417
|
|
|
418
418
|
```ts
|
|
419
|
-
import { browserClient } from "@shivaedev/work-board/
|
|
419
|
+
import { browserClient } from "@shivaedev/work-board/client/client.ts";
|
|
420
420
|
|
|
421
421
|
export async function prepareReviewedHandoff(
|
|
422
422
|
url: string,
|
|
@@ -452,7 +452,7 @@ Pass `preview.source` and `preview.reviewedRevision` only after reviewing the pr
|
|
|
452
452
|
Result reading returns the report, linked criteria and revision-pinned feedback from its typed query:
|
|
453
453
|
|
|
454
454
|
```ts
|
|
455
|
-
import { browserClient } from "@shivaedev/work-board/
|
|
455
|
+
import { browserClient } from "@shivaedev/work-board/client/client.ts";
|
|
456
456
|
|
|
457
457
|
export async function readReturnedResult(url: string, item: string) {
|
|
458
458
|
const client = browserClient(url);
|
|
@@ -476,7 +476,7 @@ RPC rejections use Platform taxonomy classes: `Forbidden` for disabled writes, `
|
|
|
476
476
|
|
|
477
477
|
Read `client.api.document.run({ url: "/notes.md" })` to get Markdown body source, metadata and diagnostics, resolved links and references, file information, resolved question actions and request previews with response history. Identity URLs and `/` use the same document query. Missing and duplicate identities reject with `NotFound` and `Conflict`; incomplete history stays explicitly unavailable. The query sends no rendered HTML or syntax tree.
|
|
478
478
|
|
|
479
|
-
Pass that data as the `document` prop of `DocumentView` from `@shivaedev/work-board/
|
|
479
|
+
Pass that data as the `document` prop of `DocumentView` from `@shivaedev/work-board/client/document/View.ts`. The view uses the Board's GFM, directive, heading and footnote plugins with raw HTML, browser-side Shiki and a Mermaid code override. `idPrefix` scopes footnotes when a host displays several documents. The Board shell is a React app with TanStack Router. Its route loaders read document and projection contract queries through `effect-react` in the shell's native registry; preloading and navigation share those reads. Document and item pages mount `DocumentView` from the typed document query; Today, Goals, Now, Library and System render typed projection queries in React, as do Workspace notes, Start, Handoff and Result. Their direct URLs load the shell and require JavaScript. The HTML page RPC is removed. The optional `reading` data supplies source context, backlinks, criterion claims and managed receipts; request `prompts` supply answer controls. Hosts can mount `DocumentView` directly from source-query data, or pass `context` and `introduction` React nodes for its document layout.
|
|
480
480
|
|
|
481
481
|
#### Headless addon API
|
|
482
482
|
|
|
@@ -484,17 +484,17 @@ Work Fleet uses five server entry points and one portable metadata type entry po
|
|
|
484
484
|
|
|
485
485
|
| Entry point | API object and members |
|
|
486
486
|
| --- | --- |
|
|
487
|
-
| `integration/board.ts` | `board`: `metadataParse`, `metadataModel`, `listMarkdown`, `markdownPath`, `watchChanges`, `searchSnapshot`; exported types `Diagnostic`, `ParsedMetadata`, `MetadataDocument`, `MetadataModel`, `MarkdownFile`, `Changes`, `Snapshot` |
|
|
487
|
+
| `server/integration/board.ts` | `board`: `metadataParse`, `metadataModel`, `listMarkdown`, `markdownPath`, `watchChanges`, `searchSnapshot`; exported types `Diagnostic`, `ParsedMetadata`, `MetadataDocument`, `MetadataModel`, `MarkdownFile`, `Changes`, `Snapshot` |
|
|
488
488
|
| `integration/metadata.ts` | Portable types `Diagnostic`, `ParsedMetadata`, `MetadataDocument`, `MetadataModel`, also available through `integration/board.ts` |
|
|
489
|
-
| `integration/responses.ts` | `responses`: `Responses`, `Workspace`, `WorkspaceConfig`, `readResponses`, `currentResponses`, `makeResponse`, `publish`, `revisionOf`, `questionId`, `questionFrom`, `questionMarkdown`, `responseMarkdown`, `DraftInput`, `Question`, `Reading`, `RecordedResponse`; exported types `DraftInput`, `Question`, `Reading`, `RecordedResponse`, `WorkspaceOptions` |
|
|
490
|
-
| `integration/attention.ts` | `attention`: `RequestReceipt`, `managedRequestReceipt`, `projection(snapshot)`; exported types `RequestReceipt`, `AttentionProjection` |
|
|
491
|
-
| `integration/diagnostics.ts` | `diagnostics`: `FleetHealth`, `CapacityRejection`, `FLEET_HEALTH_NAME`, `fleetHealth`, `DiagnosticsContract`, `DAEMON_PORT`, `DAEMON_RPC_PATH`, `DiagnosticsSources`, `SourceFailure`, `diagnostics`, `codexRateLimits`, `codexLimits`, `githubLimits`; exported types `FleetHealth`, `CapacityRejection`, `SourceFailure` |
|
|
492
|
-
| `integration/publication.ts` | `publication`: `directoryPath`, `validateDirectory` for addons that publish their own records through open directory handles |
|
|
489
|
+
| `server/integration/responses.ts` | `responses`: `Responses`, `Workspace`, `WorkspaceConfig`, `readResponses`, `currentResponses`, `makeResponse`, `publish`, `revisionOf`, `questionId`, `questionFrom`, `questionMarkdown`, `responseMarkdown`, `DraftInput`, `Question`, `Reading`, `RecordedResponse`; exported types `DraftInput`, `Question`, `Reading`, `RecordedResponse`, `WorkspaceOptions` |
|
|
490
|
+
| `server/integration/attention.ts` | `attention`: `RequestReceipt`, `managedRequestReceipt`, `projection(snapshot)`; exported types `RequestReceipt`, `AttentionProjection` |
|
|
491
|
+
| `server/integration/diagnostics.ts` | `diagnostics`: `FleetHealth`, `CapacityRejection`, `FLEET_HEALTH_NAME`, `fleetHealth`, `DiagnosticsContract`, `DAEMON_PORT`, `DAEMON_RPC_PATH`, `DiagnosticsSources`, `SourceFailure`, `diagnostics`, `codexRateLimits`, `codexLimits`, `githubLimits`; exported types `FleetHealth`, `CapacityRejection`, `SourceFailure` |
|
|
492
|
+
| `server/integration/publication.ts` | `publication`: `directoryPath`, `validateDirectory` for addons that publish their own records through open directory handles |
|
|
493
493
|
|
|
494
494
|
```ts
|
|
495
495
|
import { NodeServices } from "@effect/platform-node";
|
|
496
496
|
import { Effect } from "effect";
|
|
497
|
-
import { board } from "@shivaedev/work-board/integration/board.ts";
|
|
497
|
+
import { board } from "@shivaedev/work-board/server/integration/board.ts";
|
|
498
498
|
|
|
499
499
|
const read = Effect.scoped(Effect.gen(function* () {
|
|
500
500
|
const changes = yield* board.watchChanges("./notes");
|
|
@@ -503,7 +503,7 @@ const read = Effect.scoped(Effect.gen(function* () {
|
|
|
503
503
|
})).pipe(Effect.provide(NodeServices.layer));
|
|
504
504
|
```
|
|
505
505
|
|
|
506
|
-
The snapshot retains parsed documents, identity diagnostics and unavailable paths. Provide `responses.Workspace.layer` to `responses.Responses.layer`, then supply `responses.WorkspaceConfig` with that typed index, the same watcher, workspace `root`, optional `home` and explicit `writable` choice. The workspace service exposes `settings()` (root, real root, changes, home and write choice), `index()` (with `PlatformError` failures) and `document(url)`; the Board runtime and its in-memory harness compose the same service and RPC Layer. Use the service to register reviewed questions and record answers; `responses.publish` writes an immutable record under `responses/` (or `handoffs/` when selected), and the record helpers preserve exact reviewed bytes and source path. Agent-owned items remain ordinary Markdown edits. `attention.projection(snapshot)` returns the typed attention projection: `you`, `agents`, `resolved`, `parked`, `issues` and `complete`, with `items` retaining the same rows as `you` for existing clients. `attention.managedRequestReceipt` qualifies an acknowledgement against those records; it does not confer execution or acceptance authority. The publication helpers retain the filesystem limits below.
|
|
506
|
+
The snapshot retains parsed documents, identity diagnostics and unavailable paths. Provide `responses.Workspace.layer` to `responses.Responses.layer`, then supply `responses.WorkspaceConfig` with that typed index, the same watcher, workspace `root`, optional `home` and explicit `writable` choice. The workspace service exposes `settings()` (root, real root, changes, home and write choice), `index()` (with `PlatformError` failures) and `document(url)`; the Board runtime and its in-memory harness compose the same service and RPC Layer. Use the service to register reviewed questions and record answers; `responses.publish` writes an immutable record under `responses/` (or `handoffs/` when selected), and the record helpers preserve exact reviewed bytes and source path. Agent-owned items remain ordinary Markdown edits. `attention.projection(snapshot)` returns the typed attention projection: `you`, `agents`, `resolved`, `parked`, `later`, `issues` and `complete`, with `items` retaining the same rows as `you` for existing clients. `attention.managedRequestReceipt` qualifies an acknowledgement against those records; it does not confer execution or acceptance authority. The publication helpers retain the filesystem limits below.
|
|
507
507
|
|
|
508
508
|
Fleet's production imports are fenced to these six entry points by `pnpm lint`; its test fixtures may still use Board modules directly. The packed-package consumer exercises the headless read, response and receipt path through these exports.
|
|
509
509
|
|
|
@@ -526,6 +526,8 @@ Both commands require `work-board` on the client's PATH. `work-board mcp <dir>`
|
|
|
526
526
|
|
|
527
527
|
Fleet unavailability stays explicit in results. These tools read state without changing files or starting a board.
|
|
528
528
|
|
|
529
|
+
In Claude Code, the [Work Board plugin](https://github.com/ShivaeDev/platform/tree/main/packages/work-board-plugin) reads the same socket without registering a server: it finds the nearest `.work` folder above the session, shows Needs you, In flight and Goals in a pane and a band above the prompt, and offers the same three tools.
|
|
530
|
+
|
|
529
531
|
#### CLI reference
|
|
530
532
|
|
|
531
533
|
| Server argument | Default | Meaning |
|
package/assets/react.css
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
|
|
2
|
-
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-space-y-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-font-weight:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-leading:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-black:#000;--spacing:.25rem;--container-4xl:56rem;--container-5xl:64rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--font-weight-medium:500;--font-weight-semibold:600;--leading-tight:1.25;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}.doc a{text-underline-offset:4px;text-decoration-line:underline}*{border-color:var(--border);outline-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){*{outline-color:color-mix(in oklab, var(--ring) 50%, transparent)}}html,body{background-color:var(--background);color:var(--foreground)}}@layer components{.document-layout .reading-column{width:100%;max-width:68ch;font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));--tw-leading:1.65;overflow-wrap:anywhere;line-height:1.65}.reading-column :is(h1,h2,h3,h4,h5,h6),.item-introduction h1{margin-top:calc(var(--spacing) * 8);margin-bottom:calc(var(--spacing) * 4);--tw-leading:var(--leading-tight);line-height:var(--leading-tight);--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.item-introduction h1{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height));margin-top:0}.reading-column h2{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.reading-column h3{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.reading-column :is(p,ul,ol,blockquote,pre,table){margin-block:calc(var(--spacing) * 4)}.reading-column :is(ul,ol){padding-left:calc(var(--spacing) * 6)}.reading-column ul{list-style-type:disc}.reading-column ol{list-style-type:decimal}.reading-column :is(code,pre),.item-context code{font-family:var(--font-mono)}.reading-column pre{border-radius:var(--radius);background-color:var(--muted);padding:calc(var(--spacing) * 4);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));overflow:auto}.reading-column blockquote{border-left-style:var(--tw-border-style);padding-left:calc(var(--spacing) * 4);color:var(--muted-foreground);border-left-width:2px}.reading-column table{display:block;overflow:auto}.reading-column :is(th,td){border-style:var(--tw-border-style);padding:calc(var(--spacing) * 2);border-width:1px}.item-context{overflow-wrap:anywhere}.item-context h3{margin-top:calc(var(--spacing) * 5);margin-bottom:calc(var(--spacing) * 3);--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.item-context h4{margin-top:calc(var(--spacing) * 4);margin-bottom:calc(var(--spacing) * 2);--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}:where(.item-context ul>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}.item-context ul{padding-left:calc(var(--spacing) * 4)}.item-context p{margin-block:calc(var(--spacing) * 3)}.document-lead [id],.item-context [id],.reading-column [id]{scroll-margin-top:15rem}.item-introduction .heading-anchor,.reading-column .heading-anchor{opacity:0}.item-introduction h1:hover .heading-anchor,.reading-column :is(h1,h2,h3,h4,h5,h6):hover .heading-anchor,.heading-anchor:focus-visible{opacity:1}figure.diagram{margin-inline:0}figure.diagram[data-state=pending]{min-height:calc(var(--spacing) * 48);border-radius:calc(var(--radius) - 2px);background-color:var(--muted)}figure.diagram .diagram-source{display:none}figure.diagram[data-state=failed] .diagram-source{display:block}[data-diagram-error]{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--destructive)}.shiki span{color:var(--shiki-light)}.dark .shiki span{color:var(--shiki-dark)}.visual-document,.visual-callout{margin-block:calc(var(--spacing) * 5);border-radius:var(--radius);border-style:var(--tw-border-style);padding:calc(var(--spacing) * 4);overflow-wrap:anywhere;border-width:1px}.visual-label{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.visual-value{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height));--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.visual-document progress{width:100%;accent-color:var(--primary);display:block}.visual-callout{border-left-style:var(--tw-border-style);background-color:var(--muted);border-left-width:4px}.visual-warning,.visual-caution{border-left-color:var(--status-needs-you)}.visual-diagnostic{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--muted-foreground)}.questionnaire-option{margin-block:calc(var(--spacing) * 4);border-left-style:var(--tw-border-style);padding-block:var(--spacing);padding-left:calc(var(--spacing) * 4);overflow-wrap:anywhere;border-left-width:2px}.questionnaire-answer{border-radius:calc(var(--radius) - 2px);border-style:var(--tw-border-style);padding-inline:calc(var(--spacing) * 4);padding-block:calc(var(--spacing) * 2);border-width:1px;display:inline-block}}@layer utilities{.pointer-events-none{pointer-events:none}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-x-0{inset-inline:0}.inset-y-0{inset-block:0}.top-0{top:0}.top-full{top:100%}.right-0{right:0}.bottom-0{bottom:0}.left-auto{left:auto}.z-20{z-index:20}.z-30{z-index:30}.z-50{z-index:50}.col-span-full{grid-column:1/-1}.row-start-2{grid-row-start:2}.row-start-3{grid-row-start:3}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.m-0{margin:0}.mx-4{margin-inline:calc(var(--spacing) * 4)}.mx-auto{margin-inline:auto}.my-2{margin-block:calc(var(--spacing) * 2)}.my-3{margin-block:calc(var(--spacing) * 3)}.my-6{margin-block:calc(var(--spacing) * 6)}.\!mt-0{margin-top:0!important}.mt-0{margin-top:0}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-auto{margin-top:auto}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.ml-1\.5{margin-left:calc(var(--spacing) * 1.5)}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.size-2{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-12{height:calc(var(--spacing) * 12)}.h-dvh{height:100dvh}.h-full{height:100%}.max-h-12{max-height:calc(var(--spacing) * 12)}.max-h-72{max-height:calc(var(--spacing) * 72)}.max-h-none{max-height:none}.min-h-8{min-height:calc(var(--spacing) * 8)}.min-h-12{min-height:calc(var(--spacing) * 12)}.min-h-dvh{min-height:100dvh}.w-72{width:calc(var(--spacing) * 72)}.w-80{width:calc(var(--spacing) * 80)}.w-auto{width:auto}.w-full{width:100%}.w-max{width:max-content}.max-w-4xl{max-width:var(--container-4xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-24{max-width:calc(var(--spacing) * 24)}.max-w-64{max-width:calc(var(--spacing) * 64)}.max-w-\[68ch\]{max-width:68ch}.max-w-\[calc\(100vw-2rem\)\]{max-width:calc(100vw - 2rem)}.max-w-full{max-width:100%}.min-w-0{min-width:0}.flex-1{flex:1}.shrink-0{flex-shrink:0}.basis-40{flex-basis:calc(var(--spacing) * 40)}.cursor-pointer{cursor:pointer}.resize{resize:both}.\!list-none{list-style-type:none!important}.list-none{list-style-type:none}.auto-cols-\[minmax\(260px\,1fr\)\]{grid-auto-columns:minmax(260px,1fr)}.grid-flow-col{grid-auto-flow:column}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-start{justify-content:flex-start}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(var(--spacing) * var(--tw-space-y-reverse));margin-block-end:calc(var(--spacing) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-5{column-gap:calc(var(--spacing) * 5)}.gap-y-2{row-gap:calc(var(--spacing) * 2)}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}.self-start{align-self:flex-start}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:2147483647px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-agent-working\/25{border-color:var(--status-agent-working)}@supports (color:color-mix(in lab, red, red)){.border-agent-working\/25{border-color:color-mix(in oklab, var(--status-agent-working) 25%, transparent)}}.border-background{border-color:var(--background)}.border-blocked\/25{border-color:var(--status-blocked)}@supports (color:color-mix(in lab, red, red)){.border-blocked\/25{border-color:color-mix(in oklab, var(--status-blocked) 25%, transparent)}}.border-border{border-color:var(--border)}.border-deferred\/25{border-color:var(--status-deferred)}@supports (color:color-mix(in lab, red, red)){.border-deferred\/25{border-color:color-mix(in oklab, var(--status-deferred) 25%, transparent)}}.border-done\/25{border-color:var(--status-done)}@supports (color:color-mix(in lab, red, red)){.border-done\/25{border-color:color-mix(in oklab, var(--status-done) 25%, transparent)}}.border-input{border-color:var(--input)}.border-needs-you\/25{border-color:var(--status-needs-you)}@supports (color:color-mix(in lab, red, red)){.border-needs-you\/25{border-color:color-mix(in oklab, var(--status-needs-you) 25%, transparent)}}.border-transparent{border-color:#0000}.border-waiting-on-agents\/25{border-color:var(--status-waiting-on-agents)}@supports (color:color-mix(in lab, red, red)){.border-waiting-on-agents\/25{border-color:color-mix(in oklab, var(--status-waiting-on-agents) 25%, transparent)}}.bg-accent{background-color:var(--accent)}.bg-agent-working,.bg-agent-working\/10{background-color:var(--status-agent-working)}@supports (color:color-mix(in lab, red, red)){.bg-agent-working\/10{background-color:color-mix(in oklab, var(--status-agent-working) 10%, transparent)}}.bg-background{background-color:var(--background)}.bg-black\/45{background-color:#00000073}@supports (color:color-mix(in lab, red, red)){.bg-black\/45{background-color:color-mix(in oklab, var(--color-black) 45%, transparent)}}.bg-blocked,.bg-blocked\/10{background-color:var(--status-blocked)}@supports (color:color-mix(in lab, red, red)){.bg-blocked\/10{background-color:color-mix(in oklab, var(--status-blocked) 10%, transparent)}}.bg-card{background-color:var(--card)}.bg-deferred,.bg-deferred\/10{background-color:var(--status-deferred)}@supports (color:color-mix(in lab, red, red)){.bg-deferred\/10{background-color:color-mix(in oklab, var(--status-deferred) 10%, transparent)}}.bg-done,.bg-done\/10{background-color:var(--status-done)}@supports (color:color-mix(in lab, red, red)){.bg-done\/10{background-color:color-mix(in oklab, var(--status-done) 10%, transparent)}}.bg-foreground{background-color:var(--foreground)}.bg-muted{background-color:var(--muted)}.bg-needs-you,.bg-needs-you\/10{background-color:var(--status-needs-you)}@supports (color:color-mix(in lab, red, red)){.bg-needs-you\/10{background-color:color-mix(in oklab, var(--status-needs-you) 10%, transparent)}}.bg-popover{background-color:var(--popover)}.bg-primary{background-color:var(--primary)}.bg-secondary{background-color:var(--secondary)}.bg-transparent{background-color:#0000}.bg-waiting-on-agents,.bg-waiting-on-agents\/10{background-color:var(--status-waiting-on-agents)}@supports (color:color-mix(in lab, red, red)){.bg-waiting-on-agents\/10{background-color:color-mix(in oklab, var(--status-waiting-on-agents) 10%, transparent)}}.\!p-0{padding:0!important}.p-0{padding:0}.p-1{padding:var(--spacing)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-6{padding:calc(var(--spacing) * 6)}.px-1{padding-inline:var(--spacing)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.pt-1{padding-top:var(--spacing)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-\[calc\(4rem\+env\(safe-area-inset-bottom\)\)\]{padding-bottom:calc(4rem + env(safe-area-inset-bottom))}.pb-\[max\(0\.25rem\,env\(safe-area-inset-bottom\)\)\]{padding-bottom:max(.25rem, env(safe-area-inset-bottom))}.pl-4{padding-left:calc(var(--spacing) * 4)}.text-left{text-align:left}.align-bottom{vertical-align:bottom}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.\[overflow-wrap\:anywhere\]{overflow-wrap:anywhere}.break-words{overflow-wrap:break-word}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-agent-working{color:var(--status-agent-working)}.text-background{color:var(--background)}.text-blocked{color:var(--status-blocked)}.text-card-foreground{color:var(--card-foreground)}.text-deferred{color:var(--status-deferred)}.text-destructive{color:var(--destructive)}.text-done{color:var(--status-done)}.text-foreground{color:var(--foreground)}.text-muted-foreground{color:var(--muted-foreground)}.text-needs-you{color:var(--status-needs-you)}.text-popover-foreground{color:var(--popover-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-secondary-foreground{color:var(--secondary-foreground)}.text-waiting-on-agents{color:var(--status-waiting-on-agents)}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.no-underline{text-decoration-line:none}.underline{text-decoration-line:underline}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.outline-none{--tw-outline-style:none;outline-style:none}.group-focus-within\:block:is(:where(.group):focus-within *){display:block}@media (hover:hover){.group-hover\:block:is(:where(.group):hover *){display:block}}.backdrop\:bg-black\/45::backdrop{background-color:#00000073}@supports (color:color-mix(in lab, red, red)){.backdrop\:bg-black\/45::backdrop{background-color:color-mix(in oklab, var(--color-black) 45%, transparent)}}.empty\:hidden:empty{display:none}@media (hover:hover){.hover\:bg-accent:hover{background-color:var(--accent)}.hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab, var(--primary) 90%, transparent)}}.hover\:bg-secondary\/80:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab, var(--secondary) 80%, transparent)}}.hover\:text-accent-foreground:hover{color:var(--accent-foreground)}}.focus\:not-sr-only:focus{clip-path:none;white-space:normal;width:auto;height:auto;margin:0;padding:0;position:static;overflow:visible}.focus\:absolute:focus{position:absolute}.focus\:z-50:focus{z-index:50}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:var(--ring)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-50:disabled{opacity:.5}.aria-\[current\=page\]\:bg-accent[aria-current=page]{background-color:var(--accent)}.aria-\[current\=page\]\:text-primary[aria-current=page]{color:var(--primary)}.data-\[open\=true\]\:block[data-open=true]{display:block}.data-\[state\=down\]\:text-destructive[data-state=down],.data-\[state\=stale\]\:text-destructive[data-state=stale]{color:var(--destructive)}@media not all and (width>=48rem){.max-md\:fixed{position:fixed}.max-md\:inset-y-0{inset-block:0}.max-md\:left-0{left:0}.max-md\:z-40{z-index:40}.max-md\:w-\[min\(320px\,calc\(100vw-48px\)\)\]{width:min(320px,100vw - 48px)}.max-md\:auto-cols-auto{grid-auto-columns:auto}.max-md\:grid-flow-row{grid-auto-flow:row}}@media not all and (width>=40rem){.max-sm\:hidden{display:none}.max-sm\:size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.max-sm\:justify-center{justify-content:center}.max-sm\:gap-0{gap:0}.max-sm\:px-1{padding-inline:var(--spacing)}.max-sm\:text-\[0px\]{font-size:0}}@media (width>=40rem){.sm\:hidden{display:none}.sm\:inline{display:inline}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:gap-2{gap:calc(var(--spacing) * 2)}.sm\:p-6{padding:calc(var(--spacing) * 6)}.sm\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}@media (width>=48rem){.md\:static{position:static}.md\:block{display:block}.md\:flex{display:flex}.md\:hidden{display:none}.md\:inline-flex{display:inline-flex}.md\:h-14{height:calc(var(--spacing) * 14)}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}:where(.md\:space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}.md\:p-8{padding:calc(var(--spacing) * 8)}.md\:px-6{padding-inline:calc(var(--spacing) * 6)}.md\:pb-0{padding-bottom:0}.md\:data-\[sidebar\=open\]\:grid-cols-\[248px_minmax\(0\,1fr\)\][data-sidebar=open]{grid-template-columns:248px minmax(0,1fr)}}@media (width>=64rem){.lg\:col-start-1{grid-column-start:1}.lg\:col-start-2{grid-column-start:2}.lg\:row-start-2{grid-row-start:2}.lg\:inline{display:inline}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-\[minmax\(0\,68ch\)_minmax\(240px\,1fr\)\]{grid-template-columns:minmax(0,68ch) minmax(240px,1fr)}.lg\:gap-x-8{column-gap:calc(var(--spacing) * 8)}}@media (width>=80rem){.xl\:grid-cols-\[minmax\(0\,2fr\)_minmax\(0\,1fr\)\]{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}}@media print{.print\:block{display:block}.print\:hidden{display:none}}.\[\&_a\]\:underline a{text-decoration-line:underline}.\[\&_a\]\:underline-offset-4 a{text-underline-offset:4px}.\[\&_article\]\:rounded-lg article{border-radius:var(--radius)}.\[\&_article\]\:border article{border-style:var(--tw-border-style);border-width:1px}.\[\&_article\]\:p-4 article{padding:calc(var(--spacing) * 4)}.\[\&_button\]\:mr-2 button{margin-right:calc(var(--spacing) * 2)}.\[\&_button\]\:mb-2 button{margin-bottom:calc(var(--spacing) * 2)}.\[\&_code\]\:break-all code{word-break:break-all}.\[\&_dd\]\:text-muted-foreground dd{color:var(--muted-foreground)}.\[\&_details\]\:my-4 details{margin-block:calc(var(--spacing) * 4)}.\[\&_details\]\:rounded-lg details{border-radius:var(--radius)}.\[\&_details\]\:border details{border-style:var(--tw-border-style);border-width:1px}.\[\&_details\]\:p-4 details{padding:calc(var(--spacing) * 4)}.\[\&_dl\]\:grid dl{display:grid}.\[\&_dl\]\:gap-2 dl{gap:calc(var(--spacing) * 2)}.\[\&_dt\]\:font-medium dt{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.\[\&_dt\]\:text-muted-foreground dt{color:var(--muted-foreground)}.\[\&_h1\]\:text-2xl h1{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.\[\&_h1\]\:font-semibold h1{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.\[\&_h2\]\:mb-3 h2{margin-bottom:calc(var(--spacing) * 3)}.\[\&_h2\]\:text-xl h2{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.\[\&_h2\]\:font-semibold h2,.\[\&_h3\]\:font-semibold h3{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.\[\&_meter\]\:w-full meter{width:100%}.\[\&_ol\]\:list-decimal ol{list-style-type:decimal}:where(.\[\&_ol\]\:space-y-3 ol>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}.\[\&_ol\]\:pl-5 ol{padding-left:calc(var(--spacing) * 5)}.\[\&_p\]\:my-3 p{margin-block:calc(var(--spacing) * 3)}.\[\&_pre\]\:my-4 pre{margin-block:calc(var(--spacing) * 4)}.\[\&_pre\]\:max-h-96 pre{max-height:calc(var(--spacing) * 96)}.\[\&_pre\]\:overflow-auto pre{overflow:auto}.\[\&_pre\]\:rounded-md pre{border-radius:calc(var(--radius) - 2px)}.\[\&_pre\]\:bg-muted pre{background-color:var(--muted)}.\[\&_pre\]\:p-4 pre{padding:calc(var(--spacing) * 4)}.\[\&_pre\]\:text-sm pre{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.\[\&_pre\]\:whitespace-pre-wrap pre{white-space:pre-wrap}.\[\&_summary\]\:cursor-pointer summary{cursor:pointer}.\[\&_summary\]\:font-medium summary{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.\[\&_svg\]\:size-3\.5 svg{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.\[\&_svg\]\:size-4 svg{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}@media not all and (width>=40rem){.max-sm\:\[\&_svg\]\:shrink-0 svg{flex-shrink:0}}.\[\&_ul\]\:list-disc ul{list-style-type:disc}:where(.\[\&_ul\]\:space-y-3 ul>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}.\[\&_ul\]\:pl-5 ul{padding-left:calc(var(--spacing) * 5)}}#search-dialog.command-palette{width:min(640px,100vw - 32px);max-height:calc(100dvh - 32px);color:var(--popover-foreground);background:var(--popover);border-radius:var(--radius);margin:auto;padding:0;overflow:hidden;box-shadow:0 16px 48px #0000002e}.command-palette .search-header{padding:12px 16px}.command-palette .search-header h2{font-size:1rem;font-weight:600}.command-palette #search-form{border-block:1px solid var(--border);margin:0;padding:12px 16px}.command-palette #search-form label{color:var(--muted-foreground);font-size:.8rem}.command-palette #search-query{background:0 0}.command-palette :is(.search-help,#search-status){margin:8px 16px;font-size:.75rem}.command-palette #search-results{overscroll-behavior:contain;max-height:min(420px,100dvh - 260px);padding:4px;overflow-y:auto}.command-palette #search-results a{color:var(--popover-foreground);padding:10px 12px}.command-palette #search-results a[aria-selected=true]{background:var(--accent);outline:none}.command-palette #search-results small{flex-wrap:wrap;align-items:center;gap:6px;margin-top:4px;display:flex}.command-palette #search-results p{color:var(--muted-foreground);font-size:.8rem}:root{--radius:.625rem;--bg:var(--background);--text:var(--foreground);--surface:var(--secondary);--link:var(--foreground);--danger:var(--destructive);--focus:var(--ring);--status-needs-you:oklch(48% .11 75);--status-agent-working:oklch(48% .16 255);--status-waiting-on-agents:oklch(48% .16 300);--status-blocked:oklch(50% .19 25);--status-done:oklch(47% .065 155);--status-deferred:oklch(50% 0 0);--background:oklch(100% 0 0);--foreground:oklch(14.5% 0 0);--card:oklch(100% 0 0);--card-foreground:oklch(14.5% 0 0);--popover:oklch(100% 0 0);--popover-foreground:oklch(14.5% 0 0);--primary:oklch(45% .12 155);--primary-foreground:oklch(98.5% 0 0);--secondary:oklch(97% 0 0);--secondary-foreground:oklch(20.5% 0 0);--muted:oklch(97% 0 0);--muted-foreground:oklch(55.6% 0 0);--accent:oklch(97% 0 0);--accent-foreground:oklch(20.5% 0 0);--destructive:oklch(57.7% .245 27.325);--border:oklch(92.2% 0 0);--input:oklch(92.2% 0 0);--ring:oklch(55% .14 155);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.dark{--status-needs-you:oklch(80% .13 75);--status-agent-working:oklch(76% .13 255);--status-waiting-on-agents:oklch(78% .13 300);--status-blocked:oklch(75% .15 25);--status-done:oklch(73% .065 155);--status-deferred:oklch(72% 0 0);--background:oklch(14.5% 0 0);--foreground:oklch(98.5% 0 0);--card:oklch(20.5% 0 0);--card-foreground:oklch(98.5% 0 0);--popover:oklch(20.5% 0 0);--popover-foreground:oklch(98.5% 0 0);--primary:oklch(72% .14 155);--primary-foreground:oklch(20.5% 0 0);--secondary:oklch(26.9% 0 0);--secondary-foreground:oklch(98.5% 0 0);--muted:oklch(26.9% 0 0);--muted-foreground:oklch(70.8% 0 0);--accent:oklch(26.9% 0 0);--accent-foreground:oklch(98.5% 0 0);--destructive:oklch(70.4% .191 22.216);--border:oklch(100% 0 0/.1);--input:oklch(100% 0 0/.15);--ring:oklch(72% .14 155);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.document-layout{--document-leading-rows:0}:is(.document-layout:has(>.document-lead),.document-layout:has(>.answer-cards)){--document-leading-rows:1}.document-layout:has(>.document-lead):has(>.answer-cards){--document-leading-rows:2}.document-layout>.document-lead{grid-row-start:2}.document-layout>.answer-cards{grid-row-start:calc(1 + var(--document-leading-rows))}.document-layout>:is(article,.board){grid-row-start:calc(2 + var(--document-leading-rows))}.document-layout>aside{grid-row-start:calc(3 + var(--document-leading-rows))}@media (width>=1024px){.document-layout>aside{grid-row-start:calc(2 + var(--document-leading-rows))}}.answer-cards>.response-panel{max-width:72ch;margin:0;padding:1rem}.phone-more{width:100%;max-width:100%;max-height:80dvh;padding:1rem 1rem max(1rem, env(safe-area-inset-bottom));color:var(--foreground);background:var(--background);border:1px solid var(--border);border-radius:1rem 1rem 0 0;margin:0;position:fixed;inset:auto 0 0;overflow-y:auto}.phone-more::backdrop{background:#00000073}@media (width<=767px){[data-board-page] .work-columns{grid-template-columns:minmax(0,1fr);grid-auto-columns:auto;grid-auto-flow:row;overflow-x:visible}[data-board-page] .work-card-list{height:auto;max-height:min(60vh,600px)}[data-board-page] .item-introduction{z-index:auto;position:static}[data-board-page] #doc{overflow-wrap:anywhere}}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}
|
|
2
|
+
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-space-y-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-leading:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-black:#000;--spacing:.25rem;--container-4xl:56rem;--container-5xl:64rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--tracking-wide:.025em;--leading-tight:1.25;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}.doc a{text-underline-offset:4px;text-decoration-line:underline}*{border-color:var(--border);outline-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){*{outline-color:color-mix(in oklab, var(--ring) 50%, transparent)}}html,body{background-color:var(--background);color:var(--foreground)}}@layer components{.document-layout .reading-column{width:100%;max-width:68ch;font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));--tw-leading:1.65;overflow-wrap:anywhere;line-height:1.65}.reading-column :is(h1,h2,h3,h4,h5,h6),.item-introduction h1{margin-top:calc(var(--spacing) * 8);margin-bottom:calc(var(--spacing) * 4);--tw-leading:var(--leading-tight);line-height:var(--leading-tight);--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.item-introduction h1{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height));margin-top:0}.reading-column h2{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.reading-column h3{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.reading-column :is(p,ul,ol,blockquote,pre,table){margin-block:calc(var(--spacing) * 4)}.reading-column :is(ul,ol){padding-left:calc(var(--spacing) * 6)}.reading-column ul{list-style-type:disc}.reading-column ol{list-style-type:decimal}.reading-column :is(code,pre),.item-context code{font-family:var(--font-mono)}.reading-column pre{border-radius:var(--radius);background-color:var(--muted);padding:calc(var(--spacing) * 4);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));overflow:auto}.reading-column blockquote{border-left-style:var(--tw-border-style);padding-left:calc(var(--spacing) * 4);color:var(--muted-foreground);border-left-width:2px}.reading-column table{display:block;overflow:auto}.reading-column :is(th,td){border-style:var(--tw-border-style);padding:calc(var(--spacing) * 2);border-width:1px}.item-context{overflow-wrap:anywhere}.item-context h3{margin-top:calc(var(--spacing) * 5);margin-bottom:calc(var(--spacing) * 3);--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.item-context h4{margin-top:calc(var(--spacing) * 4);margin-bottom:calc(var(--spacing) * 2);--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}:where(.item-context ul>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}.item-context ul{padding-left:calc(var(--spacing) * 4)}.item-context p{margin-block:calc(var(--spacing) * 3)}.document-lead [id],.item-context [id],.reading-column [id]{scroll-margin-top:15rem}.item-introduction .heading-anchor,.reading-column .heading-anchor{opacity:0}.item-introduction h1:hover .heading-anchor,.reading-column :is(h1,h2,h3,h4,h5,h6):hover .heading-anchor,.heading-anchor:focus-visible{opacity:1}figure.diagram{margin-inline:0}figure.diagram[data-state=pending]{min-height:calc(var(--spacing) * 48);border-radius:calc(var(--radius) - 2px);background-color:var(--muted)}figure.diagram .diagram-source{display:none}figure.diagram[data-state=failed] .diagram-source{display:block}[data-diagram-error]{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--destructive)}.shiki span{color:var(--shiki-light)}.dark .shiki span{color:var(--shiki-dark)}.visual-document,.visual-callout{margin-block:calc(var(--spacing) * 5);border-radius:var(--radius);border-style:var(--tw-border-style);padding:calc(var(--spacing) * 4);overflow-wrap:anywhere;border-width:1px}.visual-label{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.visual-value{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height));--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.visual-document progress{width:100%;accent-color:var(--primary);display:block}.visual-callout{border-left-style:var(--tw-border-style);background-color:var(--muted);border-left-width:4px}.visual-warning,.visual-caution{border-left-color:var(--status-needs-you)}.visual-diagnostic{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--muted-foreground)}.questionnaire-option{margin-block:calc(var(--spacing) * 4);border-left-style:var(--tw-border-style);padding-block:var(--spacing);padding-left:calc(var(--spacing) * 4);overflow-wrap:anywhere;border-left-width:2px}.questionnaire-answer{border-radius:calc(var(--radius) - 2px);border-style:var(--tw-border-style);padding-inline:calc(var(--spacing) * 4);padding-block:calc(var(--spacing) * 2);border-width:1px;display:inline-block}}@layer utilities{.pointer-events-none{pointer-events:none}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-x-0{inset-inline:0}.inset-y-0{inset-block:0}.top-0{top:0}.top-full{top:100%}.right-0{right:0}.bottom-0{bottom:0}.left-auto{left:auto}.z-20{z-index:20}.z-30{z-index:30}.z-50{z-index:50}.col-span-full{grid-column:1/-1}.row-start-2{grid-row-start:2}.row-start-3{grid-row-start:3}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.m-0{margin:0}.mx-4{margin-inline:calc(var(--spacing) * 4)}.mx-auto{margin-inline:auto}.my-2{margin-block:calc(var(--spacing) * 2)}.my-3{margin-block:calc(var(--spacing) * 3)}.my-6{margin-block:calc(var(--spacing) * 6)}.\!mt-0{margin-top:0!important}.mt-0{margin-top:0}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-auto{margin-top:auto}.mb-1{margin-bottom:var(--spacing)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.ml-1\.5{margin-left:calc(var(--spacing) * 1.5)}.ml-2{margin-left:calc(var(--spacing) * 2)}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.size-2{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-12{height:calc(var(--spacing) * 12)}.h-auto{height:auto}.h-dvh{height:100dvh}.h-full{height:100%}.max-h-12{max-height:calc(var(--spacing) * 12)}.max-h-72{max-height:calc(var(--spacing) * 72)}.max-h-none{max-height:none}.min-h-8{min-height:calc(var(--spacing) * 8)}.min-h-12{min-height:calc(var(--spacing) * 12)}.min-h-dvh{min-height:100dvh}.w-72{width:calc(var(--spacing) * 72)}.w-80{width:calc(var(--spacing) * 80)}.w-auto{width:auto}.w-full{width:100%}.w-max{width:max-content}.max-w-4xl{max-width:var(--container-4xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-24{max-width:calc(var(--spacing) * 24)}.max-w-64{max-width:calc(var(--spacing) * 64)}.max-w-\[68ch\]{max-width:68ch}.max-w-\[72ch\]{max-width:72ch}.max-w-\[calc\(100vw-2rem\)\]{max-width:calc(100vw - 2rem)}.max-w-full{max-width:100%}.min-w-0{min-width:0}.flex-1{flex:1}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.basis-40{flex-basis:calc(var(--spacing) * 40)}.cursor-pointer{cursor:pointer}.resize{resize:both}.\!list-none{list-style-type:none!important}.list-none{list-style-type:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.grid-cols-\[repeat\(6\,minmax\(8\.5rem\,1fr\)\)\]{grid-template-columns:repeat(6,minmax(8.5rem,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-start{justify-content:flex-start}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(var(--spacing) * var(--tw-space-y-reverse));margin-block-end:calc(var(--spacing) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-1\.5{column-gap:calc(var(--spacing) * 1.5)}.gap-x-5{column-gap:calc(var(--spacing) * 5)}.gap-y-2{row-gap:calc(var(--spacing) * 2)}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}.self-start{align-self:flex-start}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-\[1px\]{border-radius:1px}.rounded-full{border-radius:2147483647px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:calc(var(--radius) + 4px)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-agent-working\/25{border-color:var(--status-agent-working)}@supports (color:color-mix(in lab, red, red)){.border-agent-working\/25{border-color:color-mix(in oklab, var(--status-agent-working) 25%, transparent)}}.border-background{border-color:var(--background)}.border-blocked\/25{border-color:var(--status-blocked)}@supports (color:color-mix(in lab, red, red)){.border-blocked\/25{border-color:color-mix(in oklab, var(--status-blocked) 25%, transparent)}}.border-border{border-color:var(--border)}.border-deferred\/25{border-color:var(--status-deferred)}@supports (color:color-mix(in lab, red, red)){.border-deferred\/25{border-color:color-mix(in oklab, var(--status-deferred) 25%, transparent)}}.border-destructive\/40{border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.border-destructive\/40{border-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.border-done\/25{border-color:var(--status-done)}@supports (color:color-mix(in lab, red, red)){.border-done\/25{border-color:color-mix(in oklab, var(--status-done) 25%, transparent)}}.border-done\/40{border-color:var(--status-done)}@supports (color:color-mix(in lab, red, red)){.border-done\/40{border-color:color-mix(in oklab, var(--status-done) 40%, transparent)}}.border-input{border-color:var(--input)}.border-muted-foreground{border-color:var(--muted-foreground)}.border-needs-you\/25{border-color:var(--status-needs-you)}@supports (color:color-mix(in lab, red, red)){.border-needs-you\/25{border-color:color-mix(in oklab, var(--status-needs-you) 25%, transparent)}}.border-primary{border-color:var(--primary)}.border-transparent{border-color:#0000}.border-waiting-on-agents\/25{border-color:var(--status-waiting-on-agents)}@supports (color:color-mix(in lab, red, red)){.border-waiting-on-agents\/25{border-color:color-mix(in oklab, var(--status-waiting-on-agents) 25%, transparent)}}.bg-accent{background-color:var(--accent)}.bg-agent-working,.bg-agent-working\/10{background-color:var(--status-agent-working)}@supports (color:color-mix(in lab, red, red)){.bg-agent-working\/10{background-color:color-mix(in oklab, var(--status-agent-working) 10%, transparent)}}.bg-background{background-color:var(--background)}.bg-black\/45{background-color:#00000073}@supports (color:color-mix(in lab, red, red)){.bg-black\/45{background-color:color-mix(in oklab, var(--color-black) 45%, transparent)}}.bg-blocked,.bg-blocked\/10{background-color:var(--status-blocked)}@supports (color:color-mix(in lab, red, red)){.bg-blocked\/10{background-color:color-mix(in oklab, var(--status-blocked) 10%, transparent)}}.bg-card{background-color:var(--card)}.bg-deferred,.bg-deferred\/10{background-color:var(--status-deferred)}@supports (color:color-mix(in lab, red, red)){.bg-deferred\/10{background-color:color-mix(in oklab, var(--status-deferred) 10%, transparent)}}.bg-done,.bg-done\/10{background-color:var(--status-done)}@supports (color:color-mix(in lab, red, red)){.bg-done\/10{background-color:color-mix(in oklab, var(--status-done) 10%, transparent)}}.bg-foreground{background-color:var(--foreground)}.bg-muted,.bg-muted\/50{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\/50{background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}.bg-muted\/60{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\/60{background-color:color-mix(in oklab, var(--muted) 60%, transparent)}}.bg-needs-you,.bg-needs-you\/10{background-color:var(--status-needs-you)}@supports (color:color-mix(in lab, red, red)){.bg-needs-you\/10{background-color:color-mix(in oklab, var(--status-needs-you) 10%, transparent)}}.bg-popover{background-color:var(--popover)}.bg-primary{background-color:var(--primary)}.bg-secondary{background-color:var(--secondary)}.bg-transparent{background-color:#0000}.bg-waiting-on-agents,.bg-waiting-on-agents\/10{background-color:var(--status-waiting-on-agents)}@supports (color:color-mix(in lab, red, red)){.bg-waiting-on-agents\/10{background-color:color-mix(in oklab, var(--status-waiting-on-agents) 10%, transparent)}}.\!p-0{padding:0!important}.p-0{padding:0}.p-1{padding:var(--spacing)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.px-1{padding-inline:var(--spacing)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.pt-1{padding-top:var(--spacing)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pb-1{padding-bottom:var(--spacing)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-\[calc\(4rem\+env\(safe-area-inset-bottom\)\)\]{padding-bottom:calc(4rem + env(safe-area-inset-bottom))}.pb-\[max\(0\.25rem\,env\(safe-area-inset-bottom\)\)\]{padding-bottom:max(.25rem, env(safe-area-inset-bottom))}.pl-4{padding-left:calc(var(--spacing) * 4)}.text-left{text-align:left}.align-bottom{vertical-align:bottom}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.\[overflow-wrap\:anywhere\]{overflow-wrap:anywhere}.break-words{overflow-wrap:break-word}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-agent-working{color:var(--status-agent-working)}.text-background{color:var(--background)}.text-blocked{color:var(--status-blocked)}.text-card-foreground{color:var(--card-foreground)}.text-deferred{color:var(--status-deferred)}.text-destructive{color:var(--destructive)}.text-done{color:var(--status-done)}.text-foreground{color:var(--foreground)}.text-muted-foreground{color:var(--muted-foreground)}.text-needs-you{color:var(--status-needs-you)}.text-popover-foreground{color:var(--popover-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-secondary-foreground{color:var(--secondary-foreground)}.text-waiting-on-agents{color:var(--status-waiting-on-agents)}.uppercase{text-transform:uppercase}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.no-underline{text-decoration-line:none}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.group-focus-within\:block:is(:where(.group):focus-within *){display:block}@media (hover:hover){.group-hover\:block:is(:where(.group):hover *){display:block}}.backdrop\:bg-black\/45::backdrop{background-color:#00000073}@supports (color:color-mix(in lab, red, red)){.backdrop\:bg-black\/45::backdrop{background-color:color-mix(in oklab, var(--color-black) 45%, transparent)}}.empty\:hidden:empty{display:none}@media (hover:hover){.hover\:bg-accent:hover{background-color:var(--accent)}.hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab, var(--primary) 90%, transparent)}}.hover\:bg-secondary\/80:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab, var(--secondary) 80%, transparent)}}.hover\:text-accent-foreground:hover{color:var(--accent-foreground)}.hover\:text-foreground:hover{color:var(--foreground)}.hover\:underline:hover{text-decoration-line:underline}}.focus\:not-sr-only:focus{clip-path:none;white-space:normal;width:auto;height:auto;margin:0;padding:0;position:static;overflow:visible}.focus\:absolute:focus{position:absolute}.focus\:z-50:focus{z-index:50}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:var(--ring)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-50:disabled{opacity:.5}.aria-invalid\:border-destructive[aria-invalid=true]{border-color:var(--destructive)}.aria-\[current\=page\]\:bg-accent[aria-current=page]{background-color:var(--accent)}.aria-\[current\=page\]\:text-primary[aria-current=page]{color:var(--primary)}.data-\[open\=true\]\:block[data-open=true]{display:block}.data-\[state\=down\]\:text-destructive[data-state=down],.data-\[state\=stale\]\:text-destructive[data-state=stale]{color:var(--destructive)}@media not all and (width>=48rem){.max-md\:fixed{position:fixed}.max-md\:inset-y-0{inset-block:0}.max-md\:left-0{left:0}.max-md\:z-40{z-index:40}.max-md\:w-\[min\(320px\,calc\(100vw-48px\)\)\]{width:min(320px,100vw - 48px)}}@media not all and (width>=40rem){.max-sm\:hidden{display:none}.max-sm\:size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.max-sm\:justify-center{justify-content:center}.max-sm\:gap-0{gap:0}.max-sm\:px-1{padding-inline:var(--spacing)}.max-sm\:text-\[0px\]{font-size:0}}@media (width>=40rem){.sm\:hidden{display:none}.sm\:inline{display:inline}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:gap-2{gap:calc(var(--spacing) * 2)}.sm\:p-6{padding:calc(var(--spacing) * 6)}.sm\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}@media (width>=48rem){.md\:static{position:static}.md\:block{display:block}.md\:flex{display:flex}.md\:hidden{display:none}.md\:inline-flex{display:inline-flex}.md\:h-14{height:calc(var(--spacing) * 14)}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}:where(.md\:space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}.md\:p-8{padding:calc(var(--spacing) * 8)}.md\:px-6{padding-inline:calc(var(--spacing) * 6)}.md\:pb-0{padding-bottom:0}.md\:data-\[sidebar\=open\]\:grid-cols-\[248px_minmax\(0\,1fr\)\][data-sidebar=open]{grid-template-columns:248px minmax(0,1fr)}}@media (width>=64rem){.lg\:col-start-1{grid-column-start:1}.lg\:col-start-2{grid-column-start:2}.lg\:row-start-2{grid-row-start:2}.lg\:inline{display:inline}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-\[minmax\(0\,68ch\)_minmax\(240px\,1fr\)\]{grid-template-columns:minmax(0,68ch) minmax(240px,1fr)}.lg\:gap-x-8{column-gap:calc(var(--spacing) * 8)}}@media (width>=80rem){.xl\:grid-cols-\[minmax\(0\,2fr\)_minmax\(0\,1fr\)\]{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}}@media print{.print\:block{display:block}.print\:hidden{display:none}}.\[\&_a\]\:underline a{text-decoration-line:underline}.\[\&_a\]\:underline-offset-4 a{text-underline-offset:4px}.\[\&_article\]\:rounded-lg article{border-radius:var(--radius)}.\[\&_article\]\:border article{border-style:var(--tw-border-style);border-width:1px}.\[\&_article\]\:p-4 article{padding:calc(var(--spacing) * 4)}.\[\&_button\]\:mr-2 button{margin-right:calc(var(--spacing) * 2)}.\[\&_button\]\:mb-2 button{margin-bottom:calc(var(--spacing) * 2)}.\[\&_code\]\:font-mono code{font-family:var(--font-mono)}.\[\&_code\]\:text-\[0\.9em\] code{font-size:.9em}.\[\&_code\]\:break-all code{word-break:break-all}.\[\&_dd\]\:text-muted-foreground dd{color:var(--muted-foreground)}.\[\&_details\]\:my-4 details{margin-block:calc(var(--spacing) * 4)}.\[\&_details\]\:rounded-lg details{border-radius:var(--radius)}.\[\&_details\]\:border details{border-style:var(--tw-border-style);border-width:1px}.\[\&_details\]\:p-4 details{padding:calc(var(--spacing) * 4)}.\[\&_dl\]\:grid dl{display:grid}.\[\&_dl\]\:gap-2 dl{gap:calc(var(--spacing) * 2)}.\[\&_dt\]\:font-medium dt{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.\[\&_dt\]\:text-muted-foreground dt{color:var(--muted-foreground)}.\[\&_h1\]\:text-2xl h1{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.\[\&_h1\]\:font-semibold h1{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.\[\&_h2\]\:mb-3 h2{margin-bottom:calc(var(--spacing) * 3)}.\[\&_h2\]\:text-xl h2{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.\[\&_h2\]\:font-semibold h2,.\[\&_h3\]\:font-semibold h3{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.\[\&_li\]\:my-1 li{margin-block:var(--spacing)}.\[\&_meter\]\:w-full meter{width:100%}.\[\&_ol\]\:list-decimal ol{list-style-type:decimal}:where(.\[\&_ol\]\:space-y-3 ol>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}.\[\&_ol\]\:pl-5 ol{padding-left:calc(var(--spacing) * 5)}.\[\&_p\]\:my-3 p{margin-block:calc(var(--spacing) * 3)}.\[\&_p\+p\]\:mt-2 p+p{margin-top:calc(var(--spacing) * 2)}.\[\&_pre\]\:my-4 pre{margin-block:calc(var(--spacing) * 4)}.\[\&_pre\]\:max-h-96 pre{max-height:calc(var(--spacing) * 96)}.\[\&_pre\]\:overflow-auto pre{overflow:auto}.\[\&_pre\]\:rounded-md pre{border-radius:calc(var(--radius) - 2px)}.\[\&_pre\]\:bg-muted pre{background-color:var(--muted)}.\[\&_pre\]\:p-4 pre{padding:calc(var(--spacing) * 4)}.\[\&_pre\]\:text-sm pre{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.\[\&_pre\]\:whitespace-pre-wrap pre{white-space:pre-wrap}.\[\&_summary\]\:cursor-pointer summary{cursor:pointer}.\[\&_summary\]\:font-medium summary{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.\[\&_svg\]\:size-3\.5 svg{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.\[\&_svg\]\:size-4 svg{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}@media not all and (width>=40rem){.max-sm\:\[\&_svg\]\:shrink-0 svg{flex-shrink:0}}.\[\&_ul\]\:list-disc ul{list-style-type:disc}:where(.\[\&_ul\]\:space-y-3 ul>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}.\[\&_ul\]\:pl-5 ul{padding-left:calc(var(--spacing) * 5)}.\[\&\[open\]\]\:pb-4[open]{padding-bottom:calc(var(--spacing) * 4)}}#search-dialog.command-palette{width:min(640px,100vw - 32px);max-height:calc(100dvh - 32px);color:var(--popover-foreground);background:var(--popover);border-radius:var(--radius);margin:auto;padding:0;overflow:hidden;box-shadow:0 16px 48px #0000002e}.command-palette .search-header{padding:12px 16px}.command-palette .search-header h2{font-size:1rem;font-weight:600}.command-palette #search-form{border-block:1px solid var(--border);margin:0;padding:12px 16px}.command-palette #search-form label{color:var(--muted-foreground);font-size:.8rem}.command-palette #search-query{background:0 0}.command-palette :is(.search-help,#search-status){margin:8px 16px;font-size:.75rem}.command-palette #search-results{overscroll-behavior:contain;max-height:min(420px,100dvh - 260px);padding:4px;overflow-y:auto}.command-palette #search-results a{color:var(--popover-foreground);padding:10px 12px}.command-palette #search-results a[aria-selected=true]{background:var(--accent);outline:none}.command-palette #search-results small{flex-wrap:wrap;align-items:center;gap:6px;margin-top:4px;display:flex}.command-palette #search-results p{color:var(--muted-foreground);font-size:.8rem}:root{--radius:.625rem;--bg:var(--background);--text:var(--foreground);--surface:var(--secondary);--link:var(--foreground);--danger:var(--destructive);--focus:var(--ring);--status-needs-you:oklch(48% .11 75);--status-agent-working:oklch(48% .16 255);--status-waiting-on-agents:oklch(48% .16 300);--status-blocked:oklch(50% .19 25);--status-done:oklch(47% .065 155);--status-deferred:oklch(50% 0 0);--background:oklch(100% 0 0);--foreground:oklch(14.5% 0 0);--card:oklch(100% 0 0);--card-foreground:oklch(14.5% 0 0);--popover:oklch(100% 0 0);--popover-foreground:oklch(14.5% 0 0);--primary:oklch(45% .12 155);--primary-foreground:oklch(98.5% 0 0);--secondary:oklch(97% 0 0);--secondary-foreground:oklch(20.5% 0 0);--muted:oklch(97% 0 0);--muted-foreground:oklch(55.6% 0 0);--accent:oklch(97% 0 0);--accent-foreground:oklch(20.5% 0 0);--destructive:oklch(57.7% .245 27.325);--border:oklch(92.2% 0 0);--input:oklch(92.2% 0 0);--ring:oklch(55% .14 155);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.dark{--status-needs-you:oklch(80% .13 75);--status-agent-working:oklch(76% .13 255);--status-waiting-on-agents:oklch(78% .13 300);--status-blocked:oklch(75% .15 25);--status-done:oklch(73% .065 155);--status-deferred:oklch(72% 0 0);--background:oklch(14.5% 0 0);--foreground:oklch(98.5% 0 0);--card:oklch(20.5% 0 0);--card-foreground:oklch(98.5% 0 0);--popover:oklch(20.5% 0 0);--popover-foreground:oklch(98.5% 0 0);--primary:oklch(72% .14 155);--primary-foreground:oklch(20.5% 0 0);--secondary:oklch(26.9% 0 0);--secondary-foreground:oklch(98.5% 0 0);--muted:oklch(26.9% 0 0);--muted-foreground:oklch(70.8% 0 0);--accent:oklch(26.9% 0 0);--accent-foreground:oklch(98.5% 0 0);--destructive:oklch(70.4% .191 22.216);--border:oklch(100% 0 0/.1);--input:oklch(100% 0 0/.15);--ring:oklch(72% .14 155);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.document-layout{--document-leading-rows:0}:is(.document-layout:has(>.document-lead),.document-layout:has(>.answer-cards)){--document-leading-rows:1}.document-layout:has(>.document-lead):has(>.answer-cards){--document-leading-rows:2}.document-layout>.document-lead{grid-row-start:2}.document-layout>.answer-cards{grid-row-start:calc(1 + var(--document-leading-rows))}.document-layout>:is(article,.board){grid-row-start:calc(2 + var(--document-leading-rows))}.document-layout>aside{grid-row-start:calc(3 + var(--document-leading-rows))}@media (width>=1024px){.document-layout>aside{grid-row-start:calc(2 + var(--document-leading-rows))}}.phone-more{width:100%;max-width:100%;max-height:80dvh;padding:1rem 1rem max(1rem, env(safe-area-inset-bottom));color:var(--foreground);background:var(--background);border:1px solid var(--border);border-radius:1rem 1rem 0 0;margin:0;position:fixed;inset:auto 0 0;overflow-y:auto}.phone-more::backdrop{background:#00000073}@media (width<=767px){[data-board-page] .work-columns{grid-template-columns:minmax(0,1fr);grid-auto-columns:auto;grid-auto-flow:row;overflow-x:visible}[data-board-page] .work-card-list{height:auto;max-height:min(60vh,600px)}[data-board-page] .item-introduction{z-index:auto;position:static}[data-board-page] #doc{overflow-wrap:anywhere}}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}
|
|
3
3
|
/*$vite$:1*/
|