@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/tree/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2)format("woff2"),url(/tree/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/tree/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2)format("woff2"),url(/tree/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/tree/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2)format("woff2"),url(/tree/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/tree/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2)format("woff2"),url(/tree/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/tree/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(/tree/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#f4f2ed;--surface:#fbfaf7;--surface-2:#efece5;--border:#dcd7cc;--border-strong:#c4bdae;--text:#1f2124;--muted:#6c6a64;--accent:#a8382a;--accent-ink:#fff;--accent-soft:#f3dfd9;--danger:#b42318;--danger-bg:#b4231817;--ok:#1f7a43;--canvas-bg:#e9e6df;--canvas-dots:#d6d1c6;--editor-bg:#fbfaf7;--editor-active:#a8382a0d;--editor-sel:#a8382a29;--editor-match:#a8382a2e;--cm-bracket:#8a8478;--cm-label:#1c3f75;--cm-text:#2a2a2a;--cm-id:#a8382a;--cm-color:#9a5b00;--cm-op:#a8382a;--cm-script:#6a4c9c;--cm-feature:#0f6e62;--cm-gloss:#6a6458;--cm-escape:#6a4c9c;--cm-comment:#9a958a;--cm-keyword:#0f6e62;--cm-meaning:#2f5d8a;--sel:#2563eb;--caret:#a8382a;--shadow:0 1px 2px #1e190f0f, 0 6px 20px #1e190f14;--radius:8px;--ui:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--serif:"CMU Serif", "Libertinus Serif", Georgia, serif;--mono:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--bg:#141518;--surface:#1b1d21;--surface-2:#23262b;--border:#30343a;--border-strong:#454a52;--text:#e8e6e1;--muted:#9b988f;--accent:#e07a64;--accent-ink:#1b1d21;--accent-soft:#3a2723;--danger:#f0786a;--danger-bg:#f0786a24;--ok:#5fc287;--canvas-bg:#101113;--canvas-dots:#24272c;--editor-bg:#1b1d21;--editor-active:#e07a640f;--editor-sel:#e07a6438;--editor-match:#e07a6440;--cm-bracket:#7d7a72;--cm-label:#8fb4ee;--cm-text:#e0ddd6;--cm-id:#f0907a;--cm-color:#e3b065;--cm-op:#f0907a;--cm-script:#c3a6f0;--cm-feature:#6fd1bf;--cm-gloss:#aaa498;--cm-escape:#c3a6f0;--cm-comment:#6f6c66;--cm-keyword:#6fd1bf;--cm-meaning:#8fb8ff;--sel:#6ea0ff;--caret:#ffd27a;--shadow:0 1px 2px #0006, 0 8px 24px #00000059;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--text);font:14px/1.45 var(--ui);-webkit-font-smoothing:antialiased;margin:0;overflow:hidden}#app{height:100%}button{font:inherit;color:inherit}input,select,textarea{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:6px 9px}input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}code,kbd{font-family:var(--mono);font-size:.92em}kbd{border:1px solid var(--border-strong);background:var(--surface);border-bottom-width:2px;border-radius:4px;margin:0 1px;padding:1px 6px;display:inline-block}.app{grid-template-rows:auto minmax(0,1fr);height:100dvh;display:grid;overflow:hidden}.topbar{background:var(--surface);border-bottom:1px solid var(--border);z-index:20;align-items:center;gap:10px;min-height:54px;padding:8px 14px;display:flex}.brand{color:var(--text);align-items:center;gap:9px;margin-right:6px;display:flex}.brand h1{font:600 21px/1 var(--serif);letter-spacing:.01em;margin:0}.brand .tagline{color:var(--muted);font-size:11.5px;font-family:var(--serif);margin-top:2px;font-style:italic;display:block}.spacer{flex:1}.actions{align-items:center;gap:4px;display:flex}.sep{background:var(--border);width:1px;height:22px;margin:0 5px}.workspace{grid-template-columns:var(--code-w) minmax(0, 1fr) var(--side-w);min-height:0;display:grid}.app.side-hidden .workspace{grid-template-columns:var(--code-w) minmax(0, 1fr)}.app.side-hidden .side-pane{display:none}.topbar .btn.nanosyntax-toggle.active,.topbar .btn.nanosyntax-toggle.active:hover{color:#201409;background:#ed8b2c;border-color:#ed8b2c}.tree-group-frame{fill:#6e788206;stroke:var(--muted);stroke-width:1px;stroke-dasharray:5 4;pointer-events:all}.tree-group-head{background:var(--surface);color:var(--muted);border:1px solid var(--border);cursor:grab;border-radius:5px;padding:4px 9px;font-size:11px;position:absolute}.ns-algorithm-description{margin:10px 0;padding-left:22px;font-size:12px;line-height:1.6}.ns-algorithm-description li+li{margin-top:9px}.scope.ns-settings-scope{flex-direction:column;align-items:stretch;gap:8px;display:flex}.ns-settings-scope>.btn{white-space:normal}.app.code-hidden.side-hidden .workspace{grid-template-columns:0 minmax(0,1fr)}.code-hidden .editor-wrap,.code-hidden .code-pane>.status{display:none}body.resizing,body.resizing *{cursor:col-resize!important;-webkit-user-select:none!important;user-select:none!important}.pane{min-width:0;min-height:0}.code-pane{border-right:1px solid var(--border);background:var(--editor-bg);flex-direction:column;display:flex;position:relative}.editor-wrap{flex:1;min-height:0;display:flex;position:relative}.editor{flex:1;min-width:0;min-height:0;overflow:hidden}.format-btn{z-index:2;background:var(--surface);border:1px solid var(--border);position:absolute;top:6px;right:8px}.editor .cm-editor{height:100%}.editor .cm-editor.cm-focused{outline:none}.mode-options{border-top:1px solid var(--border);flex-direction:column;gap:8px;max-height:40%;padding:10px 14px 12px;display:flex;overflow:auto}.mode-options .hint{margin:0}.status{border-top:1px solid var(--border);color:var(--muted);align-items:flex-start;gap:8px;padding:8px 14px;font-size:12.5px;display:flex}.status .dot{background:var(--ok);border-radius:50%;flex:none;width:8px;height:8px;margin-top:5px}.status.error{color:var(--danger);background:var(--danger-bg);cursor:pointer}.status.error .dot{background:var(--danger)}.status.error em{color:var(--muted);font-style:normal}.canvas-pane{background:var(--canvas-bg);position:relative}.side-pane{background:var(--surface);border-left:1px solid var(--border);flex-direction:column;display:flex;position:relative}.side-tabs{border-bottom:1px solid var(--border);flex:none;align-items:center;gap:4px;padding:8px 10px 0;display:flex}.side-tabs [role=tab]{color:var(--muted);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:6px;margin-bottom:-1px;padding:7px 7px 8px;font-size:12px;font-weight:600;display:inline-flex}.side-tabs [role=tab].on{color:var(--text);border-bottom-color:var(--accent)}.side-tabs [role=tab]:hover:not(.on){color:var(--text)}.side-tabs .side-close{margin-left:auto;display:none}.side-body{flex:1;min-height:0;overflow:hidden auto}.btn{border:1px solid var(--border);background:var(--surface);cursor:pointer;white-space:nowrap;border-radius:7px;align-items:center;gap:6px;padding:6px 11px;line-height:1.2;display:inline-flex}.btn:hover:not(:disabled){border-color:var(--border-strong);background:var(--surface-2)}.btn.ghost{background:0 0;border-color:#0000}.btn.ghost:hover:not(:disabled){background:var(--surface-2)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn.primary:hover:not(:disabled){background:var(--accent);filter:brightness(1.08)}.btn:disabled{opacity:.5;cursor:default}.btn.small{padding:3px 8px;font-size:12.5px}.icon-btn{cursor:pointer;width:32px;height:32px;color:var(--text);background:0 0;border:1px solid #0000;border-radius:7px;flex:none;place-items:center;display:inline-grid}.icon-btn:hover:not(:disabled){background:var(--surface-2)}.icon-btn.active{background:var(--accent-soft);color:var(--accent);border-color:color-mix(in srgb, var(--accent) 30%, transparent)}.icon-btn.danger:hover:not(:disabled){color:var(--danger);background:var(--danger-bg)}.icon-btn:disabled{opacity:.35;cursor:default}.seg{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;flex-wrap:wrap;gap:2px;padding:2px;display:inline-flex}.seg button{cursor:pointer;color:var(--muted);white-space:nowrap;background:0 0;border:0;border-radius:6px;padding:4px 11px;font-weight:550}.seg button.on{background:var(--surface);color:var(--text);box-shadow:0 1px 2px #0000001f}:root[data-theme=dark] .seg button.on{background:var(--border)}.seg.small button{padding:3px 8px;font-size:12.5px}.field{flex-direction:column;gap:4px;display:flex}.field .seg{align-self:flex-start}.field .lbl,.slider .lbl{color:var(--muted);font-size:12px}.hint{color:var(--muted);margin:6px 0;font-size:12.5px}.font-menu{position:relative}.font-current{text-align:left;color:var(--text);background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:6px;padding:6px 28px 6px 9px;font-size:15px;position:relative}.font-current:after{content:"";border-right:1.5px solid var(--muted);border-bottom:1.5px solid var(--muted);width:6px;height:6px;position:absolute;top:50%;right:11px;transform:translateY(-70%)rotate(45deg)}.font-options,.font-names{background:var(--surface);border:1px solid var(--border);border-radius:6px;flex-direction:column;padding:3px;display:flex;overflow-y:auto}.font-options{z-index:30;max-height:340px;margin-top:2px;position:absolute;top:100%;left:0;right:0;box-shadow:0 8px 24px #00000029}.font-names{max-height:220px;margin:6px 0}.font-options button,.font-names button{text-align:left;color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:4px;padding:5px 8px;font-size:15px}.font-options button:hover,.font-names button:hover{background:var(--danger-bg,#0000000d);background:color-mix(in srgb, var(--accent) 10%, transparent)}.font-options button.on,.font-names button.on{color:var(--accent);font-weight:600}.font-options button.other{color:var(--muted);border-top:1px solid var(--border);border-radius:0 0 4px 4px;margin-top:2px;font-size:13px}.hint.warn{color:var(--danger);background:var(--danger-bg);border-radius:6px;padding:6px 8px}.menu{position:relative}.menu-pop{background:var(--surface);border:1px solid var(--border);width:340px;max-width:calc(100vw - 24px);box-shadow:var(--shadow);z-index:50;max-height:calc(100vh - 80px);overscroll-behavior:contain;border-radius:10px;flex-direction:column;max-height:calc(100dvh - 80px);padding:6px;display:flex;position:absolute;top:calc(100% + 6px);left:0;overflow-y:auto}.menu-pop button{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:7px;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 10px;display:flex}.menu-pop button:hover{background:var(--surface-2)}.menu-pop strong{font-weight:600}.menu-pop small{color:var(--muted);font-size:12px}.canvas{touch-action:none;cursor:url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M12%202l3.5%203.5h-2.3v5.3h5.3V8.5L22%2012l-3.5%203.5v-2.3h-5.3v5.3h2.3L12%2022l-3.5-3.5h2.3v-5.3H5.5v2.3L2%2012l3.5-3.5v2.3h5.3V5.5H8.5z%22%20fill%3D%22%231f2328%22%20stroke%3D%22%23fff%22%20stroke-width%3D%221.4%22%20stroke-linejoin%3D%22round%22/%3E%3C/svg%3E) 12 12,move;background-color:var(--canvas-bg);background-image:radial-gradient(var(--canvas-dots) 1px, transparent 1.2px);background-size:18px 18px;outline:none;position:absolute;inset:0;overflow:hidden}.canvas:active{cursor:url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M12%202l3.5%203.5h-2.3v5.3h5.3V8.5L22%2012l-3.5%203.5v-2.3h-5.3v5.3h2.3L12%2022l-3.5-3.5h2.3v-5.3H5.5v2.3L2%2012l3.5-3.5v2.3h5.3V5.5H8.5z%22%20fill%3D%22%231f2328%22%20stroke%3D%22%23fff%22%20stroke-width%3D%221.4%22%20stroke-linejoin%3D%22round%22/%3E%3C/svg%3E) 12 12,grabbing}.canvas-svg{-webkit-user-select:none;user-select:none;display:block}.canvas .prims text{white-space:pre}.node-hit{fill:#0000;stroke:#0000;cursor:pointer}.tool-select .node-hit:hover{fill:#2563eb0f;stroke:#2563eb59;stroke-width:1px;stroke-dasharray:3 2}.node-hit.selected{fill:#2563eb14;stroke:#2563eb;stroke-width:1.4px;stroke-dasharray:none}.node-hit.synthetic.selected{stroke-dasharray:4 3}.tool-arrow .node-hit,.tool-ccommand .node-hit,.tool-dominance .node-hit{cursor:crosshair}.hover-box{fill:#2563eb12;stroke:#2563eb80;stroke-dasharray:3 2}.arrow-source{fill:#a8382a1a;stroke:#a8382a;stroke-width:1.5px}.rel-ccommand{fill:#16a34a29;stroke:#16a34a8c}.rel-dominance{fill:#2563eb21;stroke:#2563eb80}.rel-origin{fill:none;stroke:#a8382a;stroke-width:2px}.arrow-hit{fill:none;stroke:#0000;stroke-width:12px;cursor:pointer}.arrow-hit:hover{stroke:#2563eb1f}.arrow-hit.selected{stroke:#2563eb33}.bend-handle{fill:#fff;stroke:#2563eb;stroke-width:2px;cursor:move}.canvas-tools{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);cursor:default;border-radius:10px;align-items:center;gap:2px;padding:4px;display:flex;position:absolute;bottom:14px;left:50%;transform:translate(-50%)}.zoom-label{font-variant-numeric:tabular-nums;min-width:52px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:4px;font-size:12.5px}.zoom-label:hover{background:var(--surface-2)}.canvas-hint{background:var(--text);color:var(--bg);box-shadow:var(--shadow);pointer-events:none;text-align:center;border-radius:8px;max-width:calc(100% - 24px);padding:6px 12px;font-size:13px;position:absolute;top:12px;left:50%;transform:translate(-50%)}.swatches{grid-template-columns:repeat(5,1fr);gap:6px;display:grid}.swatch{cursor:pointer;border:1px solid #00000026;border-radius:6px;height:26px}.swatch.none{background:linear-gradient(135deg, transparent 45%, var(--danger) 45%, var(--danger) 55%, transparent 55%), var(--surface)}.row{align-items:center;gap:8px;display:flex}.row.wrap{flex-wrap:wrap;margin:8px 0}.grow{flex:1;min-width:0}.settings{padding:0 16px 24px}.panel-section{border-bottom:1px solid var(--border);flex-direction:column;gap:10px;padding:12px 0;display:flex}.panel-section:last-child{border-bottom:0}.panel-section h3{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0;font-size:11.5px;font-weight:650}.slider{grid-template-columns:1fr 120px 52px;align-items:center;gap:8px;display:grid}.slider input{width:100%;accent-color:var(--accent);background:0 0;border:0;padding:0}.slider .val{text-align:right;font-variant-numeric:tabular-nums;font-size:12.5px}.toggle{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;display:flex;position:relative}.toggle input{opacity:0;width:1px;height:1px;position:absolute}.toggle .track{background:var(--border-strong);border-radius:9px;flex:none;width:32px;height:18px;transition:background .15s;position:relative}.toggle .thumb{background:#fff;border-radius:50%;width:14px;height:14px;transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #00000040}.toggle input:checked+.track{background:var(--accent)}.toggle input:checked+.track .thumb{transform:translate(14px)}.toggle input:focus-visible+.track{outline:2px solid var(--accent);outline-offset:2px}.colors{grid-template-columns:1fr 1fr;gap:8px;display:grid}.color-field{cursor:pointer;align-items:center;gap:8px;font-size:13px;display:flex}.color-field input{cursor:pointer;border-radius:5px;width:30px;height:24px;padding:1px}.select select{width:100%}.presets{grid-template-columns:1fr 1fr;gap:8px;display:grid}.preset{text-align:left;border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:8px;flex-direction:column;align-items:flex-start;gap:1px;padding:8px 10px;display:flex}.preset:hover{border-color:var(--accent)}.preset small{color:var(--muted);font-size:11.5px}.preset-paper strong{font-family:var(--serif);font-size:15px}.preset-slides strong{font-weight:800}.preset-board strong{font-family:Caveat,cursive;font-size:18px;font-weight:600;line-height:1}.modal-backdrop{z-index:100;background:#14120e61;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:12px;flex-direction:column;width:520px;max-width:100%;max-height:calc(100dvh - 32px);display:flex}.modal.wide{width:860px}.modal header{justify-content:space-between;align-items:center;padding:14px 18px 8px;display:flex}.modal h2{font:600 19px var(--serif);margin:0}.modal-body{padding:4px 18px 18px;overflow:auto}.tabs{border-bottom:1px solid var(--border);gap:4px;margin-bottom:14px;display:flex}.tabs button{cursor:pointer;color:var(--muted);background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:8px 12px;font-weight:550}.tabs button.on{color:var(--text);border-bottom-color:var(--accent)}.export-grid{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:12px;display:grid}.card{border:1px solid var(--border);border-radius:10px;flex-direction:column;align-items:flex-start;gap:9px;padding:12px;display:flex}.card h4{letter-spacing:.06em;margin:0;font-size:13px}.card .hint{margin:0}textarea.code{width:100%;height:300px;font:12.5px/1.5 var(--mono);resize:vertical;white-space:pre;background:var(--editor-bg)}.tree-list{flex-direction:column;gap:6px;margin:14px 0 0;padding:0;list-style:none;display:flex}.tree-list li{border:1px solid var(--border);border-radius:8px;align-items:center;gap:6px;padding:4px 4px 4px 0;display:flex}.tree-list li.current{border-color:var(--accent)}.tree-list .open{text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;flex:1;align-items:flex-start;gap:2px;min-width:0;padding:6px 10px;display:flex}.tree-list code{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:12px;overflow:hidden}.tree-list small{color:var(--muted);font-size:11.5px}.cheat{columns:2 360px;column-gap:24px}.cheat section{break-inside:avoid;margin-bottom:14px}.cheat h4{font:600 14px var(--serif);margin:0 0 6px}.cheat table,.keys{border-collapse:collapse;width:100%}.cheat td,.keys td{border-bottom:1px solid var(--border);vertical-align:top;padding:4px 6px;font-size:13px}.cheat td:first-child{width:46%}.cheat code{color:var(--cm-label);word-break:break-word}.keys td:first-child{white-space:nowrap;width:40%}.toast{background:var(--text);color:var(--bg);box-shadow:var(--shadow);z-index:200;border-radius:9px;max-width:min(520px,100vw - 32px);padding:9px 14px;animation:.18s ease-out toast-in;position:fixed;bottom:74px;left:50%;transform:translate(-50%)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,6px)}}.mobile-tabs{display:none}@media (max-width:1180px){.hide-md{display:none}}@media (max-width:980px){.hide-sm{display:none}}@media (max-width:820px){.app{grid-template-rows:auto minmax(0,1fr) auto}.topbar{gap:4px;padding:6px 10px}.brand h1{font-size:19px}.mode-switch{display:none}.panel-toggle,.hide-mobile{display:none!important}.workspace{grid-template-columns:1fr}.pane{display:none!important}.tab-code .code-pane,.tab-tree .canvas-pane,.tab-settings .side-pane{flex-direction:column;display:flex!important}.tab-tree .canvas-pane{display:block!important}.code-pane{border-right:0}.mobile-tabs{border-top:1px solid var(--border);background:var(--surface);padding-bottom:env(safe-area-inset-bottom);grid-template-columns:repeat(3,1fr);display:grid}.mobile-tabs button{color:var(--muted);background:0 0;border:0;border-top:2px solid #0000;padding:12px 0;font-weight:600;position:relative}.mobile-tabs button.on{color:var(--accent);border-top-color:var(--accent)}.err-dot{background:var(--danger);vertical-align:middle;border-radius:50%;width:7px;height:7px;margin-left:6px;display:inline-block}.export-grid{grid-template-columns:1fr}.toast{bottom:120px}}@media (max-width:480px){.hide-xs,.brand>div{display:none}.actions{gap:0}.icon-btn{width:30px}}.reset-btn{color:var(--accent);cursor:pointer;vertical-align:middle;background:0 0;border:0;border-radius:4px;padding:0 3px;font-size:13px;line-height:1}.reset-btn:hover{background:var(--accent-soft)}.reset-slot{display:none}.toggle .reset-btn{margin-left:auto}.reset-note{margin-top:4px}.preset:disabled{opacity:.45;cursor:default}.chain-switch .seg button{padding:4px 9px}.local-font{flex-direction:column;gap:6px;display:flex}.local-font .hint{margin:0}.color-pop.menu-list{align-items:stretch;gap:4px;width:250px}.menu-list button:not(.icon-btn){text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;padding:6px 8px}.menu-list button:not(.icon-btn):hover:not(:disabled){background:var(--surface-2)}.menu-list button:disabled{opacity:.45;cursor:default}.menu-list .row.tight{gap:2px}.menu-list .row.tight button{border:1px solid var(--border);padding:3px 8px}.pop-hint{color:var(--muted);margin:0 0 4px;font-size:12px}.pop-error{color:var(--danger);margin:4px 0 0;font-size:12px}.field-pop{width:260px}.field-pop.wide{width:340px}.field-pop label{color:var(--muted);flex-direction:column;gap:4px;font-size:12px;display:flex}.field-pop input{font-family:var(--mono);color:var(--text);font-size:13px}.field-pop .btn{align-self:flex-start}.txt-icon{font:600 14px var(--serif);letter-spacing:0}.guide{grid-template-columns:190px 1fr;gap:20px;min-height:420px;display:grid}.guide-nav{border-right:1px solid var(--border);flex-direction:column;gap:2px;padding-right:12px;display:flex}.guide-nav button{text-align:left;cursor:pointer;color:var(--muted);background:0 0;border:0;border-radius:7px;padding:7px 10px;font-weight:550}.guide-nav button.on{background:var(--accent-soft);color:var(--accent)}.guide-nav button:hover:not(.on){background:var(--surface-2);color:var(--text)}.guide-body{min-width:0;font-size:14px;line-height:1.55}.guide-body h3{font:600 20px var(--serif);margin:0 0 8px}.guide-body h4{text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin:18px 0 6px;font-size:12px}.guide-body p{margin:6px 0}.guide-body code,.guide-table code{color:var(--cm-label);background:var(--surface-2);border-radius:4px;padding:1px 4px}.guide-table{border-collapse:collapse;width:100%;margin:4px 0 8px}.guide-table td{border-bottom:1px solid var(--border);vertical-align:top;padding:5px 8px;font-size:13.5px}.guide-table td:first-child{white-space:nowrap;width:38%}.guide-table td:first-child code{white-space:pre-wrap;word-break:break-word}.guide-pre{font:13px/1.5 var(--mono);background:var(--editor-bg);border:1px solid var(--border);white-space:pre-wrap;border-radius:8px;margin:6px 0;padding:8px 10px}.steps{padding-left:20px}.steps li{margin-bottom:10px}@media (max-width:820px){.guide{grid-template-columns:1fr}.guide-nav{border-right:0;border-bottom:1px solid var(--border);flex-flow:wrap;padding:0 0 8px}.guide-table td:first-child{white-space:normal}}.label-hit{fill:#0000;cursor:move}.tool-select .label-hit:hover{fill:#2563eb0f;stroke:#2563eb59;stroke-dasharray:3 2}.label-ghost{fill:#2563eb14;stroke:#2563eb;stroke-dasharray:3 2;pointer-events:none}.label-list{flex-direction:column;gap:4px;display:flex}.label-list .row.tight{gap:4px}.label-list input{padding:3px 7px;font-size:13px}.label-list select{padding:2px 4px;font-size:12px}.icon-btn.small{width:24px;height:24px;font-size:11px}.num-row{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.num-field{color:var(--muted);flex-direction:column;gap:2px;font-size:11px;display:flex}.num-field input{width:100%;padding:3px 6px;font-size:13px}.swatches.small{grid-template-columns:repeat(10,1fr);gap:4px}.swatches.small .swatch{height:18px}.swatch.on{outline:2px solid var(--accent,#2563eb);outline-offset:1px}.splitter{z-index:5;cursor:col-resize;touch-action:none;width:9px;position:absolute;top:0;bottom:0}.splitter-right{right:-5px}.splitter-left{left:-5px}.splitter:after{content:"";background:0 0;width:1px;transition:background .15s;position:absolute;top:0;bottom:0;left:4px}.splitter:hover:after,body.resizing .splitter:after{background:var(--accent);width:2px}.tree-tabs{border-bottom:1px solid var(--border);scrollbar-width:thin;flex:none;align-items:center;gap:2px;padding:6px 8px 0;display:flex;overflow:auto hidden}.tree-tab{border:1px solid #0000;border-bottom:0;border-radius:7px 7px 0 0;flex:none;align-items:center;margin-bottom:-1px;display:flex;position:relative}.tree-tab.on{background:var(--editor-bg);border-color:var(--border);border-bottom:1px solid var(--editor-bg)}.tab-name{color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;padding:5px 4px 5px 10px;font-size:12.5px}.tree-tab.on .tab-name{color:var(--text);font-weight:600}.tab-more{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:5px;place-items:center;padding:4px 5px;display:grid}.tab-more:hover{background:var(--surface-2)}.tab-rename{width:120px;margin:3px 4px;padding:2px 6px;font-size:12.5px}.tree-tab .tab-menu{z-index:60;width:290px;position:fixed}.tab-menu .danger strong{color:var(--danger)}.add-tree{flex:none;margin-left:4px}.link-mark{vertical-align:-1px;opacity:.8;margin-left:4px;display:inline-flex}.sheet-head{background:var(--surface);border:1px solid var(--border);color:var(--muted);cursor:grab;white-space:nowrap;-webkit-user-select:none;user-select:none;z-index:3;border-radius:6px 6px 0 0;padding:2px 9px;font-size:12px;position:absolute;transform:translateY(0)}.sheet-head.on{color:var(--accent-ink);background:var(--accent);border-color:var(--accent)}.sheet-head:active{cursor:grabbing}.other-sheet{cursor:pointer}.other-sheet:hover .paper{stroke:#2563eb73;stroke-width:1.5px}.paper-active{stroke:var(--accent);stroke-width:1.5px}.bend-handle.via{fill:#2563eb;stroke:#fff;stroke-width:1.6px}.label-hit.selected{fill:#2563eb14;stroke:#2563eb}.inspector{flex-direction:column;gap:10px;padding:12px 14px 28px;display:flex;position:relative}.insp-empty h2,.insp-head h2{font:600 17px var(--serif);margin:0}.insp-empty .hint{margin:8px 0}.insp-keys{padding-left:18px;line-height:1.9}.insp-panel{flex-direction:column;gap:10px;display:flex}.insp-head{align-items:center;gap:8px;display:flex}.chip{background:var(--surface-2);color:var(--muted);font-size:11.5px;font-family:var(--mono);border-radius:99px;padding:1px 7px}.insp-field{color:var(--muted);flex-direction:column;gap:3px;font-size:12px;display:flex}.insp-field input{color:var(--text);padding:5px 8px;font-size:14px}.insp-field input.mono{font-family:var(--mono);font-size:12.5px}.insp-tools{grid-template-columns:repeat(3,1fr);gap:4px;display:grid}.insp-tool{border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:8px;flex-direction:column;align-items:center;gap:2px;padding:6px 2px 5px;font-size:11.5px;display:flex}.insp-tool:hover:not(:disabled){background:var(--surface-2)}.insp-tool.active{border-color:var(--accent);color:var(--accent)}.insp-tool.danger:hover:not(:disabled){color:var(--danger);border-color:var(--danger)}.insp-tool:disabled{opacity:.45;cursor:default}.insp-group{border-top:1px solid var(--border);flex-direction:column;gap:7px;padding-top:10px;display:flex}.insp-group h3{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:0;font-size:11.5px;font-weight:600}.insp-group .seg{align-self:stretch}.insp-group .seg button{flex:1}.insp-group .row.wrap{gap:6px;margin:0}.insp-group .hint{margin:0}.danger-btn:hover:not(:disabled){color:var(--danger);border-color:var(--danger)}.swatch.custom{background:conic-gradient(#e11d48,#f59e0b,#84cc16,#06b6d4,#6366f1,#d946ef,#e11d48);position:relative;overflow:hidden}.swatch.custom input{opacity:0;cursor:pointer;border:0;width:calc(100% + 12px);height:calc(100% + 12px);padding:0;position:absolute;inset:-6px}@media (max-width:980px){.workspace{grid-template-columns:minmax(240px,34%) minmax(0,1fr)}.side-pane{border:1px solid var(--border);width:min(380px,100vw - 16px);max-height:52vh;box-shadow:var(--shadow);z-index:30;border-radius:12px;display:none;position:fixed;bottom:8px;right:8px}.side-appearance .side-pane{max-height:calc(100dvh - 80px)}.side-open .side-pane{display:flex}.side-pane .splitter{display:none}.side-tabs .side-close{display:grid}}@media (max-width:820px){.workspace{grid-template-columns:1fr}.has-selection.tab-tree .side-pane{bottom:calc(56px + env(safe-area-inset-bottom));display:flex!important}.tab-settings .side-pane{width:auto;max-height:none;box-shadow:none;border:0;border-radius:0;position:static}.tab-settings .side-tabs .side-close,.tab-settings .side-tabs,.splitter{display:none}}.end-lbl{width:36px;color:var(--muted);flex:none;font-size:12px}.file-pop{width:320px;left:auto;right:0}.file-pop kbd{float:right;font-size:11px;font-weight:400}.file-label{text-overflow:ellipsis;white-space:nowrap;max-width:160px;overflow:hidden}.unsaved-dot{background:var(--accent);border-radius:50%;flex:none;width:7px;height:7px}.menu-toggle{cursor:pointer;border-radius:8px;align-items:flex-start;gap:10px;padding:8px 12px;display:flex}.menu-toggle:hover{background:var(--surface-2)}.menu-toggle span{flex-direction:column;display:flex}.menu-toggle small{color:var(--muted);font-size:12px}.menu-toggle input{margin-top:3px}.menu-link{color:inherit;border-radius:8px;flex-direction:column;padding:8px 12px;text-decoration:none;display:flex}.menu-link:hover{background:var(--surface-2)}.menu-link small{color:var(--muted);font-size:12px}.topbar .seg{white-space:nowrap;flex-wrap:nowrap}.mono-small{font-family:var(--mono);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.scope{background:var(--surface-2);border-radius:8px;align-items:center;gap:8px;padding:6px 8px;display:flex}.scope .end-lbl{width:auto}.linked-frame rect{fill:currentColor;fill-opacity:.05;stroke:currentColor;stroke-width:1.3px;stroke-dasharray:5 3;pointer-events:none}.linked-frame text{fill:currentColor;font:600 9.5px var(--ui);pointer-events:none}.branch-sel{fill:#2563eb0d;stroke:#2563eb8c;stroke-width:1px;stroke-dasharray:3 3;pointer-events:none}.branch-ghost{fill:#2563eb14;stroke:#2563eb;stroke-width:1.2px;stroke-dasharray:4 3;pointer-events:none}.drop-target{fill:#16a34a1f;stroke:#16a34a;stroke-width:1.6px;pointer-events:none}.marquee{fill:#2563eb12;stroke:#2563eb;stroke-width:1px;stroke-dasharray:4 3;pointer-events:none}.ctx-menu{z-index:40;width:270px;max-height:calc(100% - 16px)}.ctx-menu .danger strong{color:var(--danger)}.ctx-empty{margin:6px 10px}.linked-note{color:var(--muted);border:1px dashed var(--accent);border-radius:8px;align-items:center;gap:8px;padding:7px 9px;font-size:12px;display:flex}.ctx-title{font:600 12px var(--ui);color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:4px 10px 2px}.ctx-sep{border:0;border-top:1px solid var(--border);margin:4px 6px}.code-hide{flex:none;margin-left:auto;transform:rotate(90deg)}@media (min-width:821px){.code-hidden .code-pane{visibility:hidden}.code-hidden .workspace{grid-template-columns:0 minmax(0, 1fr) var(--side-w)}}@media (min-width:821px) and (max-width:980px){.code-hidden .workspace{grid-template-columns:0 minmax(0,1fr)}}@media (max-width:820px){.code-show,.code-hide{display:none!important}}.code-show{z-index:6;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;box-shadow:var(--shadow);border-left:0;border-radius:0 8px 8px 0;align-items:center;gap:4px;padding:6px 10px 6px 6px;font-size:12.5px;display:inline-flex;position:absolute;top:12px;left:0}.code-show svg{transform:rotate(-90deg)}.file-pop .danger strong{color:var(--danger)}.appearance-scope{margin:12px 0 4px}.modal.ask{max-width:440px}.modal.ask .modal-body{flex-direction:column;gap:14px;padding-top:18px;display:flex}.modal.ask p{margin:0;line-height:1.45}.empty-hint{font:600 13px var(--ui);fill:#8a857b;text-anchor:middle;pointer-events:none}.empty-hint.small{font-size:10.5px;font-weight:400}.sheet-resize{fill:var(--surface);stroke:var(--border-strong);stroke-width:1px;cursor:nwse-resize}.sheet-resize:hover{fill:var(--accent);stroke:var(--accent)}.num-row.two{grid-template-columns:repeat(2,1fr)}.nanosyntax-panel{padding:2px 14px 24px;font-size:13px}.nanosyntax-panel .insp-group{padding:14px 0}.nanosyntax-panel p{line-height:1.5}.nanosyntax-panel textarea,.nanosyntax-panel select,.insp-field select{box-sizing:border-box;width:100%;color:var(--text);background:var(--bg);border:1px solid var(--border);font:inherit;border-radius:5px;padding:7px 8px}.nanosyntax-panel textarea{resize:vertical;font-family:IBM Plex Mono,monospace;font-size:11.5px}.ns-build{justify-content:center;width:100%;margin-top:8px}.ltree-entry{border:1px solid var(--border);border-radius:8px;margin:14px 0;padding:10px}.ltree-entry-top{align-items:end;gap:6px;display:flex}.ltree-preview{background:#fff;border-radius:4px;width:100%;max-height:150px;margin-top:8px;display:block}.ns-add-row{flex-wrap:wrap;gap:6px;display:flex}.ns-step-nav{flex-wrap:wrap;gap:3px;max-height:150px;margin:10px 0;display:flex;overflow-y:auto}.ns-step-nav button{justify-content:center;min-width:28px}.ns-result{border-left:3px solid var(--accent);padding-left:10px!important}.ns-surface{overflow-wrap:anywhere;font-size:16px;font-weight:600}.ns-success{color:#15803d}.ns-failure{color:#b91c1c}.derivation-frame{fill:var(--accent);fill-opacity:.025;stroke:var(--accent);stroke-opacity:.3;stroke-dasharray:8 5;pointer-events:none}.derivation-head{white-space:nowrap;background:var(--surface);border:1px solid var(--border);cursor:grab;-webkit-user-select:none;user-select:none;border-radius:5px;align-items:center;gap:12px;padding:5px 8px;font-size:12px;display:flex;position:absolute}.derivation-head:active{cursor:grabbing}.ns-guide summary{cursor:pointer;color:var(--muted)}.ns-guide code{overflow-wrap:anywhere}@media (max-width:1100px){.side-nanosyntax .side-pane{display:flex}}@media (max-width:700px){.topbar [data-testid=nanosyntax-toggle]{padding:5px;font-size:11px}}.ltree-badge{color:#09695f;font:600 10px var(--ui);white-space:nowrap;background:#e1f2ee;border:1px solid #168077;border-radius:4px;align-items:center;margin-left:6px;padding:1px 5px;display:inline-flex}.lexical-sheet .paper{stroke:#168077;stroke-width:1.2px}.lexical-cluster-frame{fill:#168077;fill-opacity:.025;stroke:#168077;stroke-opacity:.45;stroke-dasharray:5 5;pointer-events:none}.lexical-cluster-head{background:var(--surface);color:var(--text);white-space:nowrap;-webkit-user-select:none;user-select:none;border:1px solid #16807766;border-radius:4px;padding:3px 7px;font-size:11px;position:absolute}.lexical-cluster-head.movable{cursor:grab}.lexical-cluster-head.movable:active{cursor:grabbing}.ltree-entry-actions,.ns-assignment-actions{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.ns-example-list{gap:8px;margin:10px 0;display:grid}.ns-example-list button{text-align:left;white-space:normal}.ns-source{color:var(--muted);overflow-wrap:anywhere;font-size:11px;line-height:1.45}:root[data-theme=dark] .ltree-badge{color:#a5ded4;background:#163c37}@media (max-width:980px){.side-nanosyntax .side-pane{max-height:calc(100dvh - 80px)}}.ltree-open{width:100%;color:var(--muted);cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;padding:4px 0;display:block}.ltree-open:hover{color:var(--accent)}.ltree-open span{margin-top:5px;font-size:11px;display:block}.nanosyntax-panel .check{align-items:start;gap:7px;margin:10px 0;line-height:1.4;display:flex}.nanosyntax-panel .check input{flex:none;margin-top:2px}.sheet-head{box-sizing:border-box;align-items:center;gap:4px;display:flex;overflow:hidden}.sheet-caption{text-overflow:ellipsis;min-width:0;overflow:hidden}.sheet-head .ltree-badge{flex:none;margin-left:0}.edge-hit{fill:none;stroke:#0000;stroke-width:12px;pointer-events:stroke;cursor:pointer}.edge-hit:hover{stroke:#e9a23b66}.edge-hit.selected{stroke:#e9a23b88;stroke-width:8px}.drop-slot{fill:#fff;stroke:#ea8a23;stroke-width:2px;pointer-events:none}.drop-slot.on{fill:#ea8a23;stroke:#8f4800}.customize-scope .seg{flex-wrap:wrap}.customize-scope{padding:10px}.canvas-tools select{max-width:95px;font-size:11px}
