.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:#555;--xy-background-pattern-lines-color-default:#333;--xy-background-pattern-cross-color-default:#333;--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;touch-action:none}.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))}:root,:root[data-theme=paper]{--paper:#f5f2ea;--surface:#fffdf8;--surface-2:#efeadf;--ink:#1f1d18;--muted:#6d675b;--line:#ddd5c5;--line-strong:#b9ae98;--accent:#2f6f4e;--accent-ink:#fff;--accent-soft:#e2eee6;--danger:#a33a2c;--danger-soft:#f6e3df;--male:#4b6f9e;--female:#a8566f;--other:#8a7a5c;--warn:#d48a1e;--warn-soft:#f8ead3;--shadow:0 1px 2px #2820100f, 0 4px 14px #28201012;--shadow-lift:0 2px 4px #28201014, 0 10px 26px #2820101f;--canvas-line:var(--line-strong);--radius:12px;--font:"Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-names:"Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=night]{--paper:#15140f;--surface:#1e1c16;--surface-2:#27241d;--ink:#ece6d8;--muted:#a39b8a;--line:#37332a;--line-strong:#5a5444;--accent:#6fbf93;--accent-ink:#0f1a13;--accent-soft:#1f3328;--danger:#e0806f;--danger-soft:#3a211c;--male:#7d9fcc;--female:#d18aa1;--other:#b8a77f;--warn:#e9a640;--warn-soft:#3a2c16;--shadow:0 1px 2px #0000004d, 0 4px 14px #00000040;--shadow-lift:0 2px 4px #00000059, 0 10px 26px #00000059;--canvas-line:var(--line-strong);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=plain]{--paper:#f7f8f6;--surface:#fff;--surface-2:#eef0ec;--ink:#1c2420;--muted:#5f6b64;--line:#d9ded9;--line-strong:#b3bcb5;--accent:#2a6b52;--accent-ink:#fff;--accent-soft:#e3efe8;--danger:#a33a2c;--danger-soft:#f6e3df;--male:#8a9aa8;--female:#b89aa0;--other:#a39c8f;--warn:#d48a1e;--warn-soft:#f8ead3;--shadow:0 1px 2px #141e190d, 0 4px 14px #141e190f;--shadow-lift:0 2px 4px #141e1914, 0 10px 26px #141e191f;--canvas-line:#c3cac5;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=slate]{--paper:#161a19;--surface:#1f2423;--surface-2:#272d2b;--ink:#e6ebe8;--muted:#98a39d;--line:#313937;--line-strong:#4b5653;--accent:#6fc39a;--accent-ink:#0f1a13;--accent-soft:#1f3328;--danger:#e0806f;--danger-soft:#3a211c;--male:#8fa3b3;--female:#c39aa5;--other:#a69f92;--warn:#e9a640;--warn-soft:#3a2c16;--shadow:0 1px 2px #0000004d, 0 4px 14px #00000040;--shadow-lift:0 2px 4px #00000059, 0 10px 26px #00000059;--canvas-line:#55605c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=archive]{--paper:#efe9dc;--surface:#faf6ee;--surface-2:#e6dfcf;--ink:#2a251c;--muted:#75705f;--line:#d4cab5;--line-strong:#a99c82;--accent:#8a4b2a;--accent-ink:#fff;--accent-soft:#f1e3d8;--danger:#a33a2c;--danger-soft:#f6e3df;--male:#6b7f8f;--female:#a6706f;--other:#8e8470;--warn:#c3821a;--warn-soft:#f3e4c8;--shadow:none;--shadow-lift:0 2px 4px #2820101a, 0 10px 26px #28201024;--canvas-line:#8f7f62;--radius:6px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=ember]{--paper:#1b1510;--surface:#241d16;--surface-2:#2d251c;--ink:#eadfcd;--muted:#a4967f;--line:#3b3126;--line-strong:#5c4e3c;--accent:#d98a5a;--accent-ink:#1b1510;--accent-soft:#3a2719;--danger:#e0806f;--danger-soft:#3a211c;--male:#7f93a3;--female:#c58c86;--other:#a89a7f;--warn:#e9a640;--warn-soft:#3a2c16;--shadow:none;--shadow-lift:0 2px 4px #00000059, 0 10px 26px #00000059;--canvas-line:#8f7f62;--radius:6px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--paper);color:var(--ink);font:15px/1.45 var(--font);-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--font-names);margin:0;font-weight:600;line-height:1.2}a{color:var(--accent)}.muted{color:var(--muted)}.btn{min-block-size:36px;color:var(--ink);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:9px;justify-content:center;align-items:center;gap:8px;padding-inline:14px;font-weight:550;text-decoration:none;transition:background .15s,border-color .15s,box-shadow .15s;display:inline-flex}.btn:disabled{opacity:.45;cursor:default}.btn--primary{background:var(--accent);color:var(--accent-ink)}.btn--primary:not(:disabled):hover{filter:brightness(1.07)}.btn--ghost:hover{background:var(--surface-2)}.btn--soft{background:var(--surface-2);border-color:var(--line);justify-content:flex-start}.btn--soft:not(:disabled):hover{border-color:var(--accent);color:var(--accent)}.btn--danger{color:var(--danger)}.btn--danger:hover{background:var(--danger-soft)}.btn--danger-solid{background:var(--danger);color:#fff}.btn--danger-solid:hover{filter:brightness(1.08)}.dialog{border:1px solid var(--line);background:var(--surface);inline-size:min(440px,100% - 32px);color:var(--ink);border-radius:18px;padding:0;box-shadow:0 24px 60px #00000059}.dialog[open]{animation:.16s ease-out dialog-in}.dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0f0d0a73}.dialog__card{gap:10px;padding:24px 24px 20px;display:grid}.dialog__card h2{font-size:21px}.dialog__card p{margin:0}.export-formats,.visibility-levels{gap:8px;display:grid}.export-format,.visibility-level{border:1px solid var(--line);cursor:pointer;border-radius:10px;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.export-format.is-on,.visibility-level.is-on{border-color:var(--accent);background:color-mix(in srgb, var(--accent-soft) 60%, transparent)}.export-format input,.visibility-level input{margin-block-start:3px}.export-format>span,.visibility-level>span{gap:2px;display:grid}.export-format .muted,.visibility-level .muted,.export-note{font-size:12.5px}.dialog__actions{justify-content:flex-end;gap:8px;margin-block-start:12px;display:flex}@keyframes dialog-in{0%{opacity:0;transform:translateY(6px)scale(.98)}}@media (prefers-reduced-motion:reduce){.dialog[open]{animation:none}}.btn--google{background:var(--surface);border-color:var(--line-strong);min-block-size:46px;inline-size:100%;box-shadow:var(--shadow)}.btn--google:hover{box-shadow:var(--shadow-lift)}input[type=search],.field input,.field textarea{border:1px solid var(--line);background:var(--surface);min-block-size:38px;inline-size:100%;color:var(--ink);font:inherit;border-radius:9px;padding-inline:11px}input:focus-visible,.btn:focus-visible,.segmented button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.field input::placeholder,input[type=search]::placeholder{color:var(--muted);opacity:.8}.fields{gap:14px;display:grid}.fields__row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.field{gap:5px;display:grid}.field textarea{resize:vertical;padding-block:9px;line-height:1.45}.field__label{color:var(--muted);font-size:12.5px;font-weight:600}.date-field{position:relative}.date-field__parts{grid-template-columns:3.4em minmax(0,1fr) 4.6em 28px;align-items:center;gap:6px;display:grid}.field .date-field__parts input{text-align:center;min-inline-size:0;padding-inline:8px}.field .date-field__native{opacity:0;pointer-events:none;border:0;block-size:1px;min-block-size:0;inline-size:1px;padding:0;position:absolute;inset-block-end:22px;inset-inline-end:0}.date-field__joiner{color:var(--muted);font-size:12.5px}.date-field__foot{align-items:baseline;gap:8px;min-block-size:18px;font-size:12.5px;display:flex}.date-field__preview{color:var(--muted)}.date-field__error{color:var(--danger)}.date-field__foot .link-btn{white-space:nowrap;margin-inline-start:auto;font-size:12.5px}.check{cursor:pointer;align-items:center;gap:8px;display:flex}.check input{accent-color:var(--accent);block-size:16px;inline-size:16px}.choice-list{gap:6px;display:grid}.segmented{background:var(--surface-2);border:1px solid var(--line);border-radius:10px;gap:2px;padding:3px;display:inline-flex}.segmented button{min-block-size:30px;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:7px;padding-inline:11px;font-size:13.5px;font-weight:550}.segmented button.is-on{background:var(--surface);color:var(--ink);box-shadow:var(--shadow)}.segmented--small button{min-block-size:26px;padding-inline:9px;font-size:12.5px}.lang-select{color:var(--muted);align-items:center;display:inline-flex;position:relative}.lang-select svg{pointer-events:none;position:absolute;inset-inline-start:9px}.lang-select select{appearance:none;border:1px solid var(--line);background:linear-gradient(45deg, transparent 50%, var(--muted) 50%) right 13px center / 5px 5px no-repeat, linear-gradient(-45deg, transparent 50%, var(--muted) 50%) right 9px center / 5px 5px no-repeat, var(--surface-2);min-block-size:32px;color:var(--ink);font:inherit;cursor:pointer;border-radius:9px;padding-inline:31px 26px;font-size:13.5px;font-weight:550}.lang-select select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.actions{flex-wrap:wrap;gap:8px;display:flex}.actions--split .btn--danger{margin-inline-start:auto}.alert{background:var(--danger-soft);color:var(--danger);border-radius:9px;margin:0;padding:10px 12px;font-size:14px}.card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:16px}.splash{text-align:center;block-size:100%;min-block-size:50vh;color:var(--muted);place-content:center;gap:8px;display:grid}.shell{grid-template-rows:auto 1fr;block-size:100%;display:grid}.shell__main{grid-template:minmax(0,1fr)/minmax(0,1fr);min-block-size:0;display:grid;position:relative}.chat{z-index:30;border-inline-end:1px solid var(--line);background:var(--surface);inline-size:min(380px,100%);box-shadow:var(--shadow-lift);flex-direction:column;display:flex;position:absolute;inset-block:0;inset-inline-start:0}.chat__bar{border-block-end:1px solid var(--line);gap:6px;padding:10px 14px;display:grid}.chat__bar--peer{gap:4px}.chat__note{color:var(--muted);margin:0;font-size:13px}.chat__body{flex:1;min-block-size:0;padding:12px 14px;overflow-y:auto}.chat__conversations{align-content:start;gap:12px;display:grid}.chat__list{margin:0;padding:0;list-style:none;display:grid}.chat__list button{border:0;border-block-end:1px solid var(--line);inline-size:100%;color:var(--ink);font:inherit;text-align:start;cursor:pointer;background:0 0;align-items:center;gap:8px;padding:10px 4px;display:flex}.chat__list button:hover{background:var(--surface-2)}.chat__list time{margin-inline-start:auto;font-size:13px}.chat__who--new{font-weight:700}.chat__dot{background:var(--warn);vertical-align:middle;border-radius:50%;block-size:8px;inline-size:8px;margin-inline-start:6px;display:inline-block}.chat__new-group{gap:10px;display:grid}.chat__pick-members{border:1px solid var(--line);border-radius:9px;gap:6px;max-block-size:220px;margin:0;padding:8px 10px;display:grid;overflow-y:auto}.chat__pick-members legend{color:var(--muted);padding-inline:4px;font-size:13px}.chat__rename{gap:6px;display:flex}.chat__rename input{border:1px solid var(--line-strong);background:var(--surface);min-block-size:34px;min-inline-size:0;color:var(--ink);font:inherit;border-radius:9px;flex:1;padding-inline:10px}.chat__rename-btn{margin-inline-start:10px;font-weight:400}.chat__members{gap:8px;display:grid}.chat__member-list{gap:4px;margin:0;padding:0;list-style:none;display:grid}.chat__member-list li{align-items:baseline;gap:8px;font-size:14px;display:flex}.chat__member-list .link-btn{margin-inline-start:auto}.link-btn.chat__leave{color:var(--danger)}.chat__earlier{margin:0 auto 10px;display:block}.chat__thread{gap:8px;margin:0;padding:0;list-style:none;display:grid}.chat__msg{background:var(--paper);border-radius:10px;padding:8px 12px}.chat__msg--mine{background:var(--accent-soft)}.chat__head{flex-wrap:wrap;align-items:baseline;gap:2px 10px;font-size:13px;display:flex}.chat__head>:first-child{font-weight:600}.chat__actions{opacity:0;gap:10px;margin-inline-start:auto;display:flex}.chat__msg:hover .chat__actions,.chat__msg:focus-within .chat__actions{opacity:1}.chat__flag{background:var(--danger-soft);color:var(--danger);border-radius:99px;padding:0 6px;font-size:12px}.chat__text{white-space:pre-wrap;overflow-wrap:anywhere;margin:4px 0 0}.chat__error{margin:0 14px 8px}.chat__compose{border-block-start:1px solid var(--line);align-items:end;gap:8px;padding:10px 14px;display:flex}.chat__note.chat__readonly{border-block-start:1px solid var(--line);padding:10px 14px}.chat__compose textarea{border:1px solid var(--line-strong);background:var(--surface);min-inline-size:0;color:var(--ink);font:inherit;resize:vertical;border-radius:10px;flex:1;padding:8px 10px}@media (hover:none){.chat__actions{opacity:1}}.topbar{background:var(--surface);border-block-end:1px solid var(--line);z-index:10;align-items:center;gap:16px;padding:10px 18px;display:flex;position:relative}.update-bar{background:var(--accent-soft);border-block-end:1px solid var(--line);color:var(--ink);justify-content:center;align-items:center;gap:14px 20px;padding:10px 18px;font-size:14px;display:flex}.update-bar__text{gap:4px;display:grid}.update-bar__notes{color:var(--muted);margin:0;padding-inline-start:18px;font-size:13px}.view-as{background:var(--warn-soft);border-block-end:2px solid var(--warn);justify-content:space-between;align-items:center;gap:12px;padding:6px 18px;font-size:13px;font-weight:600;display:flex}.menu{position:relative}.menu__list{z-index:20;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);min-inline-size:220px;box-shadow:var(--shadow-lift);padding:6px;display:grid;position:absolute;inset-block-start:calc(100% + 6px);inset-inline-end:0}.menu__list a{color:var(--ink);border-radius:8px;padding:8px 10px;text-decoration:none}.menu__list a:hover,.menu__list a:focus-visible{background:var(--accent-soft)}.wordmark{color:var(--accent);font-family:var(--font-names);white-space:nowrap;align-items:center;gap:9px;font-size:19px;font-weight:650;text-decoration:none;display:flex}.wordmark span{color:var(--ink)}.topbar__end{align-items:center;gap:6px;margin-inline-start:auto;display:flex}.search{flex:1;max-inline-size:420px;position:relative}.search__results{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-lift);border-radius:12px;margin:0;padding:5px;list-style:none;position:absolute;inset-block-start:calc(100% + 6px);inset-inline:0}.search__results button{inline-size:100%;color:var(--ink);font:inherit;text-align:start;cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:space-between;align-items:baseline;gap:12px;padding:8px 10px;display:flex}.search__results button span{font-family:var(--font-names);font-size:16px}.search__results button small{color:var(--muted);white-space:nowrap}.search__results button.is-active,.search__results button:hover{background:var(--surface-2)}.search__empty{color:var(--muted);padding:10px}.tree-page{grid-template-columns:1fr 380px;min-block-size:0;display:grid}.canvas-wrap{min-block-size:0;position:relative}.panel{background:var(--surface);border-inline-start:1px solid var(--line);overflow-y:auto}.tree-page--wide{grid-template-columns:1fr}.panel-open{z-index:6;border:1px solid var(--line);background:var(--surface);color:var(--ink);box-shadow:var(--shadow);cursor:pointer;border-radius:10px;align-items:center;gap:6px;padding:8px 10px;display:flex;position:absolute;inset-block-start:14px;inset-inline-end:14px}.tree-page--wide .timeline__zoom{inset-inline-end:70px}.panel__tabs{z-index:2;border-block-end:1px solid var(--line);background:var(--surface);align-items:center;gap:4px;padding:10px 14px 0;display:flex;position:sticky;inset-block-start:0}.panel__tabs [role=tab]{border:0;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border-block-end:2px solid #0000;align-items:center;gap:6px;padding:8px 12px 10px;font-weight:600;display:flex}.panel__tabs [role=tab].is-on{border-block-end-color:var(--accent);color:var(--ink)}.panel__hide{margin-inline-start:auto}.tab-badge{background:var(--accent);min-inline-size:18px;color:var(--accent-ink);text-align:center;border-radius:99px;padding:1px 6px;font-size:11px;font-weight:700}.upcoming{gap:18px;display:grid}.upcoming__kinds{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--line);color:var(--muted);font:inherit;cursor:pointer;background:0 0;border-radius:99px;padding:4px 10px;font-size:12.5px}.chip.is-on{background:var(--accent-soft);color:var(--accent);border-color:#0000}.upcoming__list{gap:6px;margin:8px 0 0;padding:0;list-style:none;display:grid}.upcoming__item{border:1px solid var(--line);border-inline-start:4px solid var(--accent);background:var(--surface);inline-size:100%;color:var(--ink);font:inherit;text-align:start;cursor:pointer;border-radius:10px;align-items:center;gap:12px;padding:8px 10px;display:flex}.upcoming__item:hover{background:var(--surface-2)}.upcoming__item--anniversary{border-inline-start-color:var(--female)}.upcoming__item--remembrance{border-inline-start-color:var(--line-strong)}.upcoming__faces{flex:none;display:flex}.upcoming__faces>*+*{margin-inline-start:-10px}.upcoming__avatar{border:2px solid var(--surface);background:var(--surface-2);block-size:36px;inline-size:36px;color:var(--muted);border-radius:50%;place-content:center;font-size:12px;font-weight:650;display:grid;overflow:hidden}.upcoming__avatar img{object-fit:cover;block-size:100%;inline-size:100%}.upcoming__text{gap:2px;min-inline-size:0;display:grid}.upcoming__text .muted{font-size:12.5px}.upcoming__hint{font-size:12px}.history summary,.blocks summary,.visibility summary{cursor:pointer;color:var(--muted);list-style-position:inside}.history summary h3,.blocks summary h3,.visibility summary h3{display:inline}.blocks,.visibility{gap:8px;display:grid}.history__list{gap:10px;margin:10px 0 0;padding:0;list-style:none;display:grid}.history__item{border-inline-start:2px solid var(--line);gap:2px;padding-inline-start:10px;display:grid}.history__item--delete,.history__item--unlink{border-inline-start-color:var(--line-strong)}.history__item .muted{font-size:12.5px}.history__fields{color:var(--muted);overflow-wrap:anywhere;margin:0;padding:0;font-size:13px;list-style:none}.panel__body{gap:22px;padding:22px 22px 28px;display:grid}.panel__head{border-inline-start:4px solid var(--other);gap:4px;padding-inline-start:12px;display:grid}.panel__head.sex-M{border-color:var(--male)}.panel__head.sex-F{border-color:var(--female)}.panel__head h2{font-size:26px}.panel__head p{align-items:center;gap:8px;margin:0;display:flex}.panel h3{font-family:var(--font);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-block-end:8px;font-size:12px;font-weight:650}.facts{gap:8px;margin:0;display:grid}.fact{grid-template-columns:110px 1fr;gap:10px;display:grid}.fact dt{color:var(--muted)}.fact dd{margin:0}.plain{gap:4px;margin:0;padding:0;list-style:none;display:grid}.notes{white-space:pre-wrap;margin:0}.add-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.add-grid__item{display:grid}.items{gap:6px;margin:0 0 10px;padding:0;list-style:none;display:grid}.item{border:1px solid var(--line);background:var(--paper);border-radius:10px;align-items:flex-start;gap:8px;padding:9px 10px 9px 12px;display:flex}.item__main{flex:1;gap:2px;min-inline-size:0;display:grid}.item__label{letter-spacing:.02em;color:var(--muted);font-size:12px;font-weight:650}.item__notes{color:var(--muted);white-space:pre-wrap;font-size:13px}.item__actions{opacity:.55;gap:2px;transition:opacity .15s;display:flex}.item:hover .item__actions,.item:focus-within .item__actions{opacity:1}.icon-btn{block-size:28px;inline-size:28px;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:7px;place-content:center;font-size:15px;display:grid}.icon-btn:hover{background:var(--surface-2);color:var(--ink)}.icon-btn--danger:hover{background:var(--danger-soft);color:var(--danger)}.link-btn{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:0;justify-self:start;padding:0;font-size:13px}.link-btn:hover{text-decoration:underline}.btn--add{justify-content:flex-start;inline-size:100%}.inline-form__title{margin:0;font-weight:650}.item--key{background:0 0;border-style:dashed}.inline-form{border:1px solid var(--accent);background:color-mix(in srgb, var(--accent-soft) 35%, var(--surface));border-radius:12px;gap:12px;margin-block-end:10px;padding:14px;display:grid}.partners{gap:14px;display:grid}.partnership{gap:8px;display:grid}.partnership__head{justify-content:space-between;align-items:center;gap:10px;display:flex}.partnership__head strong{font-family:var(--font-names);margin-inline-end:auto;font-size:16px}.select--inline{min-block-size:32px;inline-size:auto;font-size:13.5px}@media (width<=860px){.tree-page{grid-template-rows:minmax(420px,1fr) auto;grid-template-columns:1fr}.panel{border-inline-start:0;border-block-start:1px solid var(--line)}.topbar{flex-wrap:wrap;padding-inline:16px}.topbar__end{flex-wrap:wrap;justify-content:flex-end;min-inline-size:0}.search{flex-basis:100%;order:3;max-inline-size:none}}.react-flow{--xy-background-color:var(--paper);--xy-edge-stroke:var(--line-strong);--xy-controls-button-background-color:var(--surface);--xy-controls-button-background-color-hover:var(--surface-2);--xy-controls-button-color:var(--ink);--xy-controls-button-border-color:var(--line);--xy-attribution-background-color:transparent}.canvas-bg{--xy-background-pattern-color:var(--line)}.react-flow__controls{box-shadow:var(--shadow);border-radius:10px;overflow:hidden}.edge path{stroke:var(--canvas-line);stroke-width:1.6px}.edge--partner path{stroke-width:2px}.edge--ended path{stroke-dasharray:7 5}.react-flow__node{cursor:pointer}.tile{background:var(--surface);border:1px solid var(--line);border-inline-start:4px solid var(--other);border-radius:var(--radius);block-size:100%;inline-size:100%;box-shadow:var(--shadow);align-items:center;gap:12px;padding:10px 14px 10px 12px;transition:box-shadow .15s,transform .15s;display:flex}.react-flow__node:hover .tile:not(.tile--add){box-shadow:var(--shadow-lift);transform:translateY(-1px)}.tile.sex-M{border-inline-start-color:var(--male)}.tile.sex-F{border-inline-start-color:var(--female)}.tile__avatar{background:var(--surface-2);block-size:44px;inline-size:44px;color:var(--muted);letter-spacing:.02em;border-radius:50%;flex:none;place-content:center;font-size:15px;font-weight:650;display:grid}.sex-M .tile__avatar{background:color-mix(in srgb, var(--male) 16%, var(--surface));color:var(--male)}.sex-F .tile__avatar{background:color-mix(in srgb, var(--female) 16%, var(--surface));color:var(--female)}.tile__text{min-inline-size:0;display:grid}.tile__given,.tile__surname{white-space:nowrap;text-overflow:ellipsis;font-family:var(--font-names);line-height:1.2;overflow:hidden}.tile__given{font-size:16px;font-weight:650}.tile__surname{font-size:15px}.tile__meta{color:var(--muted);white-space:nowrap;align-items:center;gap:6px;margin-block-start:3px;font-size:12.5px;display:flex}.tile__badge{background:var(--surface-2);color:var(--muted);border-radius:99px;padding:1px 7px;font-size:11px;font-weight:600}.tile__badge--me{background:var(--accent-soft);color:var(--accent)}.tile--deceased .tile__avatar{filter:grayscale(.6)}.tile--focus{border-width:2px;border-inline-start-width:5px;border-color:var(--accent);box-shadow:0 0 0 5px var(--accent-soft), var(--shadow-lift)}.tile--focus .tile__avatar{block-size:56px;inline-size:56px;font-size:18px}.tile--focus .tile__given{font-size:19px}.tile--focus .tile__surname{font-size:17px}.tile--selected{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft), var(--shadow-lift)}.tile--far{border-inline-start-width:10px;padding-inline:14px}.tile__maiden{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;font-style:italic;line-height:1.2;overflow:hidden}.tile--far .tile__maiden{display:none}.panel__maiden{color:var(--muted);font-family:var(--font-names);margin:0;font-size:15px}.tile--far .tile__avatar,.tile--far .tile__meta{display:none}.tile--far .tile__avatar:has(img){block-size:56px;inline-size:56px;display:grid}.tile--far .tile__given{font-size:30px;line-height:1.05}.tile--far .tile__surname{font-size:24px;line-height:1.1}.tile--far.tile--selected{box-shadow:0 0 0 14px var(--accent-soft)}.tile--dimmed{opacity:.5;box-shadow:none;border-style:dashed}.tile--dimmed.tile--selected{opacity:.85}.view-controls{z-index:5;flex-wrap:wrap;gap:8px;max-inline-size:calc(100% - 28px);display:flex;position:absolute;inset-block-start:14px;inset-inline-start:14px}.view-controls .segmented{box-shadow:var(--shadow);background:var(--surface)}.canvas-note{z-index:5;background:var(--surface);border:1px solid var(--line);max-inline-size:320px;box-shadow:var(--shadow);color:var(--muted);border-radius:10px;padding:8px 12px;font-size:13px;position:absolute;inset-block-end:14px;inset-inline-end:14px}.timeline{--name-w:220px;background:var(--paper);flex-direction:column;padding-block-start:62px;display:flex;position:absolute;inset:0}.timeline__zoom{z-index:5;border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:10px;gap:2px;padding:3px;display:flex;position:absolute;inset-block-start:14px;inset-inline-end:14px}.timeline__scroll{flex:1;min-block-size:0;overflow:auto}.timeline__axis,.timeline__body{inline-size:calc(var(--name-w) + var(--chart-w) + 24px)}.timeline__axis{z-index:3;background:var(--paper);border-block-end:1px solid var(--line);block-size:28px;display:flex;position:sticky;inset-block-start:0}.timeline__corner{z-index:1;inline-size:var(--name-w);background:var(--paper);flex:none;position:sticky;inset-inline-start:0}.timeline__years{inline-size:var(--chart-w);flex:none;position:relative}.timeline__tick{color:var(--muted);font-variant-numeric:tabular-nums;font-size:11.5px;position:absolute;inset-block-end:5px;transform:translate(-50%)}.timeline__body{position:relative}.timeline__rows{margin:0;padding:0;list-style:none}.timeline__row{block-size:34px;display:flex}.timeline__name{z-index:2;inline-size:var(--name-w);border:0;border-inline-start:3px solid var(--other);border-inline-end:1px solid var(--line);border-block-end:1px solid color-mix(in srgb, var(--line) 50%, transparent);background:var(--surface);color:var(--ink);font:inherit;text-align:start;cursor:pointer;flex:none;align-items:center;gap:6px;padding-inline-end:10px;display:flex;position:sticky;inset-inline-start:0}.timeline__row.sex-M .timeline__name{border-inline-start-color:var(--male)}.timeline__row.sex-F .timeline__name{border-inline-start-color:var(--female)}.timeline__given{min-inline-size:0;font-family:var(--font-names);white-space:nowrap;text-overflow:ellipsis;font-size:14.5px;overflow:hidden}.timeline__dates{color:var(--muted);font-variant-numeric:tabular-nums;flex:none;margin-inline-start:auto;font-size:11.5px}.timeline__track{inline-size:var(--chart-w);background-image:repeating-linear-gradient(to right, color-mix(in srgb, var(--line) 60%, transparent) 0 1px, transparent 1px calc(var(--ppy) * 10));background-position-x:var(--pad);cursor:pointer;flex:none;position:relative}.timeline__row:hover .timeline__name,.timeline__row:hover .timeline__track{background-color:color-mix(in srgb, var(--accent-soft) 45%, var(--surface))}.timeline__row.is-selected .timeline__name,.timeline__row.is-selected .timeline__track{background-color:var(--accent-soft)}.timeline__row.is-dimmed{opacity:.55}.timeline__bar{--fade-s:0px;--fade-e:0px;background:color-mix(in srgb, var(--other) 60%, var(--surface));block-size:16px;-webkit-mask-image:linear-gradient(to right, transparent 0, #000 var(--fade-s), #000 calc(100% - var(--fade-e)), transparent 100%);-webkit-mask-image:linear-gradient(to right, transparent 0, #000 var(--fade-s), #000 calc(100% - var(--fade-e)), transparent 100%);mask-image:linear-gradient(to right, transparent 0, #000 var(--fade-s), #000 calc(100% - var(--fade-e)), transparent 100%);border-radius:8px;position:absolute;inset-block-start:9px}.timeline__row.sex-M .timeline__bar{background:color-mix(in srgb, var(--male) 60%, var(--surface))}.timeline__row.sex-F .timeline__bar{background:color-mix(in srgb, var(--female) 60%, var(--surface))}.timeline__bar.start-approx{--fade-s:14px}.timeline__bar.end-approx{--fade-e:14px}.timeline__bar.start-unknown{--fade-s:75%}.timeline__bar.end-unknown{--fade-e:75%}.timeline__bar.end-living{border-start-end-radius:0;border-end-end-radius:0}.timeline__marriage{border:2px solid var(--ink);background:var(--surface);border-radius:50%;block-size:10px;inline-size:10px;margin-inline-start:-5px;position:absolute;inset-block-start:12px}.timeline__now{z-index:1;border-inline-start:1.5px dashed var(--accent);pointer-events:none;position:absolute;inset-block:0}@media (width<=700px){.timeline{--name-w:150px}.timeline__dates{display:none}.topbar--narrow{gap:10px 12px;padding:8px 12px}.topbar--narrow .topbar__menu{order:2;margin-inline-start:auto}.topbar--narrow .search{order:3}.menu__list--bar{max-block-size:calc(100vh - 80px);min-inline-size:240px;overflow-y:auto}.menu__list--bar .btn,.menu__list--bar .lang-select{text-align:start;justify-content:flex-start;inline-size:100%}.tree-page,.tree-page--wide{grid-template-rows:minmax(0,1fr);grid-template-columns:1fr;position:relative}.tree-page--sheet .panel{z-index:7;border-inline-start:0;border-block-start:1px solid var(--line);block-size:44%;box-shadow:var(--shadow-lift);border-start-start-radius:14px;border-start-end-radius:14px;transition:block-size .2s;position:absolute;inset-block-end:0;inset-inline:0}.tree-page--sheet-full .panel{block-size:calc(100% - 52px)}.tree-page--sheet .react-flow__panel.bottom,.tree-page--sheet .canvas-note{inset-block-end:calc(44% + 10px);bottom:calc(44% + 10px)}.tree-page--sheet-full .react-flow__panel.bottom,.tree-page--sheet-full .canvas-note{display:none}.panel-open{inset-block:auto 14px}.view-controls{gap:6px;max-inline-size:calc(100% - 20px);inset-block-start:10px;inset-inline-start:10px}.panel__tabs{padding-inline:10px}.panel__tabs [role=tab]{padding-inline:9px}.panel__sheet{margin-inline-start:auto}.panel__sheet+.panel__hide{margin-inline-start:0}.person-card{max-inline-size:calc(100vw - 32px)}}.year-line{border-block-start:1px dashed color-mix(in srgb, var(--line-strong) 45%, transparent);pointer-events:none;position:absolute;inset-block-start:0;inset-inline-start:0}.year-ruler{z-index:4;background:linear-gradient(to right, var(--paper) 55%, transparent);pointer-events:none;inline-size:52px;position:absolute;inset-block:0;inset-inline-start:0;overflow:hidden}.year-ruler span{color:var(--muted);font-variant-numeric:tabular-nums;font-size:11.5px;position:absolute;inset-inline-start:8px;transform:translateY(-50%)}.tile--off-year{border-style:dashed}.person-card{border:1px solid var(--line);border-inline-start:4px solid var(--other);border-radius:var(--radius);background:var(--surface);inline-size:300px;max-inline-size:calc(100vw - 32px);box-shadow:var(--shadow-lift);color:var(--ink);cursor:auto;gap:10px;padding:14px 14px 12px;font-size:13px;display:grid}.person-card.sex-M{border-inline-start-color:var(--male)}.person-card.sex-F{border-inline-start-color:var(--female)}.person-card__head{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.person-card__head div{gap:2px;display:grid}.person-card__head strong{font-family:var(--font-names);font-size:17px;line-height:1.25}.person-card__facts{grid-template-columns:max-content 1fr;gap:6px 12px;margin:0;display:grid}.person-card__facts dt{color:var(--muted);font-size:12px;font-weight:600}.person-card__facts dd{overflow-wrap:anywhere;margin:0}.person-card__line{display:block}.person-card__edit{justify-self:start}.tile__avatar{overflow:hidden}.tile__avatar img,.person-card__picture img{object-fit:cover;block-size:100%;inline-size:100%;display:block}.panel__picture{object-fit:cover;block-size:72px;inline-size:72px;box-shadow:var(--shadow);border-radius:50%;margin-block-end:6px}.person-card__picture{border-radius:50%;flex:none;block-size:48px;inline-size:48px;overflow:hidden}.person-card__head{justify-content:flex-start}.person-card__head>.icon-btn{margin-inline-start:auto}.photo-strip{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.photo-strip__thumb{border:1px solid var(--line);background:var(--surface-2);cursor:zoom-in;border-radius:10px;block-size:84px;inline-size:84px;padding:0;position:relative;overflow:hidden}.photo-strip__thumb img{object-fit:cover;block-size:100%;inline-size:100%}.photo-strip--compact .photo-strip__thumb{border-radius:8px;block-size:52px;inline-size:52px}.photo-strip__badge{color:#fff;text-align:center;background:#0000008c;border-radius:6px;padding:1px 4px;font-size:10.5px;font-weight:600;position:absolute;inset-block-end:4px;inset-inline:4px}.photo-strip__add{border:1px dashed var(--line-strong);block-size:84px;inline-size:84px;color:var(--muted);font:inherit;text-align:center;cursor:pointer;background:0 0;border-radius:10px;place-content:center;padding:6px;font-size:12.5px;display:grid}.photo-strip__add:hover{color:var(--accent);border-color:var(--accent)}.photo-strip .alert{flex-basis:100%}.photo-strip__note{font-size:12px}.item__main .photo-strip{margin-block-start:6px}.photo-viewer{inline-size:min(880px,100% - 32px)}.photo-viewer__card{gap:12px;padding:16px 18px 18px}.photo-viewer__head{justify-content:space-between;align-items:center;gap:8px;display:flex}.photo-viewer__image{background:var(--surface-2);cursor:zoom-in;border-radius:10px;place-items:center;display:grid;overflow:hidden}.photo-viewer__image img{max-block-size:64vh;max-inline-size:100%;display:block}.photo-viewer__title{gap:8px;display:flex}.photo-viewer__title input{border:1px solid var(--line);background:var(--surface);min-block-size:36px;color:var(--ink);font:inherit;border-radius:9px;flex:1;padding-inline:10px}.photo-viewer__actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.photo-viewer__actions .select--inline{inline-size:auto}.photo-viewer__spacer{flex:1}.cropper{gap:12px;display:grid}.cropper p{margin:0}.cropper__frame{inline-size:100%;max-inline-size:calc(64vh * var(--ratio,1.5));-webkit-user-select:none;user-select:none;touch-action:none;border-radius:10px;justify-self:center;position:relative;overflow:hidden}.cropper__frame img{block-size:100%;inline-size:100%;display:block}.cropper__box{cursor:move;outline:2px solid #fff;position:absolute;box-shadow:0 0 0 9999px #00000080}.cropper__circle{pointer-events:none;border:1px dashed #fffc;border-radius:50%;position:absolute;inset:0}.tile{position:relative}.tile__gaps{border:2px solid var(--paper);background:var(--warn);color:#1f1d18;border-radius:99px;place-content:center;block-size:20px;min-inline-size:20px;padding-inline:5px;font-size:11px;font-weight:700;line-height:1;display:grid;position:absolute;inset-block-start:-8px;inset-inline-end:-8px}.member-star{border:2px solid var(--paper);background:var(--accent);block-size:22px;inline-size:22px;color:var(--paper);border-radius:99px;place-content:center;font-size:12px;line-height:1;display:grid;position:absolute;inset-block-start:-9px;inset-inline-start:-9px}.candle{border:2px solid var(--paper);background:#2a1e14;border-radius:99px;place-content:center;block-size:22px;inline-size:22px;display:grid;position:absolute;inset-block-start:-9px;inset-inline-start:-9px}.candle__flame{fill:#d98a5a;transform-origin:50% 90%;animation:2.6s ease-in-out infinite flicker}.candle__wax{fill:#c9b79a;opacity:.9}@keyframes flicker{0%,to{opacity:.95;transform:scale(1)translateY(0)}30%{opacity:1;transform:scale(1.08,1.14)translateY(-.4px)}55%{opacity:.8;transform:scale(.94,.9)translateY(.3px)}80%{opacity:.95;transform:scale(1.04,1.06)translateY(-.2px)}}@media (prefers-reduced-motion:reduce){.candle__flame{animation:none}}.tile--far .candle{border-width:4px;block-size:44px;inline-size:44px;inset-block-start:-18px;inset-inline-start:-18px}.tile--far .candle svg{width:24px;height:24px}.member-star--admin{color:#1f1d18;background:#c9a227}.tile--far .member-star{border-width:4px;block-size:44px;inline-size:44px;font-size:24px;inset-block-start:-18px;inset-inline-start:-18px}.member-star-inline{color:var(--accent);vertical-align:.1em;margin-inline-start:6px;font-size:.8em}.member-star-inline--admin{color:#c9a227}.tile--far .tile__gaps{border-width:4px;block-size:44px;min-inline-size:44px;font-size:24px;inset-block-start:-18px;inset-inline-end:-18px}.pick{gap:8px;display:grid}.pick__list{gap:4px;max-block-size:280px;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.pick__list button{border:1px solid var(--line);background:var(--surface);inline-size:100%;color:var(--ink);font:inherit;text-align:start;cursor:pointer;border-radius:10px;padding:6px 8px}.pick__list button:hover{background:var(--surface-2)}.pick--chosen{border:1px solid var(--accent);background:color-mix(in srgb, var(--accent-soft) 50%, transparent);border-radius:10px;justify-content:space-between;align-items:center;padding:8px 10px;display:flex}.pick__row{align-items:center;gap:10px;display:flex}.pick__avatar{background:var(--surface-2);block-size:34px;inline-size:34px;color:var(--muted);border-radius:50%;flex:none;place-content:center;font-size:12px;font-weight:650;display:grid;overflow:hidden}.pick__avatar img{object-fit:cover;block-size:100%;inline-size:100%}.pick__text{display:grid}.pick__text .muted{font-size:12px}.missing{border-inline-start:3px solid var(--warn);background:var(--warn-soft);border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px 8px 12px;font-size:13px;display:flex}.missing .btn{flex:none}.person-card__missing{background:var(--warn-soft);border-radius:8px;margin:0;padding:6px 8px;font-size:12.5px}.tile--add{border:1.5px dashed var(--line-strong);box-shadow:none;color:var(--muted);background:0 0;justify-content:center;gap:8px;font-size:14px;font-weight:550}.react-flow__node:hover .tile--add{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb, var(--accent-soft) 55%, transparent)}.tile--add__plus{font-size:20px;line-height:1}.union-dot{background:var(--line-strong);border-radius:50%;block-size:100%;inline-size:100%}.login{place-items:center;min-block-size:100%;padding:24px 16px;display:grid;position:relative;overflow:hidden}.login__lang{z-index:1;position:absolute;inset-block-start:16px;inset-inline-end:16px}.login__card{z-index:1;text-align:center;background:color-mix(in srgb, var(--surface) 92%, transparent);border:1px solid var(--line);inline-size:min(420px,100%);box-shadow:var(--shadow-lift);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:20px;gap:14px;padding:36px 32px 32px;display:grid;position:relative}.login__mark{background:var(--accent-soft);block-size:56px;inline-size:56px;color:var(--accent);border-radius:16px;place-content:center;margin-inline:auto;display:grid}.login__mark svg{block-size:32px;inline-size:32px}.login__brand{color:var(--accent);letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:12.5px;font-weight:700}.login h1{font-size:30px}.login__subtitle{color:var(--muted);margin:0 0 10px}.login__art{opacity:.55;block-size:100%;inline-size:100%;position:absolute;inset:0}.login__art-lines path{fill:none;stroke:var(--line-strong);stroke-width:1.5px}.login__art-tiles rect{fill:var(--surface);stroke:var(--line)}.error-page__actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.error-page__details{text-align:start;color:var(--muted);margin-top:18px;font-size:12px}.error-page__details pre{white-space:pre-wrap;word-break:break-word;max-height:220px;overflow:auto}.start{place-items:start center;gap:24px;padding:48px 16px;display:grid;overflow-y:auto}.start__card{gap:18px;inline-size:min(560px,100%);padding:30px;display:grid}.start__card h1{font-size:28px}.start__card>p{margin:-8px 0 0}.field__help{color:var(--muted);font-size:12px}.assoc-list{gap:6px;margin:0 0 10px;padding:0;list-style:none;display:grid}.assoc-list li{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.assoc-list li>.inline-form{flex:1}.assoc-list__actions{white-space:nowrap;gap:10px;display:flex}.pet-list{gap:4px;margin:0 0 10px;padding:0;list-style:none;display:grid}.pet-list__row{inline-size:100%;color:inherit;font:inherit;text-align:start;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:10px;padding:4px 6px;display:flex}.pet-list__row:hover,.pet-list__row[aria-expanded=true]{background:var(--surface-2)}.pet-list__avatar{background:var(--surface-2);block-size:34px;inline-size:34px;color:var(--muted);border-radius:10px;flex:none;place-content:center;font-size:12px;font-weight:650;display:grid;overflow:hidden}.pet-list__avatar img{object-fit:cover;block-size:100%;inline-size:100%}.pet-list__text{display:grid}.pet-list__text .muted{font-size:12px}.pet-card{border-inline-start:2px solid var(--line);gap:10px;margin:4px 0 12px;padding:10px 12px;display:grid}.pet-card__notes{white-space:pre-wrap;margin:0}.tile--pet{border-inline-start-width:1px;border-style:dashed;gap:10px;padding:6px 10px}.tile--pet .tile__avatar{border-radius:10px;block-size:36px;inline-size:36px;overflow:hidden}.edge--associate path{stroke-dasharray:2 6;stroke-linecap:round}.edge-caption{background:var(--paper);color:var(--muted);pointer-events:none;white-space:nowrap;border-radius:99px;padding:1px 6px;font-size:11px;position:absolute}.person-card--pet{min-inline-size:220px;max-inline-size:300px}.person-card--pet .person-card__head span{font-size:12.5px;display:block}.research__findings{gap:8px;margin:0 0 10px;padding-inline-start:18px;display:grid}.research__findings p{margin:2px 0 0;font-size:13px}.members__list{gap:14px;margin:0;padding:0;list-style:none;display:grid}.member{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);gap:8px;padding:12px 14px;display:grid}.member--disabled{opacity:.6}.member__head{flex-wrap:wrap;align-items:baseline;gap:4px 10px;display:flex}.member__head strong{align-items:center;gap:6px;display:inline-flex}.member__facts{grid-template-columns:auto 1fr;gap:2px 14px;margin:0;font-size:13.5px;display:grid}.member__facts dt{color:var(--muted)}.member__facts dd{margin:0}.member__activity{border-block-start:1px solid var(--line);gap:8px;padding-block-start:6px;display:grid}.feedback__head{flex-wrap:wrap;align-items:baseline;gap:4px 10px;font-size:13px;display:flex}.feedback__body{white-space:pre-wrap;overflow-wrap:anywhere;margin:4px 0 0}.request--done{opacity:.6}.start__card--wide{inline-size:min(760px,100%)}.start__card--center{text-align:center;color:var(--muted);justify-items:center}.requests{gap:12px;margin:0;padding:0;list-style:none;display:grid}.request{border-inline-start:2px solid var(--accent);overflow-wrap:anywhere;gap:4px;padding-inline-start:10px;display:grid}.request .muted{font-size:12.5px}.request--approved,.request--auto,.request--rejected,.request--conflict,.request--lapsed,.request--withdrawn,.request--failed{border-inline-start-color:var(--line)}.request__status{font-size:13px;font-weight:600}.request__reject{gap:8px;display:grid}.request__reject input{border:1px solid var(--line);background:var(--surface);color:inherit;font:inherit;border-radius:8px;padding:7px 10px}.sent-notice{z-index:50;background:var(--surface);border:1px solid var(--line);max-inline-size:min(560px,100vw - 32px);box-shadow:var(--shadow);border-radius:12px;align-items:center;gap:10px;padding:10px 12px 10px 16px;font-size:14px;display:flex;position:fixed;inset-block-end:20px;inset-inline-start:50%;transform:translate(-50%)}.photo-viewer__ask{gap:8px;margin-block-start:10px;display:grid}.photo-viewer__ask label{gap:6px;font-size:14px;display:grid}.photo-viewer__ask textarea{border:1px solid var(--line);background:var(--surface);color:inherit;font:inherit;resize:vertical;border-radius:8px;padding:8px 10px}.tile--hidden{opacity:.75;border-style:dashed}.tile--hidden .tile__avatar{visibility:hidden}.legal{justify-items:center;gap:20px;block-size:100%;padding:20px 16px 48px;display:grid;overflow-y:auto}.legal__head{justify-content:space-between;align-items:center;gap:12px;inline-size:min(760px,100%);display:flex}.legal__body{overflow-wrap:anywhere;inline-size:min(760px,100%);line-height:1.6}.legal__body h1{margin-block:0 8px;font-size:30px}.legal__body h2{margin-block:28px 8px;font-size:19px}.legal__body ul{padding-inline-start:22px}.legal__body li{margin-block:4px}.legal__note{background:var(--surface-2);border-radius:9px;padding:10px 12px;font-size:14px}.legal__nav{border-block-start:1px solid var(--line);flex-wrap:wrap;gap:16px;inline-size:min(760px,100%);padding-block-start:12px;font-size:14px;display:flex}.login__note{background:var(--accent-soft);border-radius:10px;margin:0 0 6px;padding:8px 12px;font-size:14px}.invite-link{gap:8px;display:flex}.invite-link input{border:1px solid var(--line-strong);background:var(--surface);min-inline-size:0;color:var(--ink);border-radius:8px;flex:1;padding:7px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px}.login__legal{color:var(--muted);margin:0;font-size:13px}.terms-gate__lang{justify-self:end}.terms-gate__links{gap:18px;margin:0;padding:0;list-style:none;display:flex}.terms-gate__lead{margin-block:16px 4px;font-weight:600}.terms-gate__points{color:var(--muted);gap:6px;margin:0 0 16px;padding-inline-start:20px;font-size:14px;display:grid}.terms-gate__check{cursor:pointer;align-items:flex-start;gap:10px;line-height:1.45;display:flex}.terms-gate__check input{flex:none;block-size:18px;inline-size:18px;margin-block-start:3px}.follow{flex-wrap:wrap;gap:6px;margin-block-start:6px;display:flex}.follow__btn{padding-block:4px;font-size:13px}.follow__btn.is-on{border-color:var(--accent);color:var(--accent)}.upcoming__scope{margin-block-end:10px}.search-elsewhere{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.search-elsewhere a{padding-block:5px;font-size:13px;text-decoration:none}.search-elsewhere__hint{margin:0 0 8px;font-size:13px}.owner-note{margin:0;font-size:13px}.trash{gap:0;margin:0;padding:0;list-style:none;display:grid}.trash__item{border-block-start:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;padding-block:12px;display:flex}.trash__what{overflow-wrap:anywhere;gap:2px;min-inline-size:0;display:grid}.trash__what .muted{font-size:12.5px}.trash__kind{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:12px}.trash__done{background:var(--surface-2);border-radius:9px;margin:0;padding:10px 12px;font-size:14px}.dropzone{border:2px dashed var(--line-strong);color:var(--muted);text-align:center;cursor:pointer;border-radius:14px;place-items:center;gap:6px;padding:34px 16px;transition:border-color .15s,background .15s;display:grid;position:relative}.dropzone:hover,.dropzone:focus-within{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb, var(--accent-soft) 45%, transparent)}.dropzone--chosen{border-style:solid;border-color:var(--accent);color:var(--ink)}.dropzone input{opacity:0;cursor:pointer;position:absolute;inset:0}.dropzone__icon{font-size:28px;line-height:1}.spinner{border:3px solid var(--line);border-block-start-color:var(--accent);border-radius:50%;block-size:34px;inline-size:34px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.import-summary__lead{font-family:var(--font-names);margin:0;font-size:18px}.import-notes{color:var(--muted);gap:4px;margin:8px 0 0;padding-inline-start:18px;font-size:14px;display:grid}.import-section{border-block-start:1px solid var(--line);gap:8px;padding-block-start:16px;display:grid}.import-section h2{font-size:19px}.import-section p{margin:0}details.import-section summary{cursor:pointer;font-weight:600}.select{border:1px solid var(--line);background:var(--surface);min-block-size:38px;inline-size:100%;color:var(--ink);font:inherit;border-radius:9px;padding-inline:10px}.match-list,.people-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.match{border:1px solid var(--line);background:var(--surface-2);border-radius:10px;grid-template-columns:1fr minmax(220px,1fr);align-items:center;gap:12px;padding:10px 12px;display:grid}.match__who{display:grid}.match__who strong{font-family:var(--font-names)}.people-list{gap:2px;max-block-size:320px;padding-block:6px;overflow-y:auto}.people-list li{border-inline-start:3px solid var(--other);padding:4px 10px}.people-list li.sex-M{border-color:var(--male)}.people-list li.sex-F{border-color:var(--female)}@media (width<=520px){.fields__row,.add-grid,.match{grid-template-columns:1fr}}:root[data-theme=plain] .canvas-bg,:root[data-theme=slate] .canvas-bg,:root[data-theme=archive] .canvas-bg,:root[data-theme=ember] .canvas-bg{display:none}:root[data-theme=archive] .react-flow{background-image:repeating-linear-gradient(0deg,#00000005 0 1px,#0000 1px 28px)}:root[data-theme=ember] .react-flow{background-image:repeating-linear-gradient(0deg,#ffffff06 0 1px,#0000 1px 28px)}:root[data-theme=plain] .edge path,:root[data-theme=slate] .edge path{stroke-width:1.2px}:root[data-theme=plain] .tile,:root[data-theme=slate] .tile{border-inline-start-width:3px}:root[data-theme=archive] .tile,:root[data-theme=ember] .tile{border:1px solid var(--line-strong);box-shadow:none}:root[data-theme=archive] .union-dot,:root[data-theme=ember] .union-dot{visibility:hidden}
