.react-flow{--xy-edge-stroke-default:#b1b1b7;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#555;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#ffffff80;--xy-minimap-background-color-default:#fff;--xy-minimap-mask-background-color-default:#f0f0f099;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#e2e2e2;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:transparent;--xy-background-pattern-dots-color-default:#91919a;--xy-background-pattern-lines-color-default:#eee;--xy-background-pattern-cross-color-default:#e2e2e2;background-color:var(--xy-background-color,var(--xy-background-color-default));--xy-node-color-default:inherit;--xy-node-border-default:1px solid #1a192b;--xy-node-background-color-default:#fff;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #00000014;--xy-node-boxshadow-selected-default:0 0 0 .5px #1a192b;--xy-node-border-radius-default:3px;--xy-handle-background-color-default:#1a192b;--xy-handle-border-color-default:#fff;--xy-selection-background-color-default:#0059dc14;--xy-selection-border-default:1px dotted #0059dccc;--xy-controls-button-background-color-default:#fefefe;--xy-controls-button-background-color-hover-default:#f4f4f4;--xy-controls-button-color-default:inherit;--xy-controls-button-color-hover-default:inherit;--xy-controls-button-border-color-default:#eee;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#fff;--xy-edge-label-color-default:inherit;--xy-resize-background-color-default:#3367d9;direction:ltr}.react-flow.dark{--xy-edge-stroke-default:#3e3e3e;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#727272;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#96969640;--xy-minimap-background-color-default:#141414;--xy-minimap-mask-background-color-default:#3c3c3c99;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#2b2b2b;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:#141414;--xy-background-pattern-dots-color-default:#777;--xy-background-pattern-lines-color-default:#777;--xy-background-pattern-cross-color-default:#777;--xy-node-color-default:#f8f8f8;--xy-node-border-default:1px solid #3c3c3c;--xy-node-background-color-default:#1e1e1e;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #ffffff14;--xy-node-boxshadow-selected-default:0 0 0 .5px #999;--xy-handle-background-color-default:#bebebe;--xy-handle-border-color-default:#1e1e1e;--xy-selection-background-color-default:#c8c8dc14;--xy-selection-border-default:1px dotted #c8c8dccc;--xy-controls-button-background-color-default:#2b2b2b;--xy-controls-button-background-color-hover-default:#3e3e3e;--xy-controls-button-color-default:#f8f8f8;--xy-controls-button-color-hover-default:#fff;--xy-controls-button-border-color-default:#5b5b5b;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#141414;--xy-edge-label-color-default:#f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props,var(--xy-background-color,var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__pane{z-index:1}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width,var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke,var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width,var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{pointer-events:none;position:absolute;overflow:visible}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected,var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:.5s linear infinite dashdraw}svg.react-flow__connectionline{z-index:1001;position:absolute;overflow:visible}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{-webkit-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default;position:absolute}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:0 0;pointer-events:none}.react-flow__nodesselection-rect{pointer-events:all;cursor:grab;position:absolute}.react-flow__handle{pointer-events:none;background-color:var(--xy-handle-background-color,var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color,var(--xy-handle-border-color-default));border-radius:100%;width:6px;min-width:5px;height:6px;min-height:5px;position:absolute}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;bottom:0;left:50%;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{z-index:5;margin:15px;position:absolute}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px)translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px)translateY(-50%)}.react-flow__attribution{background:var(--xy-attribution-background-color,var(--xy-attribution-background-color-default));margin:0;padding:2px 3px;font-size:10px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10px}}.react-flow__edgelabel-renderer{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__viewport-portal{-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__minimap{background:var(--xy-minimap-background-color-props,var(--xy-minimap-background-color,var(--xy-minimap-background-color-default)))}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var(--xy-minimap-mask-background-color-props,var(--xy-minimap-mask-background-color,var(--xy-minimap-mask-background-color-default)));stroke:var(--xy-minimap-mask-stroke-color-props,var(--xy-minimap-mask-stroke-color,var(--xy-minimap-mask-stroke-color-default)));stroke-width:var(--xy-minimap-mask-stroke-width-props,var(--xy-minimap-mask-stroke-width,var(--xy-minimap-mask-stroke-width-default)))}.react-flow__minimap-node{fill:var(--xy-minimap-node-background-color-props,var(--xy-minimap-node-background-color,var(--xy-minimap-node-background-color-default)));stroke:var(--xy-minimap-node-stroke-color-props,var(--xy-minimap-node-stroke-color,var(--xy-minimap-node-stroke-color-default)));stroke-width:var(--xy-minimap-node-stroke-width-props,var(--xy-minimap-node-stroke-width,var(--xy-minimap-node-stroke-width-default)))}.react-flow__background-pattern.dots{fill:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-dots-color-default)))}.react-flow__background-pattern.lines{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-lines-color-default)))}.react-flow__background-pattern.cross{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-cross-color-default)))}.react-flow__controls{box-shadow:var(--xy-controls-box-shadow,var(--xy-controls-box-shadow-default));flex-direction:column;display:flex}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{background:var(--xy-controls-button-background-color,var(--xy-controls-button-background-color-default));border:none;border-bottom:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)));width:26px;height:26px;color:var(--xy-controls-button-color-props,var(--xy-controls-button-color,var(--xy-controls-button-color-default)));cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;padding:4px;display:flex}.react-flow__controls-button svg{fill:currentColor;width:100%;max-width:12px;max-height:12px}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{border-radius:var(--xy-node-border-radius,var(--xy-node-border-radius-default));width:150px;color:var(--xy-node-color,var(--xy-node-color-default));text-align:center;border:var(--xy-node-border,var(--xy-node-border-default));background-color:var(--xy-node-background-color,var(--xy-node-background-color-default));padding:10px;font-size:12px}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover,var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected,var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color,var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color,var(--xy-selection-background-color-default));border:var(--xy-selection-border,var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var(--xy-controls-button-background-color-hover-props,var(--xy-controls-button-background-color-hover,var(--xy-controls-button-background-color-hover-default)));color:var(--xy-controls-button-color-hover-props,var(--xy-controls-button-color-hover,var(--xy-controls-button-color-hover-default)))}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)))}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border:1px solid #fff;border-radius:1px;width:5px;height:5px;translate:-50% -50%}.react-flow__resize-control.handle.left{top:50%;left:0}.react-flow__resize-control.handle.right{top:50%;left:100%}.react-flow__resize-control.handle.top{top:0;left:50%}.react-flow__resize-control.handle.bottom{top:100%;left:50%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border-style:solid;border-width:0}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;height:100%;top:0;transform:translate(-50%)}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{width:100%;height:1px;left:0;transform:translateY(-50%)}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color,var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color,var(--xy-edge-label-color-default))}
.km-tree-page{margin:0;padding:0}.km-tree-editor{--tree-ink:var(--km-ink,#123848);--tree-muted:var(--km-muted,#52676f);--tree-border:var(--km-border,#bacbd0);--tree-gold:var(--km-gold-strong,#c89b4d);--tree-root:#e5fff4;--tree-root-border:#66d7b6;color:var(--tree-ink);z-index:1000;background:var(--km-bg,#f4f1eb);flex-direction:column;height:100dvh;display:flex;position:fixed;inset:0}.km-tree-editor-state{max-width:640px;color:var(--km-ink,#123848);justify-items:start;gap:1rem;margin:0 auto;padding:2rem 1rem;display:grid}.km-tree-editor-state .km-btn-secondary{border-color:var(--km-border,#bacbd0);color:var(--km-ink,#123848);background:#fff}.km-tree-editor-bar{border-bottom:1px solid var(--tree-border);background:#fff;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;padding:.625rem 1rem;display:flex}.km-tree-editor-title{align-items:baseline;gap:.875rem;min-width:0;display:flex}.km-tree-editor-title h1{color:var(--km-deep,#073848);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:1.125rem;overflow:hidden}.km-tree-editor-title h1 span{color:var(--tree-muted);margin-left:.375rem;font-weight:400}.km-tree-back{color:var(--tree-muted);white-space:nowrap;font-size:.875rem}.km-tree-editor-actions{flex-wrap:wrap;align-items:center;gap:.375rem;display:flex}.km-tree-editor-actions>button,.km-tree-editor-actions>a{border:1px solid var(--tree-border);min-height:36px;color:var(--tree-ink);font:inherit;cursor:pointer;background:#fff;border-radius:6px;align-items:center;gap:.375rem;padding:0 .75rem;font-size:.875rem;font-weight:700;display:inline-flex}.km-tree-editor-actions>button:hover,.km-tree-editor-actions>a:hover,.km-tree-editor-actions>button.is-active{background:var(--km-soft,#f7f8f5);border-color:var(--km-header,#6c747a)}.km-tree-editor-actions b{background:var(--tree-gold);color:#fff;border-radius:999px;place-items:center;min-width:1.25rem;height:1.25rem;padding:0 .3rem;font-size:.75rem;display:inline-grid}.km-tree-save{color:var(--tree-muted);min-width:5.5rem;font-size:.8125rem}.km-tree-save.is-error{color:#a33b2f}.km-tree-banner{background:#fff8e5;border-bottom:1px solid #ecd9a6;margin:0;padding:.5rem 1rem;font-size:.875rem}.km-tree-banner a{font-weight:700;text-decoration:underline}.km-tree-banner.is-expired{background:#fdecea;border-color:#f0c2bb}.km-tree-editor-body{flex:1;min-height:0;display:flex;position:relative}.km-tree-canvas{flex:1;min-width:0;position:relative}.km-tree-canvas .react-flow__renderer{background:#fbfaf7}.km-tree-canvas .react-flow__controls{box-shadow:0 1px 4px #0000001f}.km-tree-card{width:168px;min-height:76px;color:var(--tree-ink);background:#fffdf6;border:1px solid #d9cdbb;border-radius:10px;align-items:center;gap:.625rem;padding:.5rem .625rem;font-size:.8125rem;line-height:1.25;display:flex;position:relative;box-shadow:0 2px 6px #2a241c14}.km-tree-card.is-root{background:var(--tree-root);border-color:var(--tree-root-border);box-shadow:0 0 0 3px #66d7b63d}.km-tree-card.is-living{background:#fff;border-style:dashed}.km-tree-card.is-selected{outline:2px solid var(--km-header,#6c747a);outline-offset:2px}.km-tree-card img,.km-tree-card-photo{object-fit:cover;border:2px solid #fff;border-radius:999px;flex:none;width:46px;height:46px;box-shadow:0 0 0 1px #e5dccd}.km-tree-card-photo{color:#8a7350;background:#efe6d3;place-items:center;font-size:1.125rem;font-weight:800;display:grid}.km-tree-card-text{gap:.125rem;min-width:0;display:grid}.km-tree-card-text strong{overflow-wrap:anywhere}.km-tree-card-text small{color:var(--tree-muted)}.km-tree-card-note{color:#a0662a!important}.km-tree-card .react-flow__handle{border:2px solid var(--tree-gold);opacity:0;background:#fff;width:9px;height:9px;transition:opacity .15s}.km-tree-card:hover .react-flow__handle,.km-tree-card.is-selected .react-flow__handle,.react-flow__node.selected .react-flow__handle{opacity:1}@media (pointer:coarse){.km-tree-card .react-flow__handle{width:16px;height:16px}}.km-tree-edge path.react-flow__edge-path{stroke:#9a8a6f;stroke-width:1.6px}.km-tree-edge.is-spouse path.react-flow__edge-path{stroke:var(--tree-gold);stroke-width:2.2px}.km-tree-edge.is-sibling path.react-flow__edge-path{stroke-dasharray:6 4}.km-tree-edge.is-other path.react-flow__edge-path{stroke:#9fb3b8;stroke-dasharray:2 4}.km-tree-edge.is-selected path.react-flow__edge-path{stroke:var(--km-deep,#073848);stroke-width:3px}.km-tree-edge .react-flow__edge-textbg{fill:#fbfaf7}.km-tree-edge .react-flow__edge-text{fill:var(--tree-muted);font-size:11px}.km-tree-panel{border-left:1px solid var(--tree-border);background:#fff;flex:none;width:380px;padding:1rem 1rem 1.5rem;position:relative;overflow:hidden auto}.km-tree-panel-close{width:36px;height:36px;color:var(--tree-muted);cursor:pointer;background:0 0;border:0;font-size:1.5rem;line-height:1;position:absolute;top:.375rem;right:.375rem}.km-tree-panel-open{z-index:5;border:1px solid var(--tree-border);min-height:40px;font:inherit;cursor:pointer;background:#fff;border-radius:999px;padding:0 1rem;font-weight:700;position:absolute;top:1rem;right:1rem;box-shadow:0 2px 8px #0000001f}.km-tree-message{background:#eef6f3;border-radius:6px;margin:0 2rem .75rem 0;padding:.5rem .75rem;font-size:.875rem}.km-tree-section{gap:.625rem;display:grid}.km-tree-section h2{color:var(--km-deep,#073848);margin:0 2rem 0 0;font-size:1.0625rem}.km-tree-section h3{margin:.5rem 0 0;font-size:.9375rem}.km-tree-section p{margin:0}.km-tree-meta{color:var(--tree-muted);font-size:.875rem}.km-tree-hint{color:var(--tree-muted);margin:1rem 0 0;font-size:.8125rem;line-height:1.45}.km-tree-section .km-tree-hint{margin:0}.km-tree-panel .km-btn{min-height:38px;padding:0 14px;font-size:.875rem}.km-tree-panel .km-btn-secondary{color:var(--tree-ink);background:#fff;border-color:#d9cdbb}.km-tree-panel .km-btn-secondary:hover{background:#f6f0e4}.km-tree-panel .km-btn-danger{color:#fff;background:#a33b2f;border:1px solid #8a2f25}.km-tree-row{flex-wrap:wrap;gap:.5rem;display:flex}.km-tree-remove{color:#a33b2f;font:inherit;cursor:pointer;background:0 0;border:0;justify-self:start;padding:.25rem 0;font-size:.875rem;text-decoration:underline}.km-tree-confirm{background:#fdf3f1;border:1px solid #f0c2bb;border-radius:8px;gap:.5rem;padding:.75rem;font-size:.875rem;display:grid}.km-tree-tabs{border:1px solid var(--tree-border);border-radius:8px;grid-template-columns:1fr 1fr;display:grid;overflow:hidden}.km-tree-tabs button{min-height:38px;font:inherit;color:var(--tree-muted);cursor:pointer;background:#fff;border:0;font-size:.875rem;font-weight:700}.km-tree-tabs button[aria-selected=true]{background:var(--km-header,#6c747a);color:#fff}.km-tree-field{color:var(--tree-muted);gap:.25rem;font-size:.8125rem;font-weight:700;display:grid}.km-tree-field input,.km-tree-field select,.km-tree-relation select,.km-tree-relation input,.km-tree-picker input{border:1px solid var(--tree-border);width:100%;min-height:40px;font:inherit;color:var(--tree-ink);background:#fff;border-radius:6px;padding:0 .625rem;font-size:1rem;font-weight:400}.km-tree-field-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.5rem;display:grid}.km-tree-check{align-items:flex-start;gap:.5rem;font-size:.8125rem;display:flex}.km-tree-check input{margin-top:.2rem}.km-tree-form{gap:.625rem;display:grid}.km-tree-relation{background:#fbf8f1;border:1px solid #e5dccd;border-radius:8px;gap:.5rem;margin:0;padding:.75rem;display:grid}.km-tree-relation legend{color:var(--tree-muted);padding:0 .25rem;font-size:.8125rem;font-weight:700}.km-tree-relation label{color:var(--tree-muted);gap:.25rem;font-size:.8125rem;display:grid}.km-tree-results,.km-tree-links,.km-tree-suggestions{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.km-tree-results li{border:1px solid #e5dccd;border-radius:8px;justify-content:space-between;align-items:center;gap:.5rem;padding:.5rem;display:flex}.km-tree-results li span{min-width:0;display:grid}.km-tree-results small,.km-tree-suggestions small{color:var(--tree-muted)}.km-tree-links li{background:var(--km-soft,#f7f8f5);border-radius:6px;padding:.375rem .5rem;font-size:.875rem}.km-tree-suggestions li{border:1px solid #e5dccd;border-radius:8px;gap:.375rem;padding:.75rem;display:grid}.km-tree-radios{gap:.5rem;display:grid}.km-tree-radios label{cursor:pointer;border:1px solid #e5dccd;border-radius:8px;align-items:flex-start;gap:.625rem;padding:.625rem;display:flex}.km-tree-radios label span{gap:.125rem;display:grid}.km-tree-radios small{color:var(--tree-muted);font-size:.8125rem}.km-tree-picker{z-index:10;border:1px solid var(--tree-border);background:#fff;border-radius:12px;gap:.5rem;width:min(380px,100% - 2rem);padding:1rem;display:grid;position:absolute;top:1rem;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #0000002e}.km-tree-picker h2{margin:0 0 .25rem;font-size:1rem}.km-tree-picker>button{text-align:left;min-height:42px;font:inherit;color:var(--tree-ink);cursor:pointer;background:#fffdf6;border:1px solid #e5dccd;border-radius:8px;padding:.375rem .75rem;font-size:.875rem}.km-tree-picker>button:hover{border-color:var(--tree-gold)}.km-tree-picker form{gap:.375rem;display:flex}.km-tree-picker form button{border:1px solid var(--km-header-border,#5c6469);background:var(--km-header,#6c747a);color:#fff;font:inherit;cursor:pointer;border-radius:6px;flex:none;padding:0 .75rem;font-weight:700}.km-tree-picker form button:disabled{opacity:.5;cursor:default}.km-tree-picker .km-tree-picker-cancel{text-align:center;color:var(--tree-muted);background:0 0;border:0;text-decoration:underline}@media (max-width:760px){.km-tree-editor-bar{padding:.5rem .75rem}.km-tree-editor-title h1 span{display:none}.km-tree-editor-actions{flex-wrap:nowrap;width:100%;padding-bottom:.125rem;overflow-x:auto}.km-tree-banner{padding:.375rem .75rem;font-size:.8125rem}.km-tree-editor-actions>button,.km-tree-editor-actions>a{flex:none}.km-tree-panel{z-index:8;border-left:0;border-top:1px solid var(--tree-border);border-radius:16px 16px 0 0;width:auto;max-height:58%;padding-top:1.25rem;position:absolute;bottom:0;left:0;right:0;box-shadow:0 -8px 24px #00000024}.km-tree-panel:before{content:"";background:#d6d0c4;border-radius:4px;width:40px;height:4px;margin-left:-20px;position:absolute;top:.5rem;left:50%}.km-tree-panel-open{top:auto;bottom:1rem;right:50%;transform:translate(50%)}.km-tree-canvas .react-flow__controls{bottom:3.5rem}}.km-public-tree .km-family-tree-head{flex-wrap:wrap;align-items:baseline;gap:.25rem 1rem;display:flex}.km-public-tree .km-family-tree-head .km-eyebrow{width:100%}.km-public-tree-edit{color:var(--km-ink,#123848);font-size:.875rem;font-weight:700;text-decoration:underline}.km-public-tree-canvas{--tree-ink:var(--km-ink,#123848);--tree-muted:var(--km-muted,#52676f);--tree-gold:var(--km-gold-strong,#c89b4d);--tree-root:#e5fff4;--tree-root-border:#66d7b6;background:#fbfaf7;border:1px solid #e5dccd;border-radius:12px;height:min(640px,72vh);min-height:380px;margin-top:.75rem;position:relative;overflow:hidden}.km-public-tree-canvas .react-flow__handle{pointer-events:none;opacity:0!important}.km-tree-card.is-link{cursor:default}.km-tree-card-name{color:inherit;text-decoration:none}.km-tree-card-name:hover strong,.km-tree-card-name:focus-visible strong{text-decoration:underline}.km-public-tree-hint{color:var(--km-muted,#52676f);margin:.5rem 0 0;font-size:.8125rem}.km-tree-photo{justify-items:start;gap:.5rem;display:grid}.km-tree-photo img{object-fit:cover;border:2px solid #fff;border-radius:999px;width:72px;height:72px;box-shadow:0 0 0 1px #e5dccd}.km-tree-photo label{cursor:pointer}.km-tree-photo small{color:var(--tree-muted);font-size:.75rem}.km-tree-card-relation{font-style:italic;color:#8a6a35!important}.km-tree-edge .react-flow__edge-textbg{fill:#fff;stroke:#e5dccd}.km-tree-card-relation.is-missing{color:#a33b2f!important}.km-tree-card.is-clickable{cursor:pointer}.km-tree-card.is-clickable:hover{border-color:var(--tree-gold);box-shadow:0 4px 12px #2a241c24}.km-tree-relationship{background:#fbf8f1;border:1px solid #e5dccd;border-radius:8px;padding:.75rem}.km-tree-popup{z-index:10;text-align:center;width:min(320px,100% - 2rem);color:var(--tree-ink);background:#fff;border:1px solid #e5dccd;border-radius:14px;justify-items:center;gap:.375rem;padding:1.25rem 1rem 1rem;display:grid;position:absolute;top:1rem;left:50%;transform:translate(-50%);box-shadow:0 12px 32px #0000002e}.km-tree-popup img,.km-tree-popup .km-tree-card-photo{object-fit:cover;border-radius:999px;width:84px;height:84px;font-size:1.75rem}.km-tree-popup h3{color:var(--km-deep,#073848);margin:.25rem 0 0;font-size:1.125rem}.km-tree-popup p{color:var(--tree-muted);margin:0;font-size:.9375rem}.km-tree-popup .km-tree-card-relation{font-size:.9375rem}.km-tree-popup-close{width:36px;height:36px;color:var(--tree-muted);cursor:pointer;background:0 0;border:0;font-size:1.5rem;line-height:1;position:absolute;top:.25rem;right:.25rem}.km-tree-toast{z-index:9;border:1px solid;border-radius:10px;align-items:flex-start;gap:.625rem;width:min(520px,100% - 1.5rem);padding:.625rem .75rem;font-size:.9375rem;line-height:1.35;display:flex;position:absolute;top:.75rem;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #00000024}.km-tree-toast p{flex:1;margin:0}.km-tree-toast>span{border-radius:999px;flex:none;place-items:center;width:1.5rem;height:1.5rem;font-size:.875rem;font-weight:800;display:grid}.km-tree-toast button{cursor:pointer;color:inherit;opacity:.7;background:0 0;border:0;flex:none;font-size:1.25rem;line-height:1}.km-tree-toast.is-busy{border-color:var(--tree-border);color:var(--tree-ink);background:#fff}.km-tree-toast.is-ok{color:#1d5a3a;background:#eaf7f0;border-color:#9fd6b8}.km-tree-toast.is-ok>span{color:#fff;background:#2f8a5a}.km-tree-toast.is-error{color:#8a2f25;background:#fdecea;border-color:#f0b4ab}.km-tree-toast.is-error>span{color:#fff;background:#a33b2f}.km-tree-field.is-invalid select,.km-tree-field.is-invalid input{border-color:#a33b2f;box-shadow:0 0 0 3px #a33b2f26}.km-tree-field-error{color:#a33b2f;font-weight:700}.km-tree-link-form{margin-top:.25rem}.km-tree-link-form label.is-invalid select,.km-tree-link-form label.is-invalid input{border-color:#a33b2f;box-shadow:0 0 0 3px #a33b2f26}.km-tree-link-form .km-btn{justify-self:start}.km-tree-invalid-box .km-tree-relation{border-color:#a33b2f;box-shadow:0 0 0 3px #a33b2f26}.km-tree-panel .km-tree-field,.km-tree-panel .km-tree-relation,.km-tree-panel .km-tree-form,.km-tree-panel .km-tree-section{min-width:0}.km-tree-panel input,.km-tree-panel select{min-width:0;max-width:100%}.km-tree-panel input[type=date]{padding:0 .375rem;font-size:.9375rem}@media (max-width:380px){.km-tree-field-row{grid-template-columns:minmax(0,1fr)}}
