#app{font-family:var(--body);color:var(--ink);overflow:hidden;-webkit-font-smoothing:antialiased;--board-paper:var(--board-paint,var(--page));--board-ink:var(--ink);--board-ink-3:var(--text-3);--board-ink-4:var(--text-4);--board-line:var(--line-3);--board-line-2:var(--line);--board-line-faint:var(--line-2);position:absolute;inset:0;display:flex;flex-direction:column}#app,:root[data-board-paint] #app{background:var(--board-paper)}:root[data-board-flip] #app{--board-ink:var(--toast-ink);--board-ink-3:color-mix(in srgb,var(--board-ink) 58%,var(--board-paper));--board-ink-4:color-mix(in srgb,var(--board-ink) 40%,var(--board-paper));--board-line:color-mix(in srgb,var(--board-ink) 26%,var(--board-paper));--board-line-2:color-mix(in srgb,var(--board-ink) 16%,var(--board-paper));--board-line-faint:color-mix(in srgb,var(--board-ink) 9%,var(--board-paper))}:root[data-board-flip] #app .hint{--card:var(--board-paper);--line:var(--board-line-2);--text-3:var(--board-ink-3)}:root[data-board-flip] #app>header .brand{--ink:var(--board-ink);--slate:var(--board-ink-3)}.grid{background-image:linear-gradient(var(--board-line-faint) 1px,transparent 1px),linear-gradient(90deg,var(--board-line-faint) 1px,transparent 1px);background-size:40px 40px}.grid,.vignette{position:absolute;inset:0;pointer-events:none;z-index:0}.vignette{box-shadow:inset 0 0 180px color-mix(in srgb,var(--text) 4%,transparent)}:root[data-board-paint] .vignette{box-shadow:none}#app>header{align-items:center;gap:14px;padding:12px 20px 6px;flex-wrap:wrap}#app>footer,#app>header{position:relative;z-index:30;display:flex}#app>footer{justify-content:center;padding:7px 18px 14px}.stage{position:relative;z-index:10;flex:1 1;min-height:0;overflow:hidden;cursor:-webkit-grab;cursor:grab;touch-action:none}.stage.drag{cursor:-webkit-grabbing;cursor:grabbing}.board{position:absolute;left:0;top:0;transform-origin:0 0;will-change:transform}#svg{overflow:visible}#app,#app text,#svg,.board,.stage{-webkit-user-select:none;-moz-user-select:none;user-select:none}.inline-edit{-webkit-user-select:text;-moz-user-select:text;user-select:text}#app text{font-family:var(--body);fill:var(--board-ink)}.t-in{font-size:13px;dominant-baseline:central}.t-in,.t-out{font-weight:500;text-anchor:middle}.t-out{font-size:12.5px}.t-sm{font-weight:400}.elbl,.t-sm{font-size:11.5px;text-anchor:middle}.elbl{font-family:var(--mono);fill:var(--board-ink-3);paint-order:stroke;stroke:var(--board-paper);stroke-width:5px;stroke-linejoin:round;transition:fill .3s}.elbl,.wloose{pointer-events:none}.wloose{fill:var(--board-paper);opacity:.9}.wattach{stroke:var(--board-paper)}.rim-ring,.wattach{pointer-events:none}.rim-ring{opacity:.5;stroke-linejoin:round}.rim-lead{opacity:.85;pointer-events:none}.rim-glow{opacity:.18}.rim-dot,.rim-glow{pointer-events:none}.shp{filter:url(#nsh)}.ol{transition:stroke .35s}.n.lit .ol{stroke:var(--gc)}.lglow{opacity:0;stroke:none;filter:url(#nblur);transform:translateY(7px);transition:opacity .35s}.glow{stroke-width:3.5;transition:opacity .35s}.glow,.rip{opacity:0;fill:none;transform-box:fill-box;transform-origin:center}.rip{stroke-width:2.5}.ring{opacity:0;fill:none;stroke-width:1.5;transition:opacity .35s}.ants{stroke-width:2;stroke-linecap:round}.ants,.antsu{opacity:0;fill:none;transition:opacity .3s}.antsu{stroke:var(--card);stroke-width:3.8;stroke-linecap:round}.n.lit .lglow{opacity:.6}.n.lit .glow{opacity:1;animation:icbeat 1.5s ease-in-out infinite}.n.lit .rip{animation:rip 1.7s ease-out infinite}.n.lit .ring{opacity:1}.n.lit .ants{opacity:.9}.n.lit .antsu{opacity:.38}.n.hot{filter:drop-shadow(0 0 5px var(--gc)) drop-shadow(0 0 12px var(--gc))}@keyframes icbeat{0%,to{transform:scale(1)}45%{transform:scale(var(--bs,1.08))}}@keyframes rip{0%{opacity:.42;transform:scale(1)}70%{opacity:0;transform:scale(var(--rs,1.22))}to{opacity:0;transform:scale(1)}}.n{transition:opacity .4s}.n .ants,.n .antsu,.n .glow,.n .lglow,.n .ring,.n .rip,.n text{pointer-events:none}.note-bg{fill:#fff3c4;stroke:#e8b33c;stroke-width:1.5}.note-t{font-size:12.5px;font-weight:500;fill:#6b551a;text-anchor:start}.art-img{pointer-events:all}.art-icon{transition:stroke .35s,fill .35s}.art-icon *{vector-effect:none}.art-icon-mc text{fill:revert-layer;font-family:revert-layer}.art-ph{fill:var(--sunken);stroke:var(--text-4);stroke-width:1.5;stroke-dasharray:6 5}.art-ph-t{font-family:var(--mono);font-size:10.5px;fill:var(--text-3);text-anchor:middle}.ink-p{transition:stroke .35s}.shp:has(>.ink-p){filter:none}.tbl-t{font-size:12.5px;font-weight:500;text-anchor:start;dominant-baseline:central}.tbl-th{font-weight:600}.tbl-hit{pointer-events:all}.ent-name{font-size:13px;font-weight:600}.ent-col,.ent-name{text-anchor:start;dominant-baseline:central}.ent-col{font-size:12px;font-weight:500}.ent-col.ent-pk{font-weight:700}.ent-type{font-size:11.5px;font-weight:500}.ent-flag,.ent-type{text-anchor:end;dominant-baseline:central}.ent-flag{font-family:var(--mono);font-size:9.5px;font-weight:700;letter-spacing:.03em}.doc-t{text-anchor:start;dominant-baseline:alphabetic}.doc-hit{pointer-events:all}.doc-rule{fill:var(--line-3)}.doc-quote-bar{fill:var(--text-4)}.doc-code-bg{stroke:var(--line);stroke-width:1}.doc-code-bg,.doc-code-inline{fill:var(--sunken)}.doc-blocks text{pointer-events:none}.zone{fill:none;stroke:var(--board-line);stroke-width:1.5;stroke-dasharray:7 7;opacity:.55;transition:opacity .5s,stroke .5s}.zone.act{opacity:1;stroke:var(--accent-3)}.zlbl{font-family:var(--mono);font-size:12px;font-weight:700;letter-spacing:.14em;fill:var(--board-ink-4);transition:fill .5s}.zlbl.act{fill:var(--accent-3)}@media (prefers-reduced-motion:reduce){.n.lit .ants,.n.lit .antsu,.n.lit .glow,.n.lit .rip{animation:none}.n.lit .glow{transform:none}.n.lit .rip{opacity:0}}#pages,.pg-paper{pointer-events:none}.pg-edge{stroke:var(--board-line);stroke-width:1.2}.pg-edge,.pg-margin{fill:none;pointer-events:none}.pg-margin{stroke:var(--board-line-2);stroke-width:1;stroke-dasharray:7 6}.pg-num{font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.04em;text-anchor:end;pointer-events:none}.txt-t{text-anchor:start;dominant-baseline:alphabetic}.txt-code-inline,.txt-quote-bar,.txt-rule{stroke:none}.txt-selwash{pointer-events:none}.stage[data-tool=select]{cursor:default}.stage[data-tool=pan]{cursor:-webkit-grab;cursor:grab}.stage[data-tool=edge],.stage[data-tool=node],.stage[data-tool=note],.stage[data-tool=text],.stage[data-tool=zone]{cursor:crosshair}.stage[data-tool=ink]{cursor:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'><path d='M3 21l1.3-4.4L15.7 5.2l3.1 3.1L7.4 19.7z' fill='%23ffffff' stroke='%231f2337' stroke-width='1.5' stroke-linejoin='round'/><path d='M15.7 5.2l2.1-2.1a1.5 1.5 0 0 1 2.1 0l1 1a1.5 1.5 0 0 1 0 2.1l-2.1 2.1z' fill='%231f2337'/><path d='M3 21l1.3-4.4 3.1 3.1z' fill='%231f2337'/></svg>") 3 21,crosshair}.stage[data-tool=eraser]{cursor:crosshair}.stage.space{cursor:-webkit-grab;cursor:grab}.stage.drag,.stage.space.drag{cursor:-webkit-grabbing;cursor:grabbing}.stage.drag *{cursor:inherit}.hint{position:absolute;left:50%;bottom:10px;transform:translateX(-50%);z-index:20;font-family:var(--mono);font-size:10px;color:var(--text-3);background:color-mix(in srgb,var(--card) 88%,transparent);border:1px solid var(--line);padding:4px 10px;border-radius:var(--r-sm);pointer-events:none;transition:opacity .5s}.hint.gone{opacity:0}.flow-tally{position:absolute;left:50%;bottom:38px;transform:translateX(-50%);z-index:20;display:flex;align-items:baseline;max-width:min(520px,calc(100% - 32px));font-family:var(--mono);font-size:10px;color:var(--text-3);background:color-mix(in srgb,var(--card) 88%,transparent);border:1px solid var(--line);padding:4px 10px;border-radius:var(--r-sm);pointer-events:none;white-space:nowrap}.flow-tally b{color:var(--text);font-weight:600}.flow-tally .ft-n{flex:0 0 auto}.flow-tally .ft-last{color:var(--text-2);min-width:0;overflow:hidden;text-overflow:ellipsis}.flow-tally .ft-last:before{content:"·";margin:0 7px;color:var(--text-4)}:root[data-board-flip] #app .flow-tally{--card:var(--board-paper);--line:var(--board-line-2);--text:var(--board-ink);--text-2:var(--board-ink-3);--text-3:var(--board-ink-3);--text-4:var(--board-ink-4)}.draft-layer,.guide-layer,.sel-layer{pointer-events:none}.sel-ring{stroke:var(--sel);fill:none}.sel-ring.locked{stroke:var(--slate-2)}.sel-union{stroke:var(--sel);fill:none;opacity:.75}.sel-handle{fill:var(--card);stroke:var(--sel)}.sel-handle.hot{fill:var(--sel)}.sel-live{stroke:var(--sel);fill:none;stroke-linecap:round}.sel-live-under{stroke:var(--sel-soft);fill:none;stroke-linecap:round}.sel-hot-glow{fill:var(--sel);stroke:none;opacity:.18}.sel-anchor{fill:var(--card);stroke:var(--sel)}.sel-anchor.hot{fill:var(--sel);stroke:var(--card)}.sel-edge{stroke:var(--sel);fill:none;stroke-linecap:round}.sel-edge-under{stroke:var(--sel-soft);fill:none;stroke-linecap:round}.edge-handles{pointer-events:none}.eh-halo{fill:var(--card);stroke:none;opacity:.92}.eh-end{fill:var(--card);stroke:var(--sel)}.eh-end.hot{fill:var(--sel);stroke:var(--card)}.eh-end.auto,.eh-end.auto.hot{fill:var(--card);stroke:var(--sel)}.eh-end.pinned,.eh-end.pinned.hot{fill:var(--sel);stroke:var(--card)}.eh-end.free,.eh-loose{fill:none;stroke:var(--sel)}.eh-loose{opacity:.5}.eh-end-glow{fill:var(--sel);stroke:none;opacity:.18}.eh-wp{fill:var(--card);stroke:var(--sel)}.eh-wp.hot{fill:var(--sel);stroke:var(--card)}.eh-addwp{fill:var(--card);stroke:var(--sel);opacity:.45}.eh-addwp.hot{fill:var(--sel);stroke:var(--card);opacity:1}.eh-seg{opacity:.7}.eh-seg,.eh-seg.hot{fill:none;stroke:var(--sel)}.eh-seg.hot{opacity:1}.eh-seg-glow{fill:var(--sel);stroke:none;opacity:.18}.eh-extend{fill:var(--card);stroke:var(--sel)}.eh-extend.hot{fill:var(--sel);stroke:var(--card)}.eh-extend-leader{stroke:var(--sel);opacity:.45}.eh-extend-glow{fill:var(--sel);stroke:none;opacity:.18}.eh-plus{stroke:var(--card);fill:none}.draft-edge{stroke:var(--sel);fill:none;stroke-linecap:round;opacity:.9}.draft-head{fill:var(--sel);stroke:var(--card)}.draft-target{stroke:var(--sel);fill:none;opacity:.9}.connect-preview{pointer-events:none;animation:cp-fade-in .12s ease-out both}.connect-preview .cp-shape{opacity:.9;stroke-linejoin:round}.connect-preview .cp-edge{opacity:.45;stroke-linecap:round}@keyframes cp-fade-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.connect-preview{animation:none}}.marquee{fill:color-mix(in srgb,var(--sel) 12%,transparent);stroke:var(--sel)}.marquee.creating{fill:color-mix(in srgb,var(--ok) 12%,transparent);stroke:var(--ok)}.create-ghost{fill:color-mix(in srgb,var(--ok) 10%,transparent);stroke:var(--ok);opacity:.78}:root[data-board-flip] #app .create-ghost{--ok:var(--ok-soft)}.guide{stroke:var(--guide);opacity:.9}.inline-edit-wrap{position:absolute;z-index:40;display:flex;align-items:center;justify-content:center;pointer-events:auto}.inline-edit{width:100%;height:100%;margin:0;resize:none;overflow:hidden;font-family:var(--body);font-weight:600;text-align:center;outline:none;display:flex}.inline-edit::selection{background:var(--sel-soft)}.ctx-menu{position:absolute;z-index:60;min-width:172px;padding:5px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--sh-pop);font-family:var(--body);font-size:12px;color:var(--text-2);animation:ctx-pop .1s ease-out}@keyframes ctx-pop{0%{opacity:0;transform:translateY(-3px) scale(.985)}to{opacity:1}}.ctx-item{display:block;width:100%;text-align:left;padding:6px 10px;border:0;border-radius:var(--r-xs);background:transparent;color:inherit;font:inherit;cursor:pointer}.ctx-item:hover{background:var(--accent-soft);color:var(--accent-3)}.ctx-item.danger:hover{background:var(--danger-soft);color:var(--danger-ink)}.ctx-item.off,.ctx-item:disabled{opacity:.4;cursor:default}.ctx-item.off:hover,.ctx-item:disabled:hover{background:transparent;color:inherit}.ctx-sep{height:1px;margin:4px 6px;background:var(--line-2)}.insp{font-family:var(--body);font-size:12px;color:var(--text-2);padding:10px 11px 18px;display:flex;flex-direction:column;gap:7px}.insp-head{display:flex;align-items:baseline;gap:6px;font-family:var(--mono);font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:var(--accent-3)}.insp-id{letter-spacing:0;text-transform:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:130px}.insp-id,.insp-sub{font-family:var(--mono);font-size:9.5px;color:var(--text-3)}.insp-sub{margin-top:6px;letter-spacing:.08em;text-transform:uppercase}.insp-hint,.insp-note{font-size:11px;color:var(--text-3)}.insp-hint{margin-top:4px;padding:7px 9px;border-radius:var(--r-sm);background:var(--card);border:1px solid var(--line-2);line-height:1.45}.insp-row{display:flex;align-items:center;gap:8px;min-height:24px}.insp-row.wide{flex-direction:column;align-items:stretch;gap:4px}.insp-label{flex:0 0 62px;font-family:var(--mono);font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3)}.insp-field{flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:6px}.insp-input{width:100%;min-width:0;box-sizing:border-box;padding:4px 7px;border:1px solid var(--line);border-radius:var(--r-xs);background:var(--card);color:var(--text-2);font-family:var(--body);font-size:12px;outline:none}.insp-input:focus{border-color:var(--accent-3);box-shadow:0 0 0 2px var(--accent-ring)}.insp-input.mono{font-family:var(--mono);font-size:10.5px}.insp-input.tiny{font-size:10px;padding:3px 5px}.insp-input.num{text-align:right;font-family:var(--mono);font-size:10.5px}textarea.insp-input{resize:vertical;line-height:1.4}.insp-ro{padding:3px 6px;border-radius:var(--r-xs);background:var(--card);color:var(--text-3);font-family:var(--mono);font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.insp-quad{display:grid;grid-template-columns:1fr 1fr;grid-gap:5px 10px;gap:5px 10px}.insp-quad .insp-label{flex:0 0 14px}.insp-color{display:flex;align-items:center;gap:6px;width:100%}.insp-color input[type=color]{width:26px;height:22px;padding:0;border:1px solid var(--line);border-radius:var(--r-xs);background:var(--card);cursor:pointer}.insp-color .insp-input{flex:1 1 auto}.insp-accents{display:flex;gap:5px;flex-wrap:wrap}.insp-accent{width:20px;height:20px;border-radius:50%;cursor:pointer;border:2px solid transparent;box-shadow:0 0 0 1px var(--line) inset}.insp-accent.on{border-color:var(--card);box-shadow:0 0 0 2px var(--accent-3)}.insp-swatches{display:flex;flex-wrap:wrap;gap:5px}.insp-swatch{width:24px;height:22px;border-radius:var(--r-xs);border:1.5px solid;cursor:pointer;font-family:var(--body);font-weight:700;font-size:11px;line-height:1;display:flex;align-items:center;justify-content:center}.insp-swatch:hover{transform:translateY(-1px)}.insp-chips{display:grid;grid-template-columns:repeat(auto-fill,minmax(26px,1fr));grid-gap:4px;gap:4px}.insp-chip{width:auto;height:20px;padding:0;cursor:pointer;border:1px solid var(--line-3);border-radius:var(--r-xs);box-shadow:var(--sh-sm);transition:transform .08s ease-out,box-shadow .08s ease-out}.insp-chip:hover{transform:translateY(-1px);border-color:var(--accent-3)}.insp-chip.on{border-color:var(--accent-3);box-shadow:0 0 0 2px var(--accent-3),var(--sh-sm)}.insp-chip:focus-visible{outline:2px solid var(--accent-3);outline-offset:2px;box-shadow:0 0 0 4px var(--accent-ring)}.insp-shapes{display:flex;flex-direction:column;gap:3px}.insp-group{font-family:var(--mono);font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--slate-2)}.insp-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:4px;gap:4px}.insp-shape{padding:4px 6px;border:1px solid var(--line);border-radius:var(--r-xs);background:var(--card);color:var(--text-2);font-family:var(--body);font-size:10.5px;cursor:pointer;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.insp-shape.on,.insp-shape:hover{border-color:var(--accent-3);color:var(--accent-3)}.insp-shape.on{background:var(--accent-soft);font-weight:600}.insp-seg{display:flex;gap:3px}.insp-segb{width:26px;padding:4px 0;border:1px solid var(--line);border-radius:var(--r-xs);background:var(--card);color:var(--text-3);font-family:var(--mono);font-size:10px;text-transform:uppercase;cursor:pointer}.insp-segb.on{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.insp-slider{display:flex;align-items:center;gap:7px;width:100%}.insp-slider input[type=range]{flex:1 1 auto;min-width:0;accent-color:var(--accent)}.insp-slider b{font-family:var(--mono);font-size:10px;color:var(--text-3);font-weight:500}.insp-check{display:flex;align-items:center;gap:7px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.insp-check input{accent-color:var(--accent)}.insp-acts{display:flex;flex-wrap:wrap;gap:4px}.insp-act{padding:4px 8px;border:1px solid var(--line);border-radius:var(--r-pill);background:var(--card);color:var(--text-3);font-family:var(--body);font-size:11px;cursor:pointer}.insp-act.on{background:var(--accent-soft);border-color:var(--accent-3);color:var(--accent-3);font-weight:600}.insp-btns{display:flex;flex-wrap:wrap;gap:4px}.insp-btn{padding:5px 10px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--card);color:var(--text-2);font-family:var(--body);font-size:11.5px;cursor:pointer}.insp-btn:hover{border-color:var(--accent-3);color:var(--accent-3)}.insp-btn.sm{padding:4px 8px;font-family:var(--mono);font-size:10px}.tbl-cell-wrap{position:absolute;z-index:41;display:flex;align-items:center;justify-content:stretch;pointer-events:auto}.tbl-cell-edit{width:100%;margin:0;resize:none;overflow:hidden;border:1.5px solid var(--sel);border-radius:2px;background:var(--card);color:var(--text-2);font-family:var(--body);text-align:left;box-shadow:0 0 0 3px var(--sel-soft);outline:none;box-sizing:border-box}.tbl-cell-edit::selection{background:var(--sel-soft)}.tbl-aff{position:absolute;z-index:39;gap:3px;pointer-events:auto}.tbl-aff,.tbl-affb{display:flex;align-items:center}.tbl-affb{width:20px;height:20px;padding:0;justify-content:center;border:1px solid var(--line);border-radius:var(--r-xs);background:var(--card);color:var(--text-3);font-family:var(--body);font-size:13px;line-height:1;cursor:pointer;box-shadow:var(--sh-sm)}.tbl-affb:hover{border-color:var(--accent-3);color:var(--accent-3)}.tbl-affb.off,.tbl-affb:disabled{opacity:.35;cursor:default}.tbl-affb.off:hover,.tbl-affb:disabled:hover{border-color:var(--line);color:var(--text-3)}.tbl-colgrip{position:absolute;z-index:39;width:7px;cursor:col-resize;pointer-events:auto;background:transparent}.tbl-colgrip:after{content:"";position:absolute;left:3px;top:2px;bottom:2px;width:1px;background:var(--sel);opacity:0}.tbl-colgrip:hover:after{opacity:.9}.tbl-ins{position:absolute;z-index:40;padding:0;box-sizing:border-box;display:flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:var(--r-xs);background:transparent;color:var(--text-4);font-family:var(--body);font-size:12px;line-height:1;cursor:pointer;pointer-events:auto;transition:color .1s,background .1s,border-color .1s}.tbl-ins:hover{background:var(--card);border-color:var(--accent-3);color:var(--accent-3);box-shadow:var(--sh-sm)}.tbl-ins:disabled{opacity:.35;cursor:default}.tbl-ins:disabled:hover{background:transparent;border-color:transparent;color:var(--text-4);box-shadow:none}.tbl-hdr{position:absolute;z-index:39;padding:0;box-sizing:border-box;border:none;background:transparent;cursor:pointer;pointer-events:auto}.tbl-hdr:after{content:"";position:absolute;border-radius:2px;background:var(--line);transition:background .1s}.tbl-hdr.h:after{left:0;right:0;top:50%;height:4px;margin-top:-2px}.tbl-hdr.v:after{top:0;bottom:0;left:50%;width:4px;margin-left:-2px}.tbl-hdr:hover:after{background:var(--accent-3)}.tbl-hdr.on:after{background:var(--accent)}.tbl-lact{position:absolute;z-index:40}.ent-zones{position:absolute;z-index:38;display:flex;flex-direction:column;pointer-events:none}.ent-zone{width:100%;box-sizing:border-box;pointer-events:auto;cursor:text}.ent-zone:hover{box-shadow:inset 0 0 0 1px var(--sel)}.ent-zone.head{cursor:text}.ent-zone.moving{background:var(--sel-soft)}.ent-zone.landing{box-shadow:inset 0 -2px 0 var(--sel)}.ent-editbox{position:absolute;z-index:42;display:flex;align-items:stretch;pointer-events:auto}.ent-input{width:100%;margin:0;box-sizing:border-box;border:1.5px solid var(--sel);border-radius:3px;background:var(--card);color:var(--text-2);font-family:var(--body);line-height:1.1;outline:none;box-shadow:0 0 0 3px var(--sel-soft)}.ent-input.mono{font-family:var(--mono)}.ent-input::selection{background:var(--sel-soft)}.ent-strip{position:absolute;z-index:41;display:flex;align-items:center;gap:3px;padding:3px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--card);box-shadow:var(--sh-md);pointer-events:auto}.ent-type-b{max-width:96px;padding:3px 7px;margin:0;border:1px solid var(--line);border-radius:var(--r-xs);background:var(--card);color:var(--text-3);font-family:var(--mono);font-size:10px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.ent-type-b:hover{border-color:var(--accent-3);color:var(--accent-3)}.ent-flag-b{min-width:22px;height:20px;padding:0 4px;margin:0;border:1px solid var(--line);border-radius:var(--r-xs);background:var(--card);color:var(--text-3);font-family:var(--mono);font-size:9.5px;line-height:1;cursor:pointer}.ent-flag-b.on,.ent-flag-b:hover{border-color:var(--accent-3);color:var(--accent-3)}.ent-flag-b.on{background:var(--accent-soft);font-weight:700}.ent-flag-b.pk.on{background:var(--warn-soft);border-color:var(--warn);color:var(--warn-ink)}.ent-del-b{width:20px;height:20px;padding:0;margin:0;display:flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:var(--r-xs);background:transparent;color:var(--text-3);font-size:13px;line-height:1;cursor:pointer}.ent-del-b:hover{border-color:var(--danger);color:var(--danger-ink)}.ent-grip{position:absolute;z-index:41;width:14px;height:16px;overflow:hidden;display:flex;align-items:center;justify-content:center;color:var(--text-3);opacity:.45;font-size:11px;line-height:1;cursor:-webkit-grab;cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:auto}.ent-grip.on,.ent-grip:hover{opacity:1;color:var(--sel)}.ent-grip.on{cursor:-webkit-grabbing;cursor:grabbing}.ent-add-wrap{position:absolute;z-index:39;display:flex;gap:4px;pointer-events:auto}.ent-add{padding:3px 9px;border:1px solid var(--line);border-radius:var(--r-xs);background:var(--card);color:var(--text-2);font-family:var(--body);font-size:11px;cursor:pointer;box-shadow:var(--sh-sm)}.ent-add:hover{border-color:var(--accent-3);color:var(--accent-3)}.ent-typemenu{position:absolute;z-index:60;width:196px;max-height:340px;overflow:auto;padding:5px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--card);box-shadow:var(--sh-pop);font-family:var(--body);pointer-events:auto}.ent-tglabel{padding:5px 7px 3px;font-size:9.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--text-3)}.ent-titem{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 7px;border:0;border-radius:var(--r-xs);background:transparent;color:var(--text-2);font-family:var(--body);font-size:11.5px;text-align:left;cursor:pointer}.ent-titem b{font-family:var(--mono);font-size:9.5px;color:var(--text-3);font-weight:500}.ent-titem.on,.ent-titem:hover{background:var(--accent-soft);color:var(--accent-3)}.ent-titem.on{font-weight:600}.insp-select{width:100%;min-width:0;padding:4px 6px;border:1px solid var(--line);border-radius:var(--r-xs);background:var(--card);color:var(--text-2);font-family:var(--body);font-size:11.5px;cursor:pointer}.insp-select:focus{outline:none;border-color:var(--accent-3);box-shadow:0 0 0 2px var(--accent-ring)}.insp-select.mono{font-family:var(--mono);font-size:10.5px}.insp-cells{display:grid;grid-gap:2px;gap:2px}.insp-cell{min-width:0;width:100%;box-sizing:border-box;padding:3px 4px;border:1px solid var(--line-2);border-radius:4px;background:var(--card);color:var(--text-2);font-family:var(--body);font-size:10.5px}.insp-cell.head{background:var(--sunken);font-weight:600}.insp-cell:focus{outline:none;border-color:var(--accent-3);box-shadow:0 0 0 2px var(--accent-ring)}.insp-col{display:flex;flex-direction:column;gap:5px;padding:7px 8px;border:1px solid var(--line-2);border-radius:var(--r-sm);background:var(--card)}.insp-colhead{display:flex;align-items:center;gap:7px}.insp-colhead b{font-size:10px;color:var(--text-3);font-weight:500}.insp-colname{flex:1 1 auto;min-width:0;font-size:11px;color:var(--text-2);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.insp-btn.danger:hover{border-color:var(--danger);color:var(--danger-ink)}.insp-btn:disabled{opacity:.35;cursor:default}.insp-btn:disabled:hover{border-color:var(--line);color:var(--text-2)}.insp-flags{display:flex;flex-wrap:wrap;gap:10px}.insp-flags .insp-check{font-size:11px}.doc-edit-wrap{position:absolute;z-index:42;display:flex;align-items:flex-start;padding:0;border-radius:2px;box-shadow:0 0 0 1px var(--sel),0 0 0 4px var(--sel-soft);pointer-events:auto}.doc-edit{width:100%;margin:0;padding:0;border:0;outline:none;resize:none;overflow:hidden;background:transparent;letter-spacing:inherit;box-sizing:border-box}.doc-edit::selection{background:var(--sel-soft)}.doc-gutter{position:absolute;z-index:43;pointer-events:auto}.doc-gbtn,.doc-gutter{width:20px;height:20px}.doc-gbtn{padding:0;display:flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:var(--r-xs);background:var(--card);color:var(--text-3);font-family:var(--body);font-size:12px;line-height:1;cursor:pointer;box-shadow:var(--sh-sm)}.doc-gbtn.on,.doc-gbtn:hover{border-color:var(--accent-3);color:var(--accent-3)}.doc-gbtn.on{background:var(--accent-soft)}.doc-typemenu{position:absolute;z-index:58;left:0;top:24px;width:186px;max-height:320px;overflow:auto;padding:5px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--card);box-shadow:var(--sh-pop);font-family:var(--body)}.doc-titem{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:5px 7px;border:0;border-radius:var(--r-xs);background:transparent;color:var(--text-2);font-family:var(--body);font-size:11.5px;text-align:left;cursor:pointer}.doc-titem b{font-family:var(--mono);font-size:9.5px;color:var(--text-3);font-weight:500}.doc-titem.on,.doc-titem:hover{background:var(--accent-soft);color:var(--accent-3)}.doc-titem.on{font-weight:600}.tb-keep{display:inline-flex;align-items:center}.tb .tb-btn:disabled{opacity:.32;cursor:default}.tb .tb-btn:disabled:hover{background:transparent;color:inherit}.tb-blockname{padding:0 4px;font-family:var(--body);font-size:12px;font-weight:600;white-space:nowrap}.tb-pop-blocks{width:206px}.tb-bglyph{flex:0 0 26px;text-align:center;font-family:var(--mono);font-size:10px;color:var(--tb-mut)}.tb-mitem.on .tb-bglyph{color:var(--tb-fg)}.tb-mitem.on{background:var(--tb-on-soft)}.tb-pop-md{width:300px}.tb-md{display:flex;flex-direction:column;gap:7px;padding:0 3px 3px}.tb-mdbox{width:100%;box-sizing:border-box;resize:vertical;padding:7px 8px;border-radius:var(--r-sm);border:1px solid var(--tb-line);background:var(--tb-bg-2);color:var(--tb-fg);font-family:var(--mono);font-size:11px;line-height:1.5;outline:none}.tb-mdbox:focus{border-color:var(--tb-on);box-shadow:0 0 0 2px var(--tb-on-soft)}.tb-mdbox::placeholder{color:var(--tb-mut)}.tb-mdrow{display:flex;gap:6px;justify-content:flex-end}.tb-mdbtn{padding:6px 11px;border-radius:var(--r-sm);border:1px solid var(--tb-line);background:transparent;color:var(--tb-fg);font-family:var(--body);font-size:11.5px;cursor:pointer}.tb-mdbtn:hover{background:var(--tb-hover)}.tb-mdbtn.primary{background:var(--tb-on);border-color:var(--tb-on);color:var(--accent-ink);font-weight:600}.tb-mdbtn:disabled{opacity:.35;cursor:default}.tb-mdbtn:disabled:hover{background:transparent}.tb-mdbtn.primary:disabled:hover{background:var(--tb-on)}.insp-blocks{gap:5px}.insp-block,.insp-blocks{display:flex;flex-direction:column}.insp-block{gap:4px;padding:6px 7px;border:1px solid var(--line-2);border-radius:var(--r-sm);background:var(--card)}.insp-blockhead{display:flex;align-items:center;gap:6px}.insp-blockhead .insp-select{flex:1 1 auto;min-width:0}.insp-blockhead .insp-btns{flex:0 0 auto;flex-wrap:nowrap}.insp-blockhead .insp-id{flex:0 0 auto;max-width:none}.insp-blocktext{width:100%;padding:0;border:0;background:transparent;color:var(--text-3);font-family:var(--body);font-size:11px;line-height:1.35;text-align:left;cursor:text;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.insp-blocktext:hover{color:var(--accent-3)}.insp-md{display:flex;flex-direction:column;gap:5px}.insp-mdbox{width:100%;box-sizing:border-box;resize:vertical;font-family:var(--mono);font-size:10.5px;line-height:1.5}.bbg{display:flex;flex-direction:column;gap:7px}.bbg-swatches{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));grid-gap:4px;gap:4px}.bbg-swatch{width:auto;height:20px;padding:0;cursor:pointer;border:1px solid var(--line-3);border-radius:var(--r-xs);background:var(--card);box-shadow:var(--sh-sm);transition:transform .08s ease-out,box-shadow .08s ease-out}.bbg-swatch:hover{transform:translateY(-1px);border-color:var(--accent-3)}.bbg-swatch.on{border-color:var(--accent-3);box-shadow:0 0 0 2px var(--accent-3),var(--sh-sm)}.bbg-swatch.def{background:linear-gradient(135deg,var(--card) 0 50%,var(--text) 50% 100%)}.bbg-swatch:focus-visible{outline:2px solid var(--accent-3);outline-offset:2px;box-shadow:0 0 0 4px var(--accent-ring)}.bbg-custom{display:flex;align-items:center;gap:6px;width:100%}.bbg-custom input[type=color]{width:26px;height:22px;padding:0;cursor:pointer;border:1px solid var(--line);border-radius:var(--r-xs);background:var(--card)}.bbg-custom input[type=color]:focus-visible{outline:2px solid var(--accent-3);outline-offset:2px}.bbg-custom .insp-input{flex:1 1 auto}.ctx-label{padding:4px 10px 2px;font-family:var(--mono);font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3)}.ctx-swatches{padding:2px 10px 5px}.bbg-swatches.compact{grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;width:152px}.bbg-swatches.compact .bbg-swatch{height:18px}