@takesix/mcp 0.0.0-stage → 0.1.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/LICENSE +21 -0
- package/README.md +102 -2
- package/dist/app/app.css +2 -0
- package/dist/app/app.js +116 -0
- package/dist/mcp.js +247 -0
- package/package.json +56 -4
- package/skill/takesix/SKILL.md +161 -0
- package/skill/takesix/assets/viewer.css +2 -0
- package/skill/takesix/assets/viewer.js +14 -0
- package/skill/takesix/references/format.md +154 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 vvapnik
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
CHANGED
|
@@ -1,3 +1,103 @@
|
|
|
1
|
-
#
|
|
1
|
+
# takesix-agent
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Lets AI agents answer with a [takesix](https://github.com/vvapnik/takesix-core)
|
|
4
|
+
diagram instead of a long wall of text: the gist on one screen, at most six
|
|
5
|
+
blocks, and the depth one click away.
|
|
6
|
+
|
|
7
|
+
This repository holds:
|
|
8
|
+
|
|
9
|
+
- **`skill/takesix/`** — an Agent Skill for Claude. It teaches the agent how to
|
|
10
|
+
design a readable takesix document, then checks and renders it with the
|
|
11
|
+
bundled script. Nothing to install besides Node.js 18+.
|
|
12
|
+
- **`@takesix/mcp`** — an MCP server with the same rules and checks, for any
|
|
13
|
+
MCP client. In apps that support [MCP Apps](https://modelcontextprotocol.io/extensions/apps/overview)
|
|
14
|
+
the diagram opens right in the conversation.
|
|
15
|
+
- **`src/`** — the sources of the bundled script, the viewer and the server.
|
|
16
|
+
|
|
17
|
+
## MCP server
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
claude mcp add takesix -- npx -y @takesix/mcp
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
For Claude Desktop and other clients, add to their MCP configuration:
|
|
24
|
+
|
|
25
|
+
```json
|
|
26
|
+
{ "mcpServers": { "takesix": { "command": "npx", "args": ["-y", "@takesix/mcp"] } } }
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
What it offers:
|
|
30
|
+
|
|
31
|
+
- **`guide`** tool: the format and the rules that make a diagram readable (the
|
|
32
|
+
text of the skill). The server's instructions tell the agent to read it first.
|
|
33
|
+
- **`validate`** tool: checks a document (as JSON or a `.takesix.json` path),
|
|
34
|
+
lists problems with their JSON paths, or sums up the diagram's shape.
|
|
35
|
+
- **`show`** tool: validates, writes one self-contained HTML file and returns
|
|
36
|
+
its path. Where MCP Apps are supported, the diagram opens in the
|
|
37
|
+
conversation, with a full screen button.
|
|
38
|
+
- `diagram` prompt: "explain X as a TakeSix diagram", with the guide attached.
|
|
39
|
+
- Resources: `takesix://format` (specification), `takesix://schema` (JSON Schema).
|
|
40
|
+
|
|
41
|
+
Where the diagram shows up:
|
|
42
|
+
|
|
43
|
+
| Client | In the conversation | HTML file |
|
|
44
|
+
|---|---|---|
|
|
45
|
+
| Claude Desktop | yes (MCP App) | yes |
|
|
46
|
+
| Claude Code | no, text result only | yes |
|
|
47
|
+
| claude.ai in the browser | needs a remote server (not yet) | — |
|
|
48
|
+
|
|
49
|
+
The server runs locally over stdio: no hosting, nothing leaves the machine.
|
|
50
|
+
|
|
51
|
+
## Install the skill
|
|
52
|
+
|
|
53
|
+
Copy (or symlink) `skill/takesix` into your skills folder, for example for
|
|
54
|
+
Claude Code:
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
cp -R skill/takesix ~/.claude/skills/takesix
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
Then ask for an overview of something structured — a codebase, a spec, a plan
|
|
61
|
+
— or ask for a takesix diagram directly.
|
|
62
|
+
|
|
63
|
+
## What the skill runs
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
node skill/takesix/scripts/takesix.mjs validate answer.takesix.json
|
|
67
|
+
node skill/takesix/scripts/takesix.mjs render answer.takesix.json -o answer.html
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
- `validate` lists problems with JSON paths, so the agent can fix them, and on
|
|
71
|
+
success prints a one-line summary of the diagram's shape.
|
|
72
|
+
- `render` validates, then writes **one self-contained HTML file**: the
|
|
73
|
+
document and the viewer (React and `@takesix/react`) are inlined, so it opens
|
|
74
|
+
from disk, without a network, and works as an artifact.
|
|
75
|
+
|
|
76
|
+
## Development
|
|
77
|
+
|
|
78
|
+
Node 24 LTS (`.nvmrc`). See [CONTRIBUTING.md](CONTRIBUTING.md).
|
|
79
|
+
|
|
80
|
+
```bash
|
|
81
|
+
npm install
|
|
82
|
+
npm run build # skill script and viewer, MCP view (dist/app), MCP server (dist/mcp.js)
|
|
83
|
+
npm test
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
To try the server before it is published, point a client at the build:
|
|
87
|
+
`claude mcp add takesix -- node /path/to/takesix-agent/dist/mcp.js`.
|
|
88
|
+
|
|
89
|
+
The built files under `skill/takesix/` are committed, so the skill folder works
|
|
90
|
+
on its own. `skill/takesix/references/format.md` is a copy of
|
|
91
|
+
`takesix-core/FORMAT.md`: update it when the format changes.
|
|
92
|
+
|
|
93
|
+
Test prompts for the skill live in `skill/takesix/evals/`, in the layout
|
|
94
|
+
`claude plugin eval` reads.
|
|
95
|
+
|
|
96
|
+
## AI-assisted development
|
|
97
|
+
|
|
98
|
+
This project is developed with the help of [Claude Code](https://claude.com/claude-code)
|
|
99
|
+
(Anthropic). Commits are authored and reviewed by the maintainer.
|
|
100
|
+
|
|
101
|
+
## License
|
|
102
|
+
|
|
103
|
+
MIT
|
package/dist/app/app.css
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
._card_nq4yy_1{background:var(--ts-surface);border:1px solid var(--ts-border);border-radius:10px;flex-direction:column;transition:box-shadow .2s,border-color .2s;display:flex;position:relative;overflow:hidden;box-shadow:0 2px 8px #0000000f}._deleteBtn_nq4yy_13{width:22px;height:22px;color:var(--ts-icon);cursor:pointer;z-index:2;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;line-height:1;transition:background .15s,color .15s;display:flex;position:absolute;top:8px;right:8px}._deleteBtn_nq4yy_13:hover{background:var(--ts-danger-soft);color:var(--ts-danger)}._sizeBtn_nq4yy_38{min-width:22px;height:22px;color:var(--ts-icon);font:inherit;cursor:pointer;z-index:2;background:0 0;border:none;border-radius:11px;padding:0 4px;font-size:.75rem;font-weight:600;transition:background .15s,color .15s;position:absolute;top:8px;right:86px}._sizeBtn_nq4yy_38:hover{background:var(--ts-accent-soft);color:var(--ts-accent)}._resizeHandle_nq4yy_63{cursor:ew-resize;z-index:3;width:8px;position:absolute;top:0;bottom:0;right:0}._resizeHandle_nq4yy_63:hover,._cardResizing_nq4yy_74 ._resizeHandle_nq4yy_63{background:linear-gradient(to right, transparent 3px, var(--ts-accent) 3px, var(--ts-accent) 5px, transparent 5px)}._cardResizing_nq4yy_74{border-color:var(--ts-accent)}._detailsBtn_nq4yy_82{width:22px;height:22px;color:var(--ts-icon);cursor:pointer;z-index:2;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:background .15s,color .15s;display:flex;position:absolute;top:8px;right:8px}._cardEditing_nq4yy_102 ._detailsBtn_nq4yy_82{right:60px}._detailsBtnFilled_nq4yy_106{color:var(--ts-text-faint)}._detailsBtn_nq4yy_82:hover{background:var(--ts-accent-soft);color:var(--ts-accent)}._connectBtn_nq4yy_115{width:22px;height:22px;color:var(--ts-icon);cursor:pointer;z-index:2;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;line-height:1;transition:background .15s,color .15s;display:flex;position:absolute;top:8px;right:34px}._connectBtn_nq4yy_115:hover{background:var(--ts-accent-soft);color:var(--ts-accent)}._connectBtnActive_nq4yy_140{background:var(--ts-accent);color:#fff}._connectBtnActive_nq4yy_140:hover{background:var(--ts-accent-hover);color:#fff}._cardConnectingSource_nq4yy_151{border-color:var(--ts-accent)!important;box-shadow:0 0 0 2px #3d6aff4d,0 2px 8px #0000000f!important}._cardConnectable_nq4yy_156{border-color:var(--ts-border-strong)}._cardConnectable_nq4yy_156:hover{border-color:var(--ts-accent)!important;box-shadow:0 0 0 2px #3d6aff26!important}._cardConnected_nq4yy_165{border-color:var(--ts-accent)!important;box-shadow:0 0 0 2px #3d6aff4d!important}._connectOverlay_nq4yy_171{cursor:crosshair;z-index:5;background:0 0;border:none;border-radius:10px;padding:0;position:absolute;inset:0}._cardUnlinkable_nq4yy_183{opacity:.45}._cardConnectable_nq4yy_156 ._inside_nq4yy_189,._cardConnected_nq4yy_165 ._inside_nq4yy_189{z-index:6;cursor:zoom-in;position:relative}._selectOverlay_nq4yy_196{cursor:pointer}._selectMark_nq4yy_201{border:1.5px solid var(--ts-border-strong);background:var(--ts-surface);color:#fff;text-align:center;border-radius:50%;width:18px;height:18px;font-size:11px;line-height:16px;position:absolute;top:10px;left:0}._cardSelected_nq4yy_217{border-color:var(--ts-accent)!important;box-shadow:0 0 0 2px #3d6aff4d!important}._cardSelected_nq4yy_217 ._selectMark_nq4yy_201{border-color:var(--ts-accent);background:var(--ts-accent)}._connectOverlayConnected_nq4yy_227{cursor:pointer}._cardEditing_nq4yy_102{padding-left:18px}._cardEditing_nq4yy_102 ._header_nq4yy_237{padding-right:116px}._cardWithDetails_nq4yy_241 ._header_nq4yy_237{padding-right:36px}._addInside_nq4yy_245{cursor:pointer;align-items:center;gap:4px;display:inline-flex}._addInside_nq4yy_245:hover{color:var(--ts-accent)}._dragHandle_nq4yy_257{cursor:grab;border-right:1px solid var(--ts-divider);background-color:var(--ts-sunken);background-image:radial-gradient(circle, var(--ts-border-strong) 1.2px, transparent 1.6px);z-index:2;background-position:3px 3px;background-size:6px 6px;border-radius:10px 0 0 10px;width:18px;transition:background-color .15s;position:absolute;top:0;bottom:0;left:0}._dragHandle_nq4yy_257:hover{background-color:var(--ts-accent-soft);background-image:radial-gradient(circle, var(--ts-accent) 1.2px, transparent 1.6px)}._dragHandle_nq4yy_257:active{cursor:grabbing}._dragHandle_nq4yy_257:focus-visible{outline:2px solid var(--ts-accent);outline-offset:-2px}._cardDragged_nq4yy_288{opacity:.4}._card_nq4yy_1[data-drop=before][data-axis=y]{box-shadow:0 -4px 0 -1px var(--ts-accent)}._card_nq4yy_1[data-drop=after][data-axis=y]{box-shadow:0 4px 0 -1px var(--ts-accent)}._card_nq4yy_1[data-drop=before][data-axis=x]{box-shadow:-4px 0 0 -1px var(--ts-accent)}._card_nq4yy_1[data-drop=after][data-axis=x]{box-shadow:4px 0 0 -1px var(--ts-accent)}._card_nq4yy_1[data-drop=inside]{box-shadow:0 0 0 2px var(--ts-accent);background:var(--ts-accent-soft)}._cardZoomable_nq4yy_300{cursor:zoom-in}._card_nq4yy_1:hover{border-color:var(--ts-border-strong);box-shadow:0 4px 16px #0000001a}._header_nq4yy_237{align-items:flex-start;gap:14px;padding:20px 24px 16px;display:flex}._icon_nq4yy_316{flex-shrink:0;margin-top:1px;font-size:1.5rem;line-height:1}._headerText_nq4yy_323{flex-direction:column;display:flex}._title_nq4yy_328{color:var(--ts-text);letter-spacing:.01em;margin:0 0 5px;font-size:1rem;font-weight:600}._description_nq4yy_336{color:var(--ts-text-muted);margin:0;font-size:.8rem;line-height:1.4}._card_nq4yy_1[data-size=S]{grid-column:span 2}._card_nq4yy_1[data-size=M]{grid-column:span 3}._card_nq4yy_1[data-size=L]{grid-column:span 4}._card_nq4yy_1[data-size=F]{grid-column:span 6}._cardWide_nq4yy_350{flex-direction:row;align-items:stretch}._cardWide_nq4yy_350 ._header_nq4yy_237{border-bottom:none;flex:1;padding:14px 20px}._cardWide_nq4yy_350 ._inside_nq4yy_189{align-self:center;padding:0 20px}._editable_nq4yy_366{border-bottom:1.5px dashed var(--ts-border-strong);cursor:text;border-radius:2px;outline:none;padding-bottom:1px;transition:border-color .15s,background .15s}._editable_nq4yy_366:empty:before{content:attr(data-placeholder);color:var(--ts-icon)}._editable_nq4yy_366:focus{border-bottom-color:var(--ts-accent);background:#3d6aff0d}._inside_nq4yy_189{all:unset;cursor:inherit;letter-spacing:.02em;color:var(--ts-text-faint);white-space:nowrap;align-self:flex-start;padding:0 24px 16px;font-size:.72rem;font-weight:500;transition:color .15s}._cardZoomable_nq4yy_300:hover ._inside_nq4yy_189{color:var(--ts-accent)}@container ts-level (width<=560px){._card_nq4yy_1:is([data-size=S],[data-size=M]):not(._cardEditing_nq4yy_102) ._description_nq4yy_336{display:none}._card_nq4yy_1:is([data-size=S],[data-size=M]) ._header_nq4yy_237{flex-direction:column;gap:6px;padding:12px 12px 8px}._card_nq4yy_1:is([data-size=S],[data-size=M]) ._title_nq4yy_328{overflow-wrap:anywhere;margin:0;font-size:.9rem}._card_nq4yy_1:is([data-size=S],[data-size=M]) ._inside_nq4yy_189{white-space:normal;padding:0 12px 12px}}._inside_nq4yy_189:focus-visible{outline:2px solid var(--ts-accent);outline-offset:2px;border-radius:4px}._popover_1b6n3_1{z-index:10;border:1px solid var(--ts-border);background:var(--ts-surface);min-width:240px;max-width:320px;max-height:60%;color:var(--ts-text);cursor:default;border-radius:10px;padding:12px;font-size:.78rem;position:absolute;overflow-y:auto;transform:translate(-50%,10px);box-shadow:0 8px 24px #0000001f}._close_1b6n3_19{all:unset;width:20px;height:20px;color:var(--ts-text-faint);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:8px;right:8px}._close_1b6n3_19:hover{background:var(--ts-bg);color:var(--ts-text)}._row_1b6n3_39+._row_1b6n3_39{border-top:1px solid var(--ts-divider);margin-top:12px;padding-top:12px}._ends_1b6n3_45{margin-bottom:8px;padding-right:24px;font-weight:500}._endsArrow_1b6n3_51{color:var(--ts-accent)}._label_1b6n3_55{box-sizing:border-box;border:1px solid var(--ts-border);background:var(--ts-surface);width:100%;font:inherit;color:inherit;border-radius:6px;outline:none;padding:6px 8px}._label_1b6n3_55:focus{border-color:var(--ts-accent)}._actions_1b6n3_71{align-items:center;gap:6px;margin-top:8px;display:flex}._directions_1b6n3_78{gap:2px;display:flex}._btn_1b6n3_83{border:1px solid var(--ts-border);background:var(--ts-surface);min-width:28px;height:26px;color:var(--ts-text-secondary);font:inherit;cursor:pointer;border-radius:6px;padding:0 8px}._btn_1b6n3_83:hover:not(:disabled){border-color:var(--ts-border-strong);color:var(--ts-text)}._btn_1b6n3_83:disabled{opacity:.4;cursor:default}._btnActive_1b6n3_105,._btnActive_1b6n3_105:hover:not(:disabled){background:var(--ts-strong);border-color:var(--ts-strong);color:var(--ts-on-strong)}._danger_1b6n3_112{margin-left:auto}._danger_1b6n3_112:hover:not(:disabled){border-color:var(--ts-danger-border);color:var(--ts-danger)}._panel_24xow_1{z-index:15;box-sizing:border-box;background:var(--ts-surface);border-left:1px solid var(--ts-border);width:min(380px,90%);color:var(--ts-text);cursor:default;padding:20px 22px;font-size:.85rem;animation:.18s ease-out _slideIn_24xow_1;position:absolute;top:0;bottom:0;right:0;overflow-y:auto;box-shadow:-8px 0 24px #00000014}@keyframes _slideIn_24xow_1{0%{opacity:0;transform:translate(24px)}}._close_24xow_24{all:unset;width:24px;height:24px;color:var(--ts-text-faint);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:14px;right:14px}._close_24xow_24:hover{background:var(--ts-bg);color:var(--ts-text)}._head_24xow_44{align-items:flex-start;gap:12px;margin-bottom:16px;padding-right:28px;display:flex}._icon_24xow_52{font-size:1.4rem;line-height:1}._title_24xow_57{margin:0 0 4px;font-size:1rem;font-weight:600}._description_24xow_63{color:var(--ts-text-muted);margin:0;font-size:.8rem;line-height:1.4}._editor_24xow_70{box-sizing:border-box;border:1px solid var(--ts-border);background:var(--ts-surface);width:100%;min-height:160px;color:inherit;resize:vertical;border-radius:8px;outline:none;padding:8px 10px;font:.8rem/1.5 ui-monospace,SFMono-Regular,Menlo,monospace}._editor_24xow_70:focus{border-color:var(--ts-accent)}._editor_24xow_70+._body_24xow_88{border-top:1px dashed var(--ts-border);margin-top:14px;padding-top:14px}._body_24xow_88{line-height:1.55}._body_24xow_88>:first-child{margin-top:0}._body_24xow_88>:last-child{margin-bottom:0}._body_24xow_88 p,._body_24xow_88 ul,._body_24xow_88 ol,._body_24xow_88 pre{margin:0 0 10px}._body_24xow_88 ul,._body_24xow_88 ol{padding-left:20px}._body_24xow_88 h3,._body_24xow_88 h4,._body_24xow_88 h5{margin:14px 0 6px;font-size:.9rem}._body_24xow_88 a{color:var(--ts-accent)}._body_24xow_88 code{background:var(--ts-bg);border-radius:4px;padding:1px 4px;font:.78rem ui-monospace,SFMono-Regular,Menlo,monospace}._body_24xow_88 pre{background:var(--ts-bg);border-radius:6px;padding:8px 10px;overflow-x:auto}._body_24xow_88 pre code{background:0 0;padding:0}._empty_24xow_124{color:var(--ts-text-faint);margin:0}._viewer_1wq71_1{flex-direction:column;gap:6px;height:100%;display:flex}._breadcrumb_1wq71_10{cursor:zoom-out;z-index:2;flex-wrap:wrap;align-items:center;gap:2px;display:flex;position:relative}._crumbItem_1wq71_20{align-items:center;gap:2px;display:flex}._crumbSep_1wq71_26{color:var(--ts-icon);padding:0 6px;font-size:.8rem}._crumb_1wq71_20{all:unset;cursor:pointer;letter-spacing:.06em;text-transform:uppercase;color:var(--ts-text-faint);border-radius:4px;padding:2px 6px;font-size:.75rem;font-weight:500;transition:color .15s,background .15s}._crumb_1wq71_20:hover:not(:disabled){color:var(--ts-accent);background:var(--ts-accent-soft)}._crumb_1wq71_20:disabled{cursor:default}._crumbActive_1wq71_51{color:var(--ts-text)}._crumbDrop_1wq71_54{color:var(--ts-accent);background:var(--ts-accent-soft);box-shadow:0 0 0 1.5px var(--ts-accent)}._backdrop_1wq71_61{cursor:zoom-out;z-index:1;position:absolute;inset:0}._slide_1wq71_69{will-change:transform;z-index:2;flex-direction:column;flex:1;min-height:0;display:flex;position:relative}._slideCard_1wq71_80{background:var(--ts-surface);border:1px solid var(--ts-border);border-radius:10px;overflow:hidden;box-shadow:0 2px 8px #0000000f}._slideHeader_1wq71_90{flex-shrink:0;align-items:flex-start;gap:14px;padding:20px 24px 16px;display:flex}._headerDetailsBtn_1wq71_98{all:unset;border:1px solid var(--ts-border);color:var(--ts-text-secondary);cursor:pointer;border-radius:999px;align-self:center;align-items:center;gap:6px;margin-left:auto;padding:4px 10px;font-size:.75rem;display:flex}._headerDetailsBtn_1wq71_98:hover{border-color:var(--ts-accent);color:var(--ts-accent)}._slideHeaderTop_1wq71_119{padding:0 0 20px}._slideIcon_1wq71_123{flex-shrink:0;margin-top:1px;font-size:1.5rem;line-height:1}._slideHeaderText_1wq71_130{flex-direction:column;display:flex}._slideTitle_1wq71_135{color:var(--ts-text);letter-spacing:.01em;margin:0 0 5px;font-size:1rem;font-weight:600}._slideDescription_1wq71_143{color:var(--ts-text-muted);margin:0;font-size:.8rem;line-height:1.4}._gridArea_1wq71_152{flex-direction:column;flex:1;min-height:0;display:flex;position:relative;container:ts-level/inline-size}._arrowSvg_1wq71_162{pointer-events:none;z-index:3;width:100%;height:100%;position:absolute;inset:0;overflow:visible}._arrow_1wq71_162{fill:none;stroke:var(--ts-accent);stroke-width:2px;stroke-opacity:.7}._arrowSvgEditing_1wq71_180 ._arrowHit_1wq71_180{fill:none;stroke:#0000;stroke-width:14px;pointer-events:stroke;cursor:pointer}._arrowSvgEditing_1wq71_180 ._arrowHit_1wq71_180:hover+._arrow_1wq71_162{stroke-opacity:1;stroke-width:3px}._arrowSvgEditing_1wq71_180 ._arrowLabel_1wq71_193{pointer-events:auto;cursor:pointer}._arrowLabelOpen_1wq71_198{font-weight:700}._arrowIndirect_1wq71_202{stroke-dasharray:6 4}._arrowHead_1wq71_206{fill:var(--ts-accent)}._arrowLabel_1wq71_193{fill:var(--ts-accent);paint-order:stroke;stroke:var(--ts-bg);stroke-width:4px;stroke-linejoin:round;font-size:11px;font-weight:500}._empty_1wq71_220{color:var(--ts-text-faint);margin:auto;font-size:.85rem}._gridAreaNested_1wq71_227{border:1.5px dashed var(--ts-border-dashed);background:var(--ts-sunken);border-radius:7px;margin:0 10px 10px;padding:8px}._grid_1wq71_150{flex:1;grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-rows:max-content;align-content:space-evenly;gap:16px 56px;min-height:0;display:grid}@container ts-level (width<=560px){._grid_1wq71_150{column-gap:16px}}._levelTools_1wq71_258{gap:8px;margin-bottom:10px;display:flex}._groupBtn_1wq71_264{border:1px solid var(--ts-border);background:var(--ts-surface);height:28px;color:var(--ts-text-secondary);font:inherit;cursor:pointer;border-radius:6px;padding:0 10px;font-size:.75rem}._groupBtn_1wq71_264:hover{border-color:var(--ts-border-strong);color:var(--ts-text)}._groupBtnActive_1wq71_281,._groupBtnActive_1wq71_281:hover{background:var(--ts-strong);border-color:var(--ts-strong);color:var(--ts-on-strong)}._fullHint_1wq71_288{color:var(--ts-text-faint);align-self:center;font-size:.72rem}._addBlock_1wq71_295{border:1.5px dashed var(--ts-border-dashed);color:var(--ts-border-strong);cursor:pointer;background:0 0;border-radius:10px;grid-column:span 2;justify-content:center;align-items:center;min-height:80px;transition:border-color .15s,color .15s,background .15s;display:flex}._addBlock_1wq71_295:hover{border-color:var(--ts-accent);color:var(--ts-accent);background:var(--ts-accent-soft)}._linkBar_1wq71_316{z-index:20;background:var(--ts-strong);color:var(--ts-on-strong);white-space:nowrap;border-radius:999px;align-items:center;gap:12px;padding:8px 10px 8px 16px;font-size:.78rem;display:flex;position:absolute;bottom:16px;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #0000002e}._linkBarCancel_1wq71_334{all:unset;cursor:pointer;background:color-mix(in srgb, var(--ts-on-strong) 14%, transparent);border-radius:999px;padding:3px 10px;font-weight:500}._linkBarCancel_1wq71_334:hover:not(:disabled){background:color-mix(in srgb, var(--ts-on-strong) 24%, transparent)}._linkBarCancel_1wq71_334:disabled{opacity:.4;cursor:default}._takeSix_b98wp_4{--ts-bg:#f0f2f5;--ts-surface:#fff;--ts-sunken:#f7f9fc;--ts-border:#d0d7e2;--ts-border-strong:#b0bfda;--ts-border-dashed:#c4cedc;--ts-divider:#e8edf4;--ts-text:#1a2332;--ts-text-secondary:#5a6a7e;--ts-text-muted:#7a8a9e;--ts-text-faint:#8fa3b8;--ts-icon:#c0c8d4;--ts-accent:#3d6aff;--ts-accent-hover:#2a55e8;--ts-accent-soft:#e8eeff;--ts-strong:#1a2332;--ts-on-strong:#fff;--ts-danger:#b42318;--ts-danger-soft:#fee2e2;--ts-danger-border:#f5c2c2;--lightningcss-light:initial;--lightningcss-dark: ;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;box-sizing:border-box;background:var(--ts-bg);height:100%;min-height:0;color:var(--ts-text);padding:12px 40px 24px;font-family:Inter,system-ui,-apple-system,sans-serif;position:relative;overflow:hidden}._takeSix_b98wp_4[data-theme=dark]{--ts-bg:#0f141b;--ts-surface:#18202b;--ts-sunken:#141b24;--ts-border:#2c3644;--ts-border-strong:#3f4c5e;--ts-border-dashed:#364254;--ts-divider:#242d3a;--ts-text:#e6ebf2;--ts-text-secondary:#b3bfcd;--ts-text-muted:#94a3b5;--ts-text-faint:#7d8ca0;--ts-icon:#56647a;--ts-accent:#6b8cff;--ts-accent-hover:#8aa4ff;--ts-accent-soft:#1e2a48;--ts-strong:#e6ebf2;--ts-on-strong:#0f141b;--ts-danger:#f87171;--ts-danger-soft:#3a1d1f;--ts-danger-border:#7f2d2d;--lightningcss-light: ;--lightningcss-dark:initial;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:dark){._takeSix_b98wp_4[data-theme=auto]{--ts-bg:#0f141b;--ts-surface:#18202b;--ts-sunken:#141b24;--ts-border:#2c3644;--ts-border-strong:#3f4c5e;--ts-border-dashed:#364254;--ts-divider:#242d3a;--ts-text:#e6ebf2;--ts-text-secondary:#b3bfcd;--ts-text-muted:#94a3b5;--ts-text-faint:#7d8ca0;--ts-icon:#56647a;--ts-accent:#6b8cff;--ts-accent-hover:#8aa4ff;--ts-accent-soft:#1e2a48;--ts-strong:#e6ebf2;--ts-on-strong:#0f141b;--ts-danger:#f87171;--ts-danger-soft:#3a1d1f;--ts-danger-border:#7f2d2d;--lightningcss-light: ;--lightningcss-dark:initial;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}html,body{margin:0}.frame{box-sizing:border-box;padding:12px 16px;font-family:system-ui,-apple-system,sans-serif;position:relative}.status{color:#8a8f98;white-space:pre-wrap;margin:0;padding:24px 0;font-size:.85rem}.mode{z-index:10;color:inherit;font:inherit;cursor:pointer;background:0 0;border:1px solid #80808059;border-radius:999px;padding:4px 10px;font-size:.75rem;position:absolute;top:12px;right:16px}.frame[data-theme=dark]{color:#e6e8eb}
|
|
2
|
+
/*$vite$:1*/
|