/* Keep the world rasterized at the current zoom; permanent will-change blurs scaled images. */
/* A paper-like working surface; tools stay outside the content hierarchy. */
body.canvas-active .topbar{display:none}body.canvas-active main{max-width:none;padding:0;margin:0}body.canvas-active .quick-add{display:none}body.canvas-active{overflow:hidden}body.canvas-active .connection-banner{position:absolute;z-index:25;top:80px;right:16px;max-width:350px}
.canvas-page{animation:none;height:calc(100dvh - 74px - env(safe-area-inset-bottom));display:flex;flex-direction:column;min-height:260px}.canvas-heading{height:72px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:0 22px;border-bottom:1px solid var(--line);background:var(--bg);gap:12px}.canvas-heading>div:first-child{display:flex;align-items:center;gap:17px}.canvas-heading h1{font-size:29px;letter-spacing:-1px;margin:0}.canvas-shared{font-size:10px;color:var(--muted);padding-left:17px;border-left:1px solid var(--line)}.canvas-save{display:flex;align-items:center;gap:10px;font-size:10px;color:var(--muted)}.canvas-save .is-error{color:var(--danger)}.canvas-save .inline-link{margin:0;font-size:10px}
.canvas-stage{flex:1;min-height:0;overflow:clip;position:relative;isolation:isolate;background-color:#f4f4ee;background-image:radial-gradient(circle,#cdd3c6 .9px,transparent .9px);background-size:24px 24px;touch-action:none;overscroll-behavior:none;outline:none;cursor:default}.canvas-stage[data-tool=hand],.canvas-stage.is-panning{cursor:grab}.canvas-stage.is-dragging{cursor:grabbing}.canvas-stage[data-tool=connect],.canvas-stage[data-tool=rectangle],.canvas-stage[data-tool=circle],.canvas-stage[data-tool=triangle]{cursor:crosshair}.canvas-world{position:absolute;left:0;top:0;transform-origin:0 0}.canvas-edges{position:absolute;left:0;top:0;width:1px;height:1px;overflow:visible;pointer-events:none}.canvas-edge{pointer-events:stroke;cursor:pointer}.canvas-edge-line{fill:none;stroke:#607b6d;stroke-width:1.8;pointer-events:none}.canvas-edge-hit{fill:none;stroke:transparent;stroke-width:18}.canvas-edge.is-selected .canvas-edge-line,.canvas-edge:focus .canvas-edge-line{stroke:var(--green);stroke-width:3}.canvas-edge-preview{fill:none;stroke:#607b6d;stroke-width:1.6;stroke-dasharray:6 5}
.canvas-toolbar,.canvas-zoom,.canvas-history{background:#fffefa;box-shadow:0 3px 14px #2436270d,0 0 0 1px #dce1d5;display:flex;align-items:center;border-radius:10px;padding:5px;gap:2px}.canvas-toolbar{position:absolute;z-index:5;top:20px;left:20px;flex-direction:column;width:60px;max-height:calc(100% - 100px);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;scrollbar-width:thin}.canvas-toolbar>button{flex-shrink:0;width:48px}.canvas-toolbar>.canvas-tool-divider{width:28px;height:1px;margin:6px 0}.canvas-toolbar button,.canvas-zoom button,.canvas-history button{height:38px;min-width:38px;display:flex;align-items:center;justify-content:center;padding:0;border-radius:6px;color:#74816f;transition:background .15s,color .15s}.canvas-toolbar button[aria-pressed=true]{background:var(--green);color:#fff}.canvas-toolbar button:hover:not([aria-pressed=true]),.canvas-zoom button:hover,.canvas-history button:hover{background:var(--green-light);color:var(--green)}.canvas-toolbar button svg{width:20px;height:20px}.canvas-tool-divider{width:1px;height:21px;flex-shrink:0;background:var(--line);margin:0 5px}.canvas-bottom{position:absolute;z-index:5;bottom:20px;left:20px;right:20px;display:flex;align-items:center;gap:20px;pointer-events:none}.canvas-bottom>div{pointer-events:auto}.canvas-zoom{margin-left:auto}.canvas-zoom button{font-size:10px;font-weight:600}.canvas-zoom #canvas-zoom-reset{min-width:48px}.canvas-zoom svg,.canvas-history svg{width:17px;height:17px}.canvas-history button:disabled{cursor:default}.canvas-hint{font-size:10px;color:#63715e;line-height:1.7;max-width:400px}.canvas-empty{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;width:300px;pointer-events:none;color:var(--muted)}.canvas-empty>svg{width:40px;height:40px;stroke-width:1;stroke:#899e81}.canvas-empty h2{font:400 30px/1.2 var(--serif);letter-spacing:-.7px;color:var(--ink);margin:20px 0 12px}.canvas-empty p{font-size:12px;line-height:1.8;margin:0}.canvas-empty button{pointer-events:auto}
.canvas-node{position:absolute;outline:none;overflow:visible;cursor:grab;touch-action:none}.canvas-node.is-selected:after,.canvas-node:focus-visible:after,.canvas-node.is-connecting:after{content:'';position:absolute;inset:-5px;border:1.5px solid #5a8d70;pointer-events:none;border-radius:5px}.canvas-node.is-connecting:after{border-style:dashed}.canvas-stage.is-dragging .canvas-node{cursor:grabbing}.canvas-shape-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;fill:#fefef8;stroke:#92a68d;stroke-width:1.4}.canvas-shape-svg>*{vector-effect:non-scaling-stroke}.canvas-circle .canvas-shape-svg{fill:#e6eddf}.canvas-triangle .canvas-shape-svg{fill:#f1eee1;stroke:#a5a38a}.canvas-shape-label{display:flex;align-items:center;justify-content:center;width:100%;height:100%;padding:22px;position:relative;font-size:16px;font-weight:550;line-height:1.6;text-align:center;white-space:pre-wrap;overflow-wrap:anywhere;overflow:hidden;user-select:none;pointer-events:none}.canvas-triangle .canvas-shape-label{padding:45% 20% 10%}.canvas-circle .canvas-shape-label{padding:22%}.canvas-port{position:absolute;right:-7px;top:calc(50% - 7px);width:14px;height:14px;background:#fffefa;border:2px solid #63856c;border-radius:50%;padding:0;opacity:0;transition:opacity .15s;cursor:crosshair;z-index:2}.canvas-node:hover .canvas-port,.canvas-node.is-selected .canvas-port,.canvas-stage[data-tool=connect] .canvas-port,.canvas-port:focus-visible{opacity:1}.canvas-port:before{content:'';position:absolute;inset:-8px}.canvas-resize{position:absolute;bottom:-6px;right:-6px;width:12px;height:12px;border:1.5px solid #5a8d70;background:var(--surface);padding:0;opacity:0;cursor:nwse-resize;z-index:3}.canvas-node.is-selected .canvas-resize,.canvas-resize:focus-visible{opacity:1}
.canvas-task,.canvas-note{border:1px solid #d1daca;background:var(--surface);border-radius:10px;box-shadow:0 3px 9px #24362708;cursor:default}.canvas-card-handle{height:43px;border-bottom:1px solid #e6e9df;padding:0 13px 0 18px;display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:grab;background:#f1f5ed;border-radius:9px 9px 0 0;user-select:none}.canvas-note .canvas-card-handle{background:#f4f1e9}.canvas-card-handle>span{display:flex;align-items:center;gap:8px;font-size:10px;font-weight:650;color:#62785a;letter-spacing:.3px}.canvas-card-handle svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.5}.canvas-card-handle button{display:flex;align-items:center;justify-content:center;width:30px;height:30px;color:#83937b;border-radius:6px}.canvas-card-handle button:hover{background:#e5ebdf;color:var(--green)}.canvas-card-content{padding:21px 23px 24px;user-select:text;cursor:text;overflow-wrap:anywhere}.canvas-card-content h2{font:650 18px/1.5 var(--sans);letter-spacing:-.35px;margin:0}.canvas-card-meta{font-size:10px;color:#77846e;line-height:1.8;margin-top:9px}.canvas-rich-body{font-size:13px;line-height:1.85;color:#525e4c;margin-top:20px;overflow:visible;max-height:none;white-space:normal}.canvas-rich-body p{margin:0 0 10px;min-height:1em}.canvas-rich-body>:last-child{margin-bottom:0}.canvas-rich-body ul,.canvas-rich-body ol{padding-left:24px;margin:12px 0}.canvas-rich-body li{padding-left:3px;margin:4px 0}.canvas-rich-body li p{margin:0}.canvas-rich-body strong{font-weight:750;color:#344530}.canvas-rich-body hr{display:block;border:0;border-top:1px solid #dedede;margin:20px 0;width:100%;height:0}.canvas-rich-body img{display:block;width:100%;height:auto;border-radius:5px;margin:16px 0;aspect-ratio:auto;user-select:none}.canvas-missing{font-size:12px;line-height:1.8;color:var(--muted)}
.canvas-inspector{position:absolute;z-index:6;right:20px;top:20px;width:218px;background:#fffefa;padding:14px 16px;border:1px solid #dce1d5;box-shadow:0 5px 18px #24362708;border-radius:10px;animation:page-in .15s ease-out}.canvas-inspector-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}.canvas-inspector-heading strong{font-size:11px;font-weight:650}.canvas-inspector-heading button{display:flex;padding:4px;color:#89957e}.canvas-inspector-heading svg{width:15px;height:15px}.canvas-inspector label{font-size:10px;color:#728168}.canvas-inspector textarea{display:block;width:100%;min-height:80px;max-height:180px;resize:vertical;border:1px solid var(--line);border-radius:5px;background:#fbfcf7;font-size:12px;color:var(--ink);margin-top:7px;padding:10px;line-height:1.6}.canvas-inspector p{font-size:10px;line-height:1.8;color:#798471;margin:14px 0}.canvas-inspector .inline-link{font-size:11px;margin:0}#canvas-remove{display:flex;align-items:center;gap:8px;color:#976854;font-size:10px;border-top:1px solid var(--line);padding:12px 0 0;width:100%}#canvas-remove svg{width:15px;height:15px}.canvas-picker{max-width:470px;max-height:85dvh;overflow:auto}.canvas-picker .section-heading{margin:0 0 10px}.canvas-picker .section-heading h2{margin:0;font-size:25px}.canvas-picker>.primary-button{width:100%;margin:8px 0 18px}.canvas-picker>.search{padding-bottom:12px;border-bottom:1px solid var(--line)}.canvas-picker .simple-row{width:100%}
@media(min-width:1024px){.canvas-page{height:100dvh}.canvas-heading{padding:0 32px;height:82px}.canvas-toolbar{top:22px}.canvas-toolbar button{height:40px;min-width:40px}.canvas-stage{min-height:0}}
@media(max-width:1200px){.canvas-hint{display:none}}
@media(max-width:1023px){.bottom-nav{gap:0;justify-content:space-around;padding-left:8px;padding-right:8px}.bottom-item{min-width:0;flex:1;padding-left:3px;padding-right:3px}.canvas-heading{height:62px}.canvas-toolbar{top:12px;left:8px;width:44px;max-height:calc(100% - 76px);gap:0;padding:4px}.canvas-toolbar>button{width:34px}.canvas-toolbar>.canvas-tool-divider{margin:5px 0}.canvas-toolbar button{min-width:34px;height:36px}.canvas-tool-divider{margin:0 3px}.canvas-inspector{width:180px;right:12px;top:12px;padding:12px}.canvas-bottom{left:12px;right:12px;bottom:12px;gap:8px}.canvas-shared{display:none}.canvas-inspector p{display:none}#canvas-remove{margin-top:12px}.canvas-inspector textarea{font-size:16px}.canvas-heading h1{font-size:27px}.canvas-save{font-size:9px}.canvas-history button,.canvas-zoom button{height:34px;min-width:32px}}
@media(prefers-reduced-motion:reduce){.canvas-inspector,.canvas-toolbar button,.canvas-port{animation:none;transition:none}}
/* Saved boards: the preview itself opens the working surface. */
#canvas-library #new-canvas{display:inline-flex}
.canvas-library-tools{display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line);padding:6px 0 19px;margin-bottom:25px}.canvas-library-tools .search{max-width:245px}.canvas-library-tools>.eyebrow{font-size:9px;letter-spacing:1.3px}.canvas-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(255px,1fr));gap:24px}.saved-board{min-width:0;border:1px solid #dde3d5;border-radius:11px;background:var(--surface);overflow:hidden;transition:border-color .18s,box-shadow .18s}.saved-board:hover{border-color:#9eb397;box-shadow:0 5px 17px #29472b08}.board-open{position:relative;display:block;width:100%;text-align:left;padding:0 0 20px}.board-preview{height:185px;display:flex;align-items:center;justify-content:center;background-color:#f0f2e9;background-image:radial-gradient(#cfd8c7 .7px,transparent .7px);background-size:16px 16px;border-bottom:1px solid #e4e8dd;overflow:hidden}.board-preview>svg{height:100%;width:100%;transition:transform .25s ease}.board-open:hover .board-preview>svg{transform:scale(1.035)}.board-preview g>rect,.board-preview g>polygon,.board-preview g>ellipse{stroke:#809777;stroke-width:1;vector-effect:non-scaling-stroke;fill:#fffef8}.board-preview .board-mini-circle>ellipse{fill:#dce7d2}.board-preview .board-mini-triangle>polygon{fill:#ede6d0;stroke:#a59a7f}.board-preview .board-mini-task>rect{fill:#f4f8ef}.board-preview .board-mini-note>rect{fill:#fffdf6;stroke:#a3ac91}.board-mini-edge{fill:none;stroke:#7b9273;stroke-width:1;vector-effect:non-scaling-stroke}.board-mini-text{fill:none;stroke:#a3b09a;stroke-width:1;vector-effect:non-scaling-stroke}.board-preview-empty{flex-direction:column;gap:12px}.board-preview-empty>svg{height:35px;width:35px;stroke:#8ca280;stroke-width:1}.board-preview-empty span{font-size:10px;letter-spacing:.4px;color:#849079}.board-card-title{display:block;margin:21px 47px 7px 20px;font-size:15px;line-height:1.5;font-weight:650;overflow-wrap:anywhere}.board-card-date{display:block;margin:0 20px;color:#838c7a;font-size:10px;line-height:1.6}.board-open-arrow{position:absolute;right:18px;bottom:44px;color:#8b9e80;display:flex}.board-open-arrow svg{width:17px;height:17px}.board-card-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid #e9ece2;margin:0 20px;padding:11px 0;font-size:10px;color:#8a9480}.board-card-footer button{padding:7px 0;color:#607654;font-size:10px}.board-card-footer button:hover{text-decoration:underline}.canvas-library-empty,.canvas-grid>.loading-state{grid-column:1/-1;min-height:220px;text-align:center;padding:45px 0}.canvas-library-empty h2{font:400 27px var(--serif);margin:20px 0 10px}.canvas-library-empty p{font-size:12px;color:var(--muted)}
.canvas-heading .canvas-board-heading{min-width:0;gap:14px;flex:1}.canvas-back{display:flex;align-items:center;gap:5px;font-size:11px;color:#657c5a;padding:10px 0;flex-shrink:0}.canvas-back svg{width:16px;height:16px}.canvas-heading-divider{color:#b3bca9;font-size:15px}#canvas-board-name{font-family:var(--sans);font-size:17px;letter-spacing:-.3px;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.canvas-rename-current{font-size:10px;color:#7a8a6d;flex-shrink:0;padding:10px 3px}.canvas-heading .canvas-save{flex-shrink:0}.canvas-name-dialog .section-heading{margin:0 0 15px}.canvas-name-dialog .section-heading h2{margin:0}.canvas-name-dialog input{width:100%;border:1px solid var(--line);padding:12px;font-size:16px;background:#fffefa;color:var(--ink);border-radius:7px}.canvas-name-dialog .field-label{margin-top:4px}.canvas-name-dialog .field-hint{margin-top:12px}.canvas-name-dialog{max-width:430px}
@media(max-width:679px){.canvas-grid{grid-template-columns:1fr;gap:20px}.canvas-library-tools{gap:20px;padding:2px 0 16px;margin-bottom:20px}.canvas-library-tools .search{max-width:180px}.canvas-library-tools>.eyebrow{white-space:nowrap}.board-preview{height:195px}.canvas-heading .canvas-board-heading{gap:7px}.canvas-back span{display:none}.canvas-back{min-width:24px}.canvas-heading-divider{display:none}#canvas-board-name{font-size:13px}.canvas-rename-current{font-size:9px}.canvas-heading{padding-left:15px;padding-right:15px}.canvas-heading .canvas-save{max-width:90px;flex-wrap:wrap;justify-content:flex-end;text-align:right;gap:0}.board-card-title{font-size:16px}}

/* Rounded connectors: quiet until selected, with handles above node borders. */
.canvas-edge-line{stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.canvas-port{right:auto;transform:translate(-50%,-50%)}
.canvas-stage.is-reconnecting .canvas-port{opacity:1}
.canvas-port.is-port-target{background:#63856c;box-shadow:0 0 0 5px #63856c30}
.canvas-node.is-connecting-target:after{content:'';position:absolute;inset:-5px;border:1.5px dashed #5a8d70;border-radius:5px;pointer-events:none}
.canvas-edge-controls{position:absolute;left:0;top:0;width:1px;height:1px;overflow:visible;pointer-events:none;z-index:4}
.canvas-segment-handle,.canvas-end-handle{pointer-events:all;outline:none}
.canvas-segment-handle.is-vertical{cursor:ew-resize}.canvas-segment-handle.is-horizontal{cursor:ns-resize}.canvas-end-handle{cursor:crosshair}
.canvas-segment-handle circle,.canvas-end-handle circle{fill:#fffefa;stroke:#52765c;stroke-width:1.5;vector-effect:non-scaling-stroke}
.canvas-segment-hit{stroke:transparent;fill:none}.canvas-end-handle .canvas-handle-hit{fill:transparent;stroke:none}
.canvas-segment-handle:hover circle,.canvas-end-handle:hover circle:not(.canvas-handle-hit),.canvas-segment-handle:focus circle,.canvas-end-handle:focus circle:not(.canvas-handle-hit){fill:#dce9d4;stroke:#31513a;stroke-width:2}
#canvas-reset-route{margin-bottom:12px}

.canvas-port[data-side=top]{left:50%;top:0}.canvas-port[data-side=right]{left:100%;top:50%}.canvas-port[data-side=bottom]{left:50%;top:100%}.canvas-port[data-side=left]{left:0;top:50%}
.canvas-triangle .canvas-port[data-side=left]{left:25%}.canvas-triangle .canvas-port[data-side=right]{left:75%}

.canvas-node-preview{fill:#fefef830;stroke:#7a9670;stroke-width:1.3;stroke-dasharray:5 5;pointer-events:none}

/* Edit the original record in place, without clipping long descriptions. */
.canvas-toolbar .canvas-create-button{flex-direction:column;gap:2px;height:46px;padding:3px 0;font-size:8px;font-weight:650;white-space:nowrap;flex-shrink:0}
.canvas-toolbar .canvas-create-button svg{width:15px;height:15px}
.canvas-node.is-editing{z-index:3;cursor:default}
.canvas-node.is-editing .canvas-card-content{padding:18px 20px 20px}
.canvas-inline-fields{display:grid;gap:12px;cursor:default}
.canvas-inline-fields label>span,.canvas-inline-people legend,.canvas-inline-description-label{display:block;font-size:10px;line-height:1.5;color:#6b7c60;margin:0 0 5px;font-weight:600}
.canvas-inline-fields input:not([type=checkbox]),.canvas-inline-fields select,.canvas-inline-fields textarea{display:block;width:100%;min-width:0;border:1px solid #dbe2d3;border-radius:5px;background:#fffefb;padding:8px 10px;font:400 12px/1.6 var(--sans);color:var(--ink);outline-offset:2px;user-select:text}
.canvas-inline-fields input:focus,.canvas-inline-fields select:focus,.canvas-inline-fields textarea:focus{outline:2px solid #8da880}
.canvas-inline-fields .canvas-inline-title textarea{font-size:18px;font-weight:650;line-height:1.5;letter-spacing:-.35px;resize:none;overflow:hidden;min-height:44px}
.canvas-inline-fields .canvas-inline-check{display:flex;align-items:center;gap:8px;cursor:pointer}
.canvas-inline-fields .canvas-inline-check>span{margin:0;font-size:12px;font-weight:400;color:var(--ink)}
.canvas-inline-check input{accent-color:var(--green);flex-shrink:0;width:15px;height:15px}
.canvas-inline-people{border:0;padding:0;margin:0;display:grid;gap:8px}
.canvas-inline-people p{font-size:11px;color:var(--muted);margin:0}
.canvas-inline-diary{display:flex;align-items:end;gap:8px}.canvas-inline-diary>label{flex:1;min-width:0}.canvas-inline-diary>button{border:1px solid var(--line);border-radius:5px;padding:9px;display:flex}.canvas-inline-diary svg{width:17px;height:17px}
.canvas-inline-description{margin-top:18px;cursor:default}.canvas-inline-description .description-shell{border:0;box-shadow:none;background:transparent}
.canvas-inline-description .description-toolbar{position:static;border:1px solid #dbe2d3;border-radius:5px;flex-wrap:wrap;padding:3px;gap:1px;cursor:default}
.canvas-inline-description .description-toolbar button{flex:1 0 25px;min-height:32px}.canvas-inline-description .description-toolbar svg{width:15px;height:15px}
.canvas-inline-rich{margin-top:12px}.canvas-inline-rich .tiptap{min-height:100px;outline:none;white-space:pre-wrap;cursor:text;user-select:text;padding:4px 0}
.canvas-inline-rich .tiptap:focus-visible{outline:1px solid #c8d5c0;outline-offset:5px;border-radius:3px}.canvas-inline-rich .tiptap>p:last-child{margin-bottom:0}
.canvas-inline-rich .tiptap ul{list-style:disc}.canvas-inline-rich .tiptap ol{list-style:decimal}.canvas-inline-rich .description-image img{margin:0}.canvas-inline-rich .ProseMirror-selectednode{outline:2px solid #789b6c;outline-offset:-2px}
.canvas-inline-footer{border-top:1px solid var(--line);margin-top:18px;padding-top:12px;display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:default}
.canvas-inline-footer span{font-size:9px;color:var(--muted)}.canvas-inline-footer button{font-size:10px;font-weight:650;color:var(--green);padding:6px 0}
.canvas-inline-error{font-size:11px;line-height:1.6;color:var(--danger);margin:12px 0 0}
.canvas-image{background:#fffefb;border-radius:6px;box-shadow:0 2px 8px #24362712}
.canvas-image-content{display:block;width:100%;height:100%;object-fit:contain;border-radius:6px;user-select:none;pointer-events:none}
.board-preview .board-mini-image>rect{fill:#e6ebed;stroke:#8b9fa3}
@media(max-width:679px){.canvas-toolbar .canvas-create-button{font-size:8px;padding:3px 0;height:42px}.canvas-inline-fields input:not([type=checkbox]),.canvas-inline-fields select{font-size:16px}}

.canvas-archive-badge{position:absolute;left:0;bottom:calc(100% + 8px);max-width:100%;padding:3px 8px;border-radius:4px;border:1px solid #d4cdb9;background:#f4efdf;color:#796944;font:650 10px/1.5 var(--sans);letter-spacing:.2px;white-space:nowrap;pointer-events:none}
.canvas-inline-fields{border:0;padding:0;margin:0;min-width:0}
.canvas-inline-heading{display:flex;justify-content:flex-end;margin-bottom:12px}
.canvas-inline-heading button,.canvas-inline-description-label button{font-size:10px;font-weight:650;color:var(--green);padding:5px 0;white-space:nowrap}
.canvas-inline-description-label{display:flex;align-items:center;justify-content:space-between;gap:10px}
.canvas-inline-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;margin:14px 0 0}.canvas-inline-summary div{min-width:0}.canvas-inline-summary dt{font-size:9px;color:var(--muted);line-height:1.6}.canvas-inline-summary dd{font-size:11px;line-height:1.7;color:#56634f;margin:2px 0 0;overflow-wrap:anywhere}
.canvas-inline-description .description-shell:not(.is-editing) .tiptap{min-height:0;cursor:default;outline:none}

/* Activity body editors retain their dimensions; expanding notes override these rules below. */
.canvas-node.is-body-editing{display:flex;flex-direction:column;touch-action:pan-y}
.canvas-stage:has(.is-body-editing:not(.canvas-note)){touch-action:pan-y}
.is-body-editing .canvas-card-handle{flex-shrink:0}
.canvas-node.is-body-editing .canvas-card-content{display:flex;flex-direction:column;flex:1;min-height:0;padding:0;cursor:default}
.is-body-editing .canvas-inline-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;padding:18px 20px 20px;scrollbar-width:thin}
.is-body-editing .canvas-inline-summary{display:flex;flex-wrap:wrap;gap:12px 28px}
.is-body-editing .canvas-inline-fields{max-width:760px;margin:0 auto}
.is-body-editing .canvas-inline-description{margin-top:24px}
.is-body-editing .canvas-inline-description-label{font-size:11px;color:var(--ink);min-height:34px;margin-bottom:9px}
.is-body-editing .canvas-inline-description-label button,.is-body-editing .canvas-inline-heading button{font-size:11px;min-height:34px}
.is-body-editing .description-toolbar{position:sticky;top:-20px;z-index:2;border:0;border-bottom:1px solid var(--line);border-radius:0;flex-wrap:nowrap;padding:5px 6px;gap:2px}
.is-body-editing .description-toolbar button{flex:1;min-height:40px}
.is-body-editing .description-toolbar svg{width:17px;height:17px}
.is-body-editing .canvas-inline-rich{margin-top:0}
.is-body-editing .canvas-inline-footer{flex-shrink:0;margin:0;padding:10px 20px;background:var(--surface);border-radius:0 0 9px 9px}
.is-body-editing .canvas-inline-footer span{font-size:10px}
.is-body-editing .canvas-inline-footer button{font-size:11px;min-height:40px}
.is-body-editing>.canvas-port,.is-body-editing>.canvas-resize{visibility:hidden}
@media(max-width:679px){
  .is-body-editing .canvas-inline-scroll{padding:12px 14px 18px}
  .is-body-editing .canvas-inline-footer{padding:8px 14px}
  .is-body-editing .canvas-inline-summary{gap:8px 16px}
  .is-body-editing .description-toolbar{top:-12px;padding:4px 0;gap:0}
}

/* The camera owns panning; native scroll must not displace transformed cards. */
#canvas-review-dialog{max-height:85dvh;overflow:auto}#canvas-review-dialog section{padding:16px 0;border-bottom:1px solid var(--line)}#canvas-review-dialog section button{display:block;margin-top:10px}#canvas-review-dialog textarea{width:100%;min-height:100px;resize:vertical;padding:10px}

/* Alignment overlays never intercept connector or canvas gestures. */
.canvas-alignment-guides{position:absolute;left:0;top:0;width:1px;height:1px;overflow:visible;pointer-events:none;z-index:5}
.canvas-alignment-guides line{stroke:#bd638e;stroke-width:1;stroke-dasharray:4 3;vector-effect:non-scaling-stroke}
.canvas-node.is-text-editing{cursor:text}
.canvas-node.is-text-editing .canvas-shape-label{pointer-events:auto;user-select:text}
.canvas-shape-editor{display:block;width:100%;min-height:1.6em;max-height:100%;flex-shrink:0;resize:none;border:0;outline:none;border-radius:0;background:transparent;padding:0;margin:0;font:inherit;line-height:inherit;color:inherit;text-align:inherit;overflow-wrap:anywhere;overflow-y:auto;cursor:text;user-select:text;touch-action:pan-y}
.canvas-shape-editor:focus-visible{outline:none}
.canvas-node.is-text-editing .canvas-port,.canvas-node.is-text-editing .canvas-resize{visibility:hidden}
.canvas-inspector #canvas-shape-field{display:block;margin-bottom:12px}.canvas-inspector #canvas-shape-field[hidden]{display:none}.canvas-inspector select{display:block;width:100%;margin-top:7px;padding:8px;border:1px solid var(--line);border-radius:5px;background:#fbfcf7;color:var(--ink);font:inherit;font-size:12px}
.has-multiple-selection .canvas-node.is-selected>.canvas-port,.has-multiple-selection .canvas-node.is-selected>.canvas-resize{visibility:hidden}
@media(max-width:1023px){.canvas-inspector select{font-size:16px}}
.canvas-export{position:absolute;inset:0;z-index:8;pointer-events:none}.canvas-export[hidden]{display:none}.canvas-export-surface{position:absolute;inset:0;pointer-events:auto;cursor:crosshair;touch-action:none;outline:none}.canvas-export-surface>svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.canvas-export-shade{fill:#20352a;fill-opacity:.16}.canvas-export-region{fill:none;stroke:#244f43;stroke-width:2;stroke-dasharray:7 4}.canvas-export-panel{position:absolute;top:12px;left:50%;transform:translateX(-50%);width:min(600px,calc(100% - 24px));display:flex;align-items:center;justify-content:space-between;gap:20px;pointer-events:auto;padding:16px 20px;background:#fff;border:1px solid #dce1d5;border-radius:10px;box-shadow:0 3px 16px #24362712}.canvas-export-panel strong{font-size:14px}.canvas-export-panel p{margin:6px 0;font-size:11px;color:#53654e}.canvas-export-panel [role=status]{display:block;font-size:11px;line-height:1.6;color:#6c7965}.canvas-export-actions{display:flex;align-items:center;gap:14px;flex-shrink:0}.canvas-export-actions button{font-size:12px;white-space:nowrap}.canvas-export-actions .primary-button{padding:12px 16px;min-height:40px}.is-exporting .canvas-toolbar,.is-exporting .canvas-inspector,.is-exporting .canvas-bottom,.is-exporting .canvas-empty{visibility:hidden}#canvas-export-pdf[aria-pressed=true]{font-weight:800}
@media(max-width:700px){.canvas-export-panel{align-items:stretch;flex-direction:column;gap:10px;padding:12px 16px}.canvas-export-actions{justify-content:flex-end}.canvas-heading{height:auto;min-height:86px;align-items:stretch;flex-direction:column;gap:6px;padding:10px 16px}.canvas-board-heading{width:100%}.canvas-heading .canvas-save{max-width:none;width:100%;flex-wrap:nowrap;justify-content:flex-end;gap:14px}.canvas-save #canvas-status{flex-basis:auto;flex:1;text-align:right;font-size:9px;white-space:nowrap}}
@media(max-width:1023px){.canvas-heading .sidebar-toggle{display:none}}

/* Notes expand while editing; the canvas provides navigation for long documents. */
.canvas-node.canvas-note.is-editing .canvas-card-content{display:block;padding:0;min-width:0}
.canvas-note.is-editing .canvas-inline-scroll{flex:none;overflow:visible;max-height:none;padding:18px 20px 20px}
.canvas-note.is-editing .canvas-inline-fields{max-width:none;margin:0}
.canvas-note.is-editing .description-shell,
.canvas-note.is-editing [data-description=description-viewport],
.canvas-note.is-editing .canvas-inline-rich{width:100%;max-width:none;min-width:0;overflow:visible}
.canvas-note.is-editing .description-toolbar{position:static;top:auto;box-sizing:border-box;width:100%;border:0;border-radius:12px;flex-wrap:wrap;gap:4px;padding:8px;margin:0 0 12px}
.canvas-note.is-editing .description-toolbar>button{flex:0 0 44px;min-width:44px;min-height:44px}
.canvas-note.is-editing .canvas-inline-rich{margin-top:0}
.canvas-note.is-editing :is(#description-editor,.canvas-inline-rich) .tiptap{box-sizing:border-box;width:100%;max-width:none;max-height:none;overflow:visible;padding:16px 12px}
.canvas-note.is-editing .canvas-inline-rich .tiptap:focus-visible{outline-offset:-2px;border-radius:8px}
.canvas-note.is-editing .canvas-inline-footer{margin:0;padding:10px 20px;border-radius:0 0 9px 9px}
.canvas-note.is-editing>.canvas-port,.canvas-note.is-editing>.canvas-resize{visibility:hidden}
@media(max-width:679px){
  .canvas-note.is-editing .canvas-inline-scroll{padding:12px 14px 18px}
  .canvas-note.is-editing .canvas-inline-footer{padding:8px 14px}
}
