@font-face{font-family:Caveat;font-style:normal;font-display:swap;font-weight:500;src:url(./caveat-cyrillic-ext-500-normal-DcrB4vVx.woff2) format("woff2"),url(./caveat-cyrillic-ext-500-normal-DqTXtm5N.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Caveat;font-style:normal;font-display:swap;font-weight:500;src:url(./caveat-cyrillic-500-normal-DpMZbbjM.woff2) format("woff2"),url(./caveat-cyrillic-500-normal-DLSfp5IU.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Caveat;font-style:normal;font-display:swap;font-weight:500;src:url(./caveat-latin-ext-500-normal-jKqJW7bC.woff2) format("woff2"),url(./caveat-latin-ext-500-normal-wUUXxlbS.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Caveat;font-style:normal;font-display:swap;font-weight:500;src:url(./caveat-latin-500-normal-B9SDL8cy.woff2) format("woff2"),url(./caveat-latin-500-normal-Do9veZfZ.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--paper: #f4f5f1;--dot: #d9dbd4;--panel: #ffffff;--ink: #17191c;--ink-2: #5d6269;--line: #c9ccc5;--accent: #2646d6;--accent-soft: #dfe5fb;--root-bg: #17191c;--root-fg: #f4f5f1;--connector: #9ea49d;--danger: #b3261e;--xlink: #d0433a;--font-ui: -apple-system, "SF Pro Text", "Segoe UI", system-ui, Roboto, "Helvetica Neue", Arial, sans-serif;--font-display: "Iowan Old Style", "Palatino Linotype", "Book Antiqua", Palatino, Georgia, serif;--radius: 6px;--font-map: var(--font-ui);--fs-root: 16px;--fs-1: 14px;--fs-n: 14px}[data-theme=night]{--paper: #15171a;--dot: #272a2f;--panel: #1f2226;--ink: #e8e9e6;--ink-2: #9aa0a6;--line: #3b4046;--accent: #7c9cff;--accent-soft: #2b3550;--root-bg: #f4f5f1;--root-fg: #15171a;--connector: #6b7178;--xlink: #f0625a}[data-theme=chalk]{--paper: #1f3a33;--dot: #2d4c44;--panel: #27463e;--ink: #f1f5ee;--ink-2: #b6c2b8;--line: #476b5e;--accent: #f5c451;--accent-soft: #4b5a3a;--root-bg: #f5c451;--root-fg: #1f3a33;--connector: #8fa89a;--xlink: #ff8f7a}[data-theme=ocean]{--paper: #eef4f8;--dot: #d3dfe8;--panel: #ffffff;--ink: #12283a;--ink-2: #4d6578;--line: #bfd0dc;--accent: #0f6fb5;--accent-soft: #d4e6f5;--root-bg: #0f4c75;--root-fg: #f4f9fc;--connector: #7fa3ba}[data-theme=forest]{--paper: #f1f4ec;--dot: #d6dccb;--panel: #ffffff;--ink: #1d2a1f;--ink-2: #4f6152;--line: #c2ccb6;--accent: #2f7d4f;--accent-soft: #d8ecdd;--root-bg: #244d34;--root-fg: #f2f7f1;--connector: #8ba38f}[data-theme=sunset]{--paper: #fbf3ec;--dot: #ecd9c8;--panel: #ffffff;--ink: #33211a;--ink-2: #7a5a4a;--line: #e2cbb8;--accent: #e0563b;--accent-soft: #fbe0d8;--root-bg: #7a2e2a;--root-fg: #fdf4ef;--connector: #c9a48f}[data-theme=ink]{--paper: #ffffff;--dot: #e6e6e6;--panel: #ffffff;--ink: #111111;--ink-2: #555555;--line: #111111;--accent: #111111;--accent-soft: #dddddd;--root-bg: #111111;--root-fg: #ffffff;--connector: #111111;--radius: 2px}[data-theme=pastel]{--paper: #fbf9f4;--dot: #ebe6dc;--panel: #ffffff;--ink: #3b3a45;--ink-2: #77768a;--line: #e4dfe9;--accent: #7aa8f2;--accent-soft: #e3ecfb;--root-bg: #5e5b8a;--root-fg: #fbf9f4;--connector: #c9c3d6;--radius: 12px}[data-theme=dusk]{--paper: #f5f4f1;--dot: #e2e0da;--panel: #ffffff;--ink: #2b3743;--ink-2: #6b7681;--line: #d9d6cf;--accent: #4f6d8a;--accent-soft: #dfe6ec;--root-bg: #3b4a58;--root-fg: #f5f4f1;--connector: #a3a8ad;--radius: 10px}[data-theme=clay]{--paper: #f7f2ea;--dot: #e6dccd;--panel: #fffdf9;--ink: #3d2f27;--ink-2: #7c6a5e;--line: #e0d3c3;--accent: #b26a4c;--accent-soft: #f1dfd4;--root-bg: #5a3f33;--root-fg: #f7f2ea;--connector: #bfae9c;--radius: 10px}[data-theme=slate]{--paper: #1e2530;--dot: #2c3542;--panel: #28313d;--ink: #e6ebf2;--ink-2: #9aa7b8;--line: #3b4757;--accent: #7cb0ff;--accent-soft: #2f4368;--root-bg: #e6ebf2;--root-fg: #1e2530;--connector: #5e6d80}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font:14px/1.4 var(--font-ui);color:var(--ink);background:var(--paper);-webkit-text-size-adjust:100%;overscroll-behavior:none}button{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.home{max-width:680px;margin:0 auto;padding:56px 24px 80px}.home h1{font:400 42px/1.05 var(--font-display);letter-spacing:-.01em;margin:0 0 8px}.home .lede{color:var(--ink-2);margin:0 0 28px}.home .actions{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:32px}.btn{border:1px solid var(--line);background:var(--panel);border-radius:var(--radius);padding:9px 16px;cursor:pointer}.btn:hover{border-color:var(--ink-2)}.btn.primary{background:var(--ink);color:var(--paper);border-color:var(--ink)}.btn.primary:hover{background:#000}.maplist{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.maplist li{display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line)}.maplist .open{flex:1;display:flex;flex-direction:column;gap:3px;align-items:flex-start;text-align:left;background:none;border:0;padding:14px 4px;cursor:pointer}.maplist .open:hover .title{color:var(--accent)}.maplist .title{font-size:16px;font-weight:500}.maplist .meta{color:var(--ink-2);font-size:13px}.maplist .del{background:none;border:0;color:var(--ink-2);cursor:pointer;padding:8px;display:inline-flex}.maplist .del svg{width:18px;height:18px}.maplist .del:hover{color:var(--danger)}.home .empty,.home .error{padding:24px 0;color:var(--ink-2)}.home .error{color:var(--danger)}.home footer{margin-top:48px;color:var(--ink-2);font-size:12px}.editor{position:fixed;inset:0;display:flex;flex-direction:column;outline:none;background:var(--paper);color:var(--ink)}.editor .main{flex:1;display:flex;min-height:0;position:relative}.editor .main .viewport{flex:1;min-width:0}.editor.linking .node,.viewport.linking{cursor:crosshair}.editor.selecting .viewport{cursor:cell}.iconbtn.on{background:var(--accent-soft);border-color:var(--accent)}.topbar{flex:none;display:flex;align-items:center;gap:6px;padding:env(safe-area-inset-top) 8px 0;min-height:calc(46px + env(safe-area-inset-top));background:var(--panel);border-bottom:1px solid var(--line)}.topbar .title{flex:1 1 100px;min-width:60px;border:1px solid transparent;border-radius:var(--radius);padding:5px 8px;font:500 16px var(--font-ui);background:transparent;color:var(--ink)}.topbar .title:hover{border-color:var(--line)}.topbar .title:focus{border-color:var(--accent);outline:none}.savestate{color:var(--ink-2);font-size:12px;min-width:42px}.savestate.error{color:var(--danger);background:none;border:1px solid var(--danger);border-radius:var(--radius);padding:3px 8px;cursor:pointer}.spacer{flex:0 1 24px}.iconbtn{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;background:none;border-radius:var(--radius);cursor:pointer;color:var(--ink);padding:0}.iconbtn:hover:not(:disabled){background:var(--paper);border-color:var(--line)}.iconbtn:disabled{opacity:.3;cursor:default}.iconbtn svg{width:18px;height:18px}.segmented{flex:none;display:inline-flex;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.segmented button{border:0;background:none;padding:6px 10px;cursor:pointer;font-size:13px;white-space:nowrap}.segmented button.on{background:var(--ink);color:var(--paper)}.group{display:inline-flex;align-items:center;gap:2px}.zoompct{min-width:44px;text-align:center;font-variant-numeric:tabular-nums;font-size:13px;color:var(--ink-2)}.searchbar{flex:none;display:flex;align-items:center;gap:6px;padding:6px 10px;background:var(--panel);border-bottom:1px solid var(--line)}.searchbar>svg{width:18px;height:18px;color:var(--ink-2);flex:none}.searchbar .input{flex:1}.searchbar .count{color:var(--ink-2);font-size:12px;white-space:nowrap;min-width:60px;text-align:right}.input{font:14px var(--font-ui);color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:6px 8px;min-width:0;width:100%}.input:focus{outline:none;border-color:var(--accent)}.input.note{resize:vertical;min-height:80px;line-height:1.4}.hint{position:absolute;top:10px;left:50%;transform:translate(-50%);z-index:9;background:var(--ink);color:var(--paper);padding:6px 12px;border-radius:999px;font-size:13px;pointer-events:none}.viewport{position:relative;flex:1;overflow:hidden;touch-action:none;cursor:grab;background-color:var(--paper);background-image:radial-gradient(var(--dot) 1px,transparent 1.3px);background-size:24px 24px}.viewport.panning{cursor:grabbing}.stage{position:absolute;left:0;top:0;width:0;height:0;transform-origin:0 0}.links{position:absolute;left:0;top:0;overflow:visible;pointer-events:none}.links path{fill:none;stroke:var(--connector);stroke-width:1.6px}.links path.sel{stroke:var(--accent);stroke-width:2px}.node{position:absolute;left:0;top:0;width:max-content;min-width:44px;min-height:32px;max-width:260px;padding:6px 12px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 1px #17191c0d;white-space:pre-wrap;overflow-wrap:break-word;user-select:none;-webkit-user-select:none;cursor:default;touch-action:none;transition:transform .15s ease,box-shadow .1s ease}.node .text{min-height:1.35em}.node{font-family:var(--font-map);font-size:var(--fs-n)}.node.root{background:var(--root-bg);color:var(--root-fg);border-color:var(--root-bg);font-weight:600;font-size:var(--fs-root);padding:10px 16px;max-width:300px;border-radius:8px}.node.depth-1{font-weight:500;font-size:var(--fs-1)}.node.branched{border-color:var(--branch)}.node.branched.depth-1{border-width:1.5px;box-shadow:0 1px #17191c0d,inset 0 0 0 1px color-mix(in srgb,var(--branch) 12%,transparent)}.node.branched .badge{background:var(--branch)}.node.leafline{background:transparent;border:0;border-bottom:2px solid var(--branch, var(--connector));border-radius:0;box-shadow:none;padding:3px 8px 2px;min-height:28px}.node.leafline.selected{box-shadow:0 0 0 2px var(--accent-soft),0 0 0 3px var(--accent);border-radius:4px}.links path.fill{stroke:none!important;opacity:.9}.links path.fill.sel{opacity:1;filter:drop-shadow(0 0 2px var(--accent))}.node.selected{box-shadow:0 0 0 2px var(--accent-soft),0 0 0 3px var(--accent);border-color:var(--accent)}.node.primary,.node.editing{box-shadow:0 0 0 2px var(--accent);border-color:var(--accent)}.node.editing{cursor:text;user-select:text;-webkit-user-select:text}.node.drop{box-shadow:0 0 0 2px var(--accent);background:var(--accent-soft)}.node.root.drop{background:#2c3654}.node.dragging{opacity:.45}.node.collapsed{box-shadow:2px 2px 0 var(--panel),3px 3px 0 var(--line)}.node.shape-rect{border-radius:0}.node.shape-ellipse{border-radius:999px;padding:8px 18px;text-align:center}.node.bold{font-weight:700}.node.hit{box-shadow:0 0 0 3px #f5c451}.node.hit.primary{box-shadow:0 0 0 2px var(--accent),0 0 0 4px #f5c451}.node.icon-left,.node.icon-right{display:flex;align-items:center;gap:8px}.node.icon-top,.node.icon-bottom{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}.node .nodeicon{flex:none;display:block;max-width:100%;object-fit:contain;pointer-events:none;user-select:none;-webkit-user-drag:none}.node.icon-center{background-size:contain;background-repeat:no-repeat;background-position:center;display:flex;align-items:flex-end;justify-content:center}.node.icon-center .text,.node.icon-center .edit{background:#fffc;color:#17191c;border-radius:4px;padding:1px 6px}.node .marks{position:absolute;right:-6px;bottom:-8px;display:flex;gap:2px}.node .mark{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:999px;background:var(--panel);border:1px solid var(--line);color:var(--ink-2);font:12px/1 var(--font-ui);text-decoration:none}.node a.mark:hover{color:var(--accent);border-color:var(--accent)}.node.root .mark{background:var(--root-bg);color:var(--root-fg);border-color:var(--root-fg)}.xlinks{position:absolute;left:0;top:0;overflow:visible;pointer-events:none;color:var(--xlink)}.xlinks .hitarea{fill:none;stroke:transparent;stroke-width:14px;pointer-events:stroke;cursor:pointer}.xlinks .line{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round}.xlinks .arrow{fill:currentColor;stroke:none}.xlinks g.sel{color:var(--accent)}.xlinks g.sel .line{stroke-width:2.5px}.node.collapsed.selected{box-shadow:0 0 0 2px var(--accent),3px 3px 0 var(--line)}.node .edit{outline:none;min-width:24px;min-height:1.35em;white-space:pre-wrap;caret-color:var(--accent)}.node.root .edit{caret-color:var(--root-fg)}.badge{position:absolute;top:50%;transform:translateY(-50%);right:-12px;background:var(--accent);color:#fff;border:0;border-radius:999px;font-size:11px;line-height:20px;height:20px;min-width:20px;padding:0 6px;cursor:pointer}.badge.open{height:10px;min-width:10px;padding:0;right:-7px;background:var(--panel);border:2px solid var(--branch, var(--connector));opacity:0;transition:opacity .12s ease}.node:hover .badge.open,.node.selected .badge.open{opacity:1}.node.side-left .badge.open{left:-7px}.node.side-down .badge.open{bottom:-7px}.node.branch-down .badge{inset:auto auto -12px 50%;transform:translate(-50%)}.node.branch-down .badge.open{bottom:-7px}.node .num{display:inline-block;margin-right:5px;color:var(--branch, var(--ink-2));font-weight:600;font-variant-numeric:tabular-nums}.node.roottext{background:transparent;border-color:transparent;color:var(--ink);font-size:calc(var(--fs-root) * 1.25);padding:6px 10px;max-width:260px;text-align:center;box-shadow:none}.node.roottext.icon-left,.node.roottext.icon-right,.node.roottext.icon-top{flex-direction:column;gap:6px}.node.roottext .nodeicon{width:44px;height:44px}.node.roottext.selected{box-shadow:0 0 0 2px var(--accent-soft),0 0 0 3px var(--accent);border-radius:10px}.node.filled{background:var(--branch);border-color:var(--branch);color:#fff;box-shadow:none}.node.filled .badge.open{background:var(--branch);border-color:#fff}.node.filled.icon-left,.node.filled.icon-right{flex-direction:column;gap:4px;text-align:center}.node.leafplain{background:transparent;border-color:transparent;box-shadow:none;padding:3px 8px}.node.leafplain.selected{box-shadow:0 0 0 2px var(--accent-soft),0 0 0 3px var(--accent);border-radius:6px}.node.side-left .badge{right:auto;left:-12px}.node.side-down .badge{inset:auto auto -12px 50%;transform:translate(-50%)}.ghost{position:fixed;z-index:20;pointer-events:none;max-width:240px;padding:6px 12px;background:var(--panel);border:1px solid var(--accent);border-radius:var(--radius);box-shadow:0 8px 20px #17191c2e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.actionbar{position:absolute;left:50%;bottom:calc(14px + env(safe-area-inset-bottom));transform:translate(-50%);z-index:10;display:flex;gap:2px;padding:4px;max-width:calc(100% - 16px);background:var(--panel);border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 24px #17191c1f}.actionbar .iconbtn{width:40px;height:40px}.actionbar .sep{width:1px;background:var(--line);margin:6px 3px}.panel{position:relative;z-index:15;flex:none;width:300px;overflow:auto;background:var(--panel);border-left:1px solid var(--line);padding:0 14px 20px}.panel-head{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 0;background:var(--panel);border-bottom:1px solid var(--line)}.panel-scope{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.panel section{padding:12px 0 4px}.panel h3{margin:0 0 8px;font:500 12px var(--font-ui);color:var(--ink-2)}.panel .row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:8px}.panel .field{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--ink-2);flex:1}.panel select{font:14px var(--font-ui);color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:5px 6px}.btn.small{padding:5px 10px;font-size:13px}a.btn{text-decoration:none;color:inherit;display:inline-flex;align-items:center}.btn.on{border-color:var(--accent);background:var(--accent-soft)}.segmented.small button{padding:4px 8px;font-size:12px}.swatches{display:flex;flex-wrap:wrap;gap:6px}.swatch{width:24px;height:24px;border-radius:999px;border:1px solid var(--line);padding:0;cursor:pointer;position:relative}.swatch.on{box-shadow:0 0 0 2px var(--panel),0 0 0 4px var(--accent)}.swatch.none{background:var(--panel)}.swatch.none:after{content:"";position:absolute;inset:4px;border-top:1px solid var(--danger);transform:rotate(-45deg) translateY(7px)}.swatch.custom{overflow:hidden;background:conic-gradient(red,#ff0,#0f0,#0ff,#00f,#f0f,red)}.swatch.custom input{opacity:0;width:100%;height:100%;cursor:pointer}.iconrow{display:flex;gap:10px;align-items:flex-start}.iconpreview{width:56px;height:56px;object-fit:contain;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);flex:none}.iconctl{display:flex;flex-direction:column;gap:6px;min-width:0}.iconctl .segmented{flex-wrap:wrap}.symbols{display:grid;grid-template-columns:repeat(auto-fill,34px);gap:4px;margin-top:8px}.symbol{width:34px;height:34px;border:1px solid transparent;border-radius:var(--radius);background:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;color:var(--ink)}.symbol:hover{border-color:var(--line);background:var(--paper)}.menu{position:fixed;z-index:25;min-width:220px;padding:4px;background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:0 10px 30px #0000002e}.menu-item{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;white-space:nowrap;padding:7px 10px;border:0;background:none;border-radius:var(--radius);text-align:left;cursor:pointer;font-size:13px}.menu-item:hover:not(:disabled){background:var(--accent-soft)}.menu-item:disabled{opacity:.4;cursor:default}.menu-item kbd{font:11px var(--font-ui);color:var(--ink-2)}.menu-sep{height:1px;background:var(--line);margin:4px 6px}.help.history{max-width:900px;height:85vh;display:flex;flex-direction:column}.history-body{flex:1;display:flex;gap:14px;min-height:0}.versions{list-style:none;margin:0;padding:0;width:220px;flex:none;overflow:auto;border-right:1px solid var(--line)}.versions .muted,.preview .muted,.help .muted{color:var(--ink-2);font-size:13px}.version{display:flex;flex-direction:column;gap:2px;width:100%;text-align:left;padding:8px 10px;background:none;border:0;border-radius:var(--radius);cursor:pointer}.version:hover{background:var(--paper)}.version.on{background:var(--accent-soft)}.version .when{font-weight:500}.version .meta{font-size:12px;color:var(--ink-2)}.preview{flex:1;display:flex;flex-direction:column;min-width:0;min-height:0;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.preview .viewport{flex:1;min-height:0}.preview-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border-top:1px solid var(--line);background:var(--panel)}.preview .error{color:var(--danger);padding:12px}.toast{position:fixed;left:50%;bottom:calc(80px + env(safe-area-inset-bottom));transform:translate(-50%);z-index:40;display:flex;align-items:center;gap:12px;padding:8px 8px 8px 14px;background:var(--ink);color:var(--paper);border-radius:10px;font-size:14px;box-shadow:0 8px 24px #00000040}.toast .btn{background:var(--paper);color:var(--ink);border-color:var(--paper)}.home footer .storage{margin-top:6px}.home footer .row{display:flex;gap:8px;margin-bottom:12px}.home .notice{color:var(--ink-2);padding:12px 0 0}.formats{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px}.format{width:100%;text-align:left;display:flex;flex-direction:column;gap:3px;padding:10px 12px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer}.format:hover:not(:disabled){border-color:var(--accent)}.format:disabled{opacity:.6;cursor:default}.fmt-label{font-weight:500}.fmt-label .ext{color:var(--ink-2);font-weight:400;font-size:12px}.fmt-note{font-size:12px;color:var(--ink-2)}.help .error{color:var(--danger)}.input.outline{width:100%;min-height:220px;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:13px;line-height:1.45;resize:vertical}.help .row.end{display:flex;justify-content:flex-end;align-items:center;gap:12px;margin-top:10px}.home .lede.small{font-size:13px;margin-top:-20px}.boundaries{position:absolute;left:0;top:0;overflow:visible;pointer-events:none}.boundaries .blabel{font:600 11px var(--font-ui);letter-spacing:.02em}.viewport.canvas-grid{background-image:linear-gradient(var(--dot) 1px,transparent 1px),linear-gradient(90deg,var(--dot) 1px,transparent 1px);background-size:24px 24px}.viewport.canvas-plain{background-image:none}.node{transition:transform .18s cubic-bezier(.2,.8,.2,1),box-shadow .12s ease,border-color .12s ease;animation:nodein .18s ease-out}@keyframes nodein{0%{opacity:0}to{opacity:1}}.node:hover:not(.selected):not(.editing){border-color:var(--branch, var(--ink-2));box-shadow:0 2px 6px #17191c14}.node.leafline:hover:not(.selected){box-shadow:none}[data-theme=night] .node,[data-theme=slate] .node{box-shadow:none}[data-theme=night] .node.selected,[data-theme=slate] .node.selected{box-shadow:0 0 0 2px var(--accent-soft),0 0 0 3px var(--accent)}.symbols.emoji img{width:22px;height:22px}.paneltabs{display:none}.paneltabs.tpltabs{display:flex;flex-wrap:nowrap;gap:6px;margin:0 -4px 14px;padding:2px 4px 6px;background:none;border-radius:0;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.paneltabs.tpltabs::-webkit-scrollbar{display:none}.paneltabs.tpltabs button{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:var(--paper);border:1px solid var(--line);border-radius:999px;font-size:13px;line-height:1.2;white-space:nowrap;color:var(--ink);cursor:pointer}.paneltabs.tpltabs button.on{background:var(--ink);border-color:var(--ink);color:var(--paper);font-weight:500;box-shadow:none}.paneltabs.tpltabs .count{display:inline-block;min-width:18px;padding:0 5px;border-radius:999px;background:#7f7f7f26;color:inherit;font-size:11px;line-height:18px;text-align:center;font-weight:500;margin-left:0}.paneltabs.tpltabs button.on .count{background:#ffffff38}@media (min-width: 760px){.paneltabs.tpltabs{flex-wrap:wrap;overflow:visible}}.node .markers{display:inline-flex;align-items:center;gap:3px;vertical-align:-3px;margin-right:5px}.badge-task{width:16px;height:16px}.badge-priority{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:999px;background:#2646d6;color:#fff;font-size:10px;font-weight:700;line-height:1}.badge-flag{display:inline-block;width:12px;height:12px;border-radius:2px}.node .text .b{font-weight:700}.node .text .i{font-style:italic}.node .text .code{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.92em;background:#7f7f7f26;padding:0 4px;border-radius:3px}.xlinks .label{font:12px var(--font-ui);fill:currentColor;stroke:var(--paper);stroke-width:3px;paint-order:stroke;pointer-events:none}.marquee{position:absolute;z-index:5;border:1px solid var(--accent);background:#2646d614;pointer-events:none}.segmented.small button.iconlike{display:inline-flex;align-items:center;padding:3px 6px}.panel .muted{color:var(--ink-2);font-size:12px;margin:8px 0 0}.panel input[type=range]{width:100%}.help.templates{max-width:820px}.templategrid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}.template{width:100%;display:flex;flex-direction:column;gap:4px;padding:8px;text-align:left;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer}.template:hover{border-color:var(--accent)}.template img{width:100%;height:96px;object-fit:contain;padding:8px;box-sizing:border-box;background:color-mix(in srgb,var(--paper) 60%,var(--panel));border-radius:8px}.tplsearch{margin:0 0 12px}.featuredgrid{grid-template-columns:repeat(auto-fill,minmax(112px,1fr));margin-bottom:8px}.featuredgrid .template .fmt-label{font-size:12px}.featuredgrid .template img{height:72px}.tpltabs.hidden,.tplsections{display:none}.tplsection .count{color:var(--ink-2);font-weight:400}@media (max-width: 640px){.paneltabs.tpltabs,.templategrid.tplmain{display:none}.tplsections{display:block}.tplsection{margin-bottom:8px}}.sharelink{margin-top:12px;padding:10px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius)}.sharelink .input{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12px}.sharelist{list-style:none;margin:0;padding:0}.sharelist li{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 0;border-top:1px solid var(--line);font-size:13px}.help section h3{margin:14px 0 6px;font:500 12px var(--font-ui);color:var(--ink-2)}.title.readonly{flex:1 1 100px;min-width:60px;padding:5px 8px;font:500 16px var(--font-ui);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn.primary.small{padding:6px 12px}.editor.presenting .topbar,.editor.presenting .actionbar,.editor.presenting .panel{display:none}.presentbar{position:absolute;left:50%;bottom:calc(14px + env(safe-area-inset-bottom));transform:translate(-50%);z-index:10;display:flex;align-items:center;gap:6px;padding:4px 6px;background:var(--panel);border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 24px #17191c1f}.presentbar .count{font-variant-numeric:tabular-nums;font-size:13px;color:var(--ink-2);min-width:56px;text-align:center}.changelist{list-style:none;margin:0;padding:0;max-height:60vh;overflow:auto}.changelist .now{padding:6px 10px;font-size:12px;color:var(--ink-2);border-top:1px solid var(--accent);border-bottom:1px solid var(--accent)}.change{width:100%;text-align:left;padding:6px 10px;background:none;border:0;border-radius:var(--radius);cursor:pointer;font-size:13px}.change:hover{background:var(--paper)}.change.future{color:var(--ink-2)}.home .searchbox{margin:0 0 20px}.home .results{list-style:none;margin:0 0 24px;padding:0;border-top:1px solid var(--line)}.home .results li{border-bottom:1px solid var(--line)}.home .result{width:100%;text-align:left;display:flex;flex-direction:column;gap:2px;padding:10px 4px;background:none;border:0;cursor:pointer}.home .result .map{font-size:12px;color:var(--ink-2)}.home .result mark{background:#f5c451;color:inherit;padding:0 1px}.home.dragover{outline:2px dashed var(--accent);outline-offset:-8px}.tplhead{margin:12px 0 6px;font:500 12px var(--font-ui);color:var(--ink-2);text-transform:uppercase;letter-spacing:.04em}.templategrid.user li{display:flex;flex-direction:column;gap:2px}.templategrid .template .del,.templategrid li>.del{align-self:flex-end;font-size:12px;color:var(--ink-2);background:none;border:0;cursor:pointer}.topbar .title{min-width:160px}@media (max-width: 1240px){.themepick{display:none}}.themepick{height:30px;padding:0 24px 0 8px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);color:var(--ink);font:13px var(--font-ui)}.maplist .dup{background:none;border:0;color:var(--ink-2);cursor:pointer;padding:6px;border-radius:var(--radius)}.maplist .dup:hover{color:var(--ink);background:var(--paper)}.diff{padding:8px 12px;font-size:12px;border-top:1px solid var(--line);max-height:120px;overflow:auto}.diff ul{margin:4px 0 0;padding-left:16px}.diff li{margin:2px 0}.notepop{position:absolute;z-index:6;width:280px;max-height:320px;overflow:auto;padding:8px 12px 10px;background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:10px;box-shadow:0 10px 30px #17191c29;font-size:13px;line-height:1.45;cursor:auto}.notepop-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px}.notepop-head .row{display:flex;gap:4px;align-items:center}.md p{margin:4px 0;white-space:pre-wrap}.md h4,.md h5,.md h6{margin:8px 0 2px;font-size:13px}.md ul,.md ol{margin:4px 0;padding-left:18px}.md li.todo,.md li.done{list-style:none;margin-left:-16px}.md li .box{margin-right:4px}.md li.done{color:var(--ink-2)}.md a{color:var(--accent)}.md .b{font-weight:700}.md .i{font-style:italic}.md .code{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.92em;background:#7f7f7f26;padding:0 4px;border-radius:3px}.node .taskpill{display:inline-block;padding:0 5px;border-radius:999px;font-size:10px;line-height:15px;background:var(--accent-soft);color:var(--ink);vertical-align:middle}.node .taskpill.done{background:#2f9e5b;color:#fff}.node .mark.notemark,.node .mark.maplink{cursor:pointer;border:0;font:inherit}.backlinks{margin:0 0 8px;font-size:13px}.backlinks ul{margin:4px 0 0;padding-left:0;list-style:none}.linkbtn{background:none;border:0;padding:0;color:var(--accent);cursor:pointer;font:inherit}.taskrow{display:flex;align-items:center;gap:8px}.taskrow .result{flex:1}.panel section h3 .secthead{display:flex;align-items:center;gap:6px;width:100%;padding:6px 0;background:none;border:0;color:inherit;font:inherit;text-align:left;cursor:pointer}.panel section h3 .chev{width:10px;color:var(--ink-2);font-size:11px}.panel section h3 .summary{margin-left:auto;font-weight:400;color:var(--ink-2);text-transform:none;letter-spacing:0;max-width:55%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.panel section.collapsed{margin-bottom:2px}.panel section.collapsed h3{margin-bottom:0}.node.sticky{font-weight:400;font-size:13px;line-height:1.4;text-align:left;padding:10px 12px;border-color:#e6cf5a;box-shadow:2px 3px #78641426}.node.sticky .text{white-space:pre-wrap}.tableview{position:absolute;inset:0;z-index:16;display:flex;flex-direction:column;background:var(--paper)}.tablebar{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--panel);border-bottom:1px solid var(--line)}.tablebar .spacer{flex:1}.tablebar .count{font-size:12px}.tableview .hint-line{margin:6px 12px 0;font-size:12px}.tablescroll{flex:1;overflow:auto;padding:8px 12px 24px}.maptable{border-collapse:separate;border-spacing:0;min-width:100%;font-size:13px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius)}.maptable th,.maptable td{padding:6px 10px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line);max-width:320px;white-space:pre-wrap}.maptable th{position:sticky;top:0;z-index:1;background:var(--paper);font-weight:500;font-size:12px;color:var(--ink-2);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.maptable tbody tr:nth-child(2n) td{background:color-mix(in srgb,var(--paper) 45%,var(--panel))}.maptable tbody tr:last-child td{border-bottom:0}.maptable td.title{font-weight:500}.maptable td+td,.maptable th+th{border-left:1px solid color-mix(in srgb,var(--line) 60%,transparent)}.maptable td.editable{cursor:text}.maptable td.editable:focus{outline:2px solid var(--accent);outline-offset:-2px;background:var(--panel)}.maptable .rowbtn{width:28px;padding:2px 4px}.maptable .rowbtn .iconbtn{width:24px;height:24px}.maptable .badgecell{white-space:nowrap}.maptable[data-shape=matrix] td:nth-child(n+3),.maptable[data-shape=matrix] th:nth-child(n+3){text-align:center;font-variant-numeric:tabular-nums}.editor.table-open .actionbar{display:none}@media (max-width: 640px){.tablebar{display:grid;grid-template-columns:auto 1fr auto;grid-template-areas:"shape count close" "actions actions actions";gap:6px 8px}.tablebar .segmented{grid-area:shape}.tablebar .count{grid-area:count}.tablebar>.iconbtn{grid-area:close}.tablebar .spacer{display:none}.tablebar .btn{grid-row:2}}.presets{flex-wrap:wrap;gap:6px}.preset{padding:5px 10px;border:1px solid var(--line);border-radius:999px;background:var(--paper);color:var(--ink);font-size:12px;cursor:pointer}.preset:hover{border-color:var(--ink)}.palettes{gap:6px}.palette{display:inline-flex;gap:2px;padding:3px;border:2px solid transparent;border-radius:8px;background:var(--paper);cursor:pointer}.palette span{width:10px;height:16px;border-radius:3px}.palette.on{border-color:var(--accent)}.node .labels{display:inline-flex;flex-wrap:wrap;gap:4px;margin-left:6px;vertical-align:middle}.node .label,.chip{display:inline-flex;align-items:center;gap:4px;padding:1px 7px;border-radius:999px;background:color-mix(in srgb,var(--branch, var(--accent)) 16%,transparent);color:var(--ink);border:0;font-size:11px;line-height:16px;font-weight:500;cursor:pointer}.chip button{border:0;background:none;color:var(--ink-2);font-size:13px;line-height:1;padding:0;cursor:pointer}.chip.ghost{background:none;border:1px dashed var(--line);color:var(--ink-2)}.labeleditor .chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.labeleditor .suggest{margin-top:6px}.labelinput{width:110px;padding:4px 8px;font-size:13px}.node.incell{background:transparent;border-color:transparent;box-shadow:none}.node.incell .badge.open{display:none}.links .gridcell{fill:var(--panel);stroke:var(--line)}.links .gridcell.depth-0{fill:var(--accent-soft)}.node.incell.root{color:var(--ink);font-size:var(--fs-1)}.links .gridcell.depth-1{fill:color-mix(in srgb,var(--paper) 60%,var(--panel))}.links .gridline{stroke:var(--line);stroke-width:1}.links .gridtext{fill:var(--ink-2);font-size:12px;font-family:var(--font)}.links .gridtext.bold{font-weight:600}.check.branchonly{display:flex;gap:8px;align-items:center;margin:0 0 10px;font-size:13px}.nodetools{position:absolute;z-index:7;display:flex;gap:2px;padding:3px;background:var(--panel);border:1px solid var(--line);border-radius:10px;box-shadow:0 6px 20px #17191c24;transform-origin:bottom center;white-space:nowrap}.nodetools .iconbtn{width:28px;height:28px}.nodetools{opacity:0;pointer-events:none;transition:opacity .12s ease .18s}.node.primary:hover~.nodetools,.nodetools:hover{opacity:1;pointer-events:auto;transition-delay:0s}.nodetools:after{content:"";position:absolute;left:0;right:0;top:100%;height:16px}.plushandle{position:absolute;z-index:7;width:22px;height:22px;border-radius:999px;border:0;background:var(--accent);color:#fff;font-size:16px;line-height:22px;text-align:center;padding:0;cursor:pointer;box-shadow:0 2px 6px #17191c33;transform-origin:center}.plushandle:hover{filter:brightness(1.1)}@media (max-width: 640px){.nodetools{display:none}}.editor>.topbar{position:absolute;top:0;left:0;right:0;z-index:12;display:flex;align-items:flex-start;justify-content:space-between;gap:8px;padding:10px 12px 0;background:none;border:0;box-shadow:none;pointer-events:none}.editor>.topbar .pill,.editor>.zoompill{pointer-events:auto;display:flex;align-items:center;gap:4px;padding:4px 6px;background:color-mix(in srgb,var(--panel) 92%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:12px;box-shadow:0 4px 16px #17191c14}.editor>.topbar .pill.left{min-width:0;flex:0 1 auto}.editor>.topbar .pill.center .segmented{border:0;background:none}.editor>.topbar .vsep,.editor>.zoompill .vsep{width:1px;height:20px;background:var(--line);margin:0 2px}.editor>.zoompill{position:absolute;left:12px;bottom:calc(14px + env(safe-area-inset-bottom));z-index:12}.phone-only{display:none}@media (max-width: 640px){.phone-only{display:flex}.editor>.topbar .pill.desktop-only,.editor>.zoompill.desktop-only,.editor>.topbar .group.desktop-only,.actionbar .iconbtn.desktop-only{display:none}.editor>.topbar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;padding:8px 8px 0}.editor>.topbar .pill.left{min-width:0;overflow:hidden}.editor>.topbar .pill.right{justify-self:end}.editor>.topbar .title{min-width:0;width:100%;flex:1 1 0%}.editor>.topbar .savestate:not(.error){display:none}.nodetools{display:flex;opacity:1;pointer-events:auto;transition:none}.nodetools:after{display:none}.maptable td.compact{white-space:normal;min-width:160px}}.moregroup{position:relative}.moremenu{position:absolute;right:0;top:calc(100% + 8px);z-index:20;min-width:180px;padding:4px;background:var(--panel);border:1px solid var(--line);border-radius:10px;box-shadow:0 10px 30px #17191c29}.moremenu .menu-item{display:block;width:100%;text-align:left;padding:9px 12px;background:none;border:0;border-radius:6px;font-size:15px;color:var(--ink)}.moremenu .menu-item:active{background:var(--paper)}.editor.presenting>.zoompill{display:none}.home .sync{margin-top:36px;padding-top:20px;border-top:1px solid var(--line)}.home .sync h2{font:400 24px/1.2 var(--font-display);margin:0 0 6px}.home .sync .lede.small{margin:0 0 12px}.home .sync .row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:8px}.home .sync .row .input{flex:1;min-width:200px}.keydlg .qr{display:block;margin:0 auto 12px;border:1px solid var(--line);border-radius:var(--radius)}.input.mono{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12px}.help-backdrop{position:absolute;inset:0;z-index:30;display:flex;align-items:center;justify-content:center;padding:20px;background:#17191c59}.help{width:100%;min-width:0;max-width:540px;max-height:85vh;overflow:auto;overflow-x:hidden;box-sizing:border-box;padding:18px 22px 22px;background:var(--panel);border:1px solid var(--line);border-radius:10px}.help-backdrop{min-width:0}.help-head{display:flex;align-items:center;justify-content:space-between}.help h2{font:400 26px/1.2 var(--font-display);margin:0}.help-note{color:var(--ink-2);margin:6px 0 14px}.help table{width:100%;border-collapse:collapse;font-size:13px}.help td{padding:6px 0;border-top:1px solid var(--line);vertical-align:top}.help td:first-child{width:46%;padding-right:12px}.help kbd{font:12px var(--font-ui);border:1px solid var(--line);border-radius:4px;padding:1px 5px;background:var(--paper)}.loading,.empty-state{padding:48px 24px;color:var(--ink-2)}.empty-state p{margin:0 0 16px;max-width:60ch}.empty-state .mono{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12px}@media (max-width: 640px){.desktop-only{display:none}.home{padding:32px 18px 60px}.home h1{font-size:34px}.savestate{display:none}.actionbar{gap:1px}.actionbar .iconbtn{width:32px;height:34px}.segmented button{padding:6px 8px}.panel{position:absolute;left:0;right:0;bottom:0;width:auto;max-height:min(50%,480px);border-left:0;border-top:1px solid var(--line);border-radius:12px 12px 0 0;box-shadow:0 -8px 24px #00000026;padding-bottom:calc(20px + env(safe-area-inset-bottom))}.editor.panel-open .actionbar,.editor.editing-node .actionbar{display:none}.paneltabs{display:flex;gap:4px;margin:0 0 10px;padding:3px;background:var(--paper);border-radius:8px}.paneltabs button{flex:1;padding:7px 10px;background:none;border:0;border-radius:6px;font-size:14px;cursor:pointer}.paneltabs button.on{background:var(--panel);box-shadow:0 1px 2px #00000014;font-weight:500}.panel[data-tab=node] .sect-map,.panel[data-tab=map] .sect-node{display:none}.menu{min-width:200px}.help.history{height:90vh}.help-backdrop{padding:10px;align-items:flex-end}.help{max-height:calc(100% - 4px);padding:14px 14px 18px;border-radius:12px}.help h2{font-size:22px}.templategrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.template{padding:6px;min-width:0}.template img{height:84px}.template .fmt-note{display:none}.history-body{flex-direction:column}.versions{width:auto;max-height:35%;border-right:0;border-bottom:1px solid var(--line)}}@media (prefers-reduced-motion: reduce){.node,.stage{transition:none!important}}@media (pointer: coarse),(max-width: 640px){.input,.input.outline,.panel select,.searchbar .input,.node .edit{font-size:16px}.swatch{width:30px;height:30px}.swatches{gap:8px}.segmented.small button,.btn.small{padding:8px 10px;font-size:14px}.symbol{width:40px;height:40px}.symbols{grid-template-columns:repeat(auto-fill,40px)}.menu-item{padding:10px 12px;font-size:15px}}
