@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 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
- # Temporary Holding Version
1
+ # takesix-agent
2
2
 
3
- This version is a temporary placeholder for this package. An operational version to replace this has been submitted for review and is awaiting a staged release.
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
@@ -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*/