html,body,#root{width:100%;min-width:320px;min-height:100%;margin:0;padding:0}body{min-height:100vh}.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))}.tree-page{width:100%}.tree-page-heading{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:22px;display:flex}.tree-page-heading h2{color:#184d3b;margin:4px 0 6px;font-family:Georgia,Times New Roman,serif;font-size:clamp(28px,3vw,42px);line-height:1.08}.tree-page-heading p{color:#687069;max-width:760px;margin:0;font-size:15px;line-height:1.65}.tree-legend{color:#687069;white-space:nowrap;flex-wrap:wrap;align-items:center;gap:18px;padding-bottom:4px;font-size:13px;display:flex}.tree-legend span{align-items:center;gap:7px;display:inline-flex}.tree-legend i{width:30px;height:0;display:inline-block}.legend-lineage{border-top:3px solid #184d3b}.legend-genealogical{border-top:3px dashed #b68a3a}.family-tree-workspace{background:radial-gradient(circle at 50% 0,#b68a3a14,#0000 35%),#faf8f3;border:1px solid #e4e1d8;border-radius:22px;width:100%;height:calc(100vh - 220px);min-height:620px;position:relative;overflow:hidden;box-shadow:0 18px 50px #184d3b0f,0 2px 8px #2426220a}.family-tree-workspace .react-flow{background:0 0}.family-tree-workspace .react-flow__background{opacity:.45}.family-tree-workspace .react-flow__controls{border:1px solid #e4e1d8;border-radius:12px;overflow:hidden;box-shadow:0 5px 18px #184d3b17}.family-tree-workspace .react-flow__controls-button{color:#184d3b;background:#fff;border-bottom-color:#e4e1d8;width:34px;height:34px}.family-tree-workspace .react-flow__controls-button:hover{background:#faf8f3}.family-tree-workspace .react-flow__minimap{background:#fffffff0;border:1px solid #e4e1d8;border-radius:12px;overflow:hidden;box-shadow:0 5px 18px #184d3b17}.tree-toolbar{z-index:15;gap:9px;display:flex;position:absolute;top:18px;left:18px}.tree-toolbar button{color:#184d3b;min-height:40px;font:inherit;cursor:pointer;background:#fffffff5;border:1px solid #e4e1d8;border-radius:11px;justify-content:center;align-items:center;gap:7px;padding:0 13px;font-size:13px;font-weight:700;transition:transform .16s,background .16s,border-color .16s;display:inline-flex;box-shadow:0 5px 18px #184d3b14}.tree-toolbar button:hover:not(:disabled){background:#fff;border-color:#184d3b59;transform:translateY(-1px)}.tree-toolbar button:disabled{cursor:not-allowed;opacity:.45}.react-flow__node-person{width:220px}.genealogy-person-node{color:#242622;text-align:left;width:220px;min-height:112px;font:inherit;cursor:pointer;background:#fff;border:1px solid #ddd8ca;border-top:4px solid #184d3b;border-radius:16px;grid-template-columns:54px minmax(0,1fr);align-items:center;gap:12px;padding:14px 15px;transition:transform .16s,box-shadow .16s,border-color .16s;display:grid;position:relative;box-shadow:0 11px 26px #184d3b17,0 2px 5px #2426220a}.genealogy-person-node:hover{border-color:#184d3b59;transform:translateY(-2px);box-shadow:0 14px 32px #184d3b21,0 3px 8px #2426220d}.genealogy-person-node.selected-person{border-color:#b68a3a;outline:3px solid #b68a3a38}.genealogy-person-node.founder-person{background:linear-gradient(#b68a3a12,#0000 65%),#fff;border-top-color:#b68a3a}.genealogy-person-node.genealogical-person{border-top-style:dashed;border-top-color:#b68a3a}.person-avatar{color:#184d3b;background:linear-gradient(145deg,#184d3b1f,#b68a3a24),#faf8f3;border:2px solid #b68a3a73;border-radius:50%;flex:none;place-items:center;width:54px;height:54px;font-family:Georgia,Times New Roman,serif;font-size:18px;font-weight:700;display:grid}.person-node-copy{flex-direction:column;gap:3px;min-width:0;display:flex}.person-node-copy strong{color:#242622;text-overflow:ellipsis;white-space:nowrap;font-family:Georgia,Times New Roman,serif;font-size:16px;line-height:1.2;overflow:hidden}.person-node-copy span,.person-node-copy small{color:#687069;text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;line-height:1.3;overflow:hidden}.person-node-copy .person-nickname{color:#8b6b2e;font-style:italic}.verified-dot{background:#184d3b;border:2px solid #fff;border-radius:50%;width:9px;height:9px;position:absolute;top:10px;right:10px;box-shadow:0 0 0 1px #184d3b40}.tree-handle{opacity:0;pointer-events:none;background:#184d3b!important;border:2px solid #fff!important;width:7px!important;height:7px!important}.react-flow__edge.union-edge .react-flow__edge-path{stroke:#b68a3a;stroke-width:2.6px}.react-flow__edge.lineage-edge .react-flow__edge-path{stroke:#184d3b;stroke-width:3px}.react-flow__edge.genealogical-edge .react-flow__edge-path{stroke:#b68a3a;stroke-width:2.6px;stroke-dasharray:8 7}.tree-person-panel{z-index:20;background:#fffffffa;border:1px solid #e4e1d8;border-radius:18px;width:min(340px,100% - 36px);max-height:calc(100% - 36px);padding:25px;position:absolute;top:18px;right:18px;overflow-y:auto;box-shadow:0 18px 55px #184d3b2e,0 4px 12px #2426220f}.tree-panel-close{color:#184d3b;cursor:pointer;background:#faf8f3;border:0;border-radius:50%;place-items:center;width:36px;height:36px;display:grid;position:absolute;top:12px;right:12px}.tree-panel-close:hover{background:#f1eee5}.tree-profile-avatar{color:#184d3b;background:linear-gradient(145deg,#184d3b21,#b68a3a26),#faf8f3;border:3px solid #b68a3a73;border-radius:50%;place-items:center;width:82px;height:82px;margin:2px 0 18px;font-family:Georgia,Times New Roman,serif;font-size:26px;font-weight:700;display:grid}.tree-person-panel h2{color:#184d3b;margin:5px 38px 4px 0;font-family:Georgia,Times New Roman,serif;font-size:26px;line-height:1.15}.tree-profile-nickname{color:#8b6b2e;margin:3px 0 18px;font-style:italic}.tree-profile-facts{border-top:1px solid #e4e1d8;gap:0;margin-top:20px;display:grid}.tree-profile-facts>div{border-bottom:1px solid #e4e1d8;justify-content:space-between;align-items:baseline;gap:18px;padding:12px 0;display:flex}.tree-profile-facts span{color:#687069;font-size:13px}.tree-profile-facts strong{color:#242622;text-align:right;font-size:13px}.tree-profile-action{color:#fff;width:100%;min-height:44px;font:inherit;cursor:pointer;background:#184d3b;border:0;border-radius:11px;justify-content:center;align-items:center;gap:8px;margin-top:22px;font-size:14px;font-weight:700;display:flex}.tree-profile-action:hover{background:#10382b}.tree-state-card{color:#184d3b;text-align:center;background:#faf8f3;border:1px solid #e4e1d8;border-radius:22px;flex-direction:column;justify-content:center;align-items:center;gap:9px;min-height:340px;padding:30px;display:flex}.tree-state-card strong{color:#242622;margin-top:5px;font-size:17px}.tree-state-card span{color:#687069;max-width:520px;font-size:14px;line-height:1.6}.tree-state-card.error{color:#8c3030}@media (width<=1100px){.tree-page-heading{flex-direction:column;align-items:flex-start}.family-tree-workspace{height:calc(100vh - 250px);min-height:600px}}@media (width<=760px){.tree-page{padding-bottom:78px}.tree-page-heading{gap:14px;margin-bottom:15px}.tree-page-heading h2{font-size:28px}.tree-page-heading p{font-size:14px}.tree-legend{gap:12px;font-size:11.5px}.family-tree-workspace{border-radius:16px;height:calc(100vh - 245px);min-height:560px}.tree-toolbar{top:12px;left:12px}.tree-toolbar button{min-height:38px;padding:0 10px;font-size:12px}.tree-person-panel{border-radius:17px;width:auto;max-height:52%;padding:21px;inset:auto 10px 10px}.tree-profile-avatar{width:66px;height:66px;font-size:22px}.tree-person-panel h2{font-size:22px}.genealogy-person-node{grid-template-columns:48px minmax(0,1fr);width:200px;min-height:104px;padding:12px}.person-avatar{width:48px;height:48px;font-size:16px}.react-flow__node-person{width:200px}}.record-management-card{background:#fff;border:1px solid #e4e1d8;border-radius:16px;margin-top:18px;padding:20px}.record-management-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;display:flex}.record-management-heading h2{color:#10382b;margin:4px 0 0;font-family:Georgia,Times New Roman,serif}.record-list{gap:10px;display:grid}.record-row{background:#faf8f3;border:1px solid #e8e4da;border-radius:12px;justify-content:space-between;align-items:center;gap:14px;padding:13px;display:flex}.record-row-main{align-items:flex-start;gap:10px;min-width:0;display:flex}.record-row-main>div{gap:2px;display:grid}.record-row-main span,.record-row-main small{color:#687069}.record-deleted{opacity:.62;border-style:dashed}.record-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.record-actions button,.record-secondary{color:#184d3b;background:#fff;border:1px solid #d9d7cf;border-radius:9px;align-items:center;gap:5px;min-height:36px;padding:0 11px;font-weight:750;display:inline-flex}.record-actions .record-danger{color:#a63636;border-color:#dfbcbc}.record-actions-bottom{margin-top:12px}.record-empty{color:#687069;text-align:center;background:#f7f4ed;border-radius:10px;padding:18px}.record-form{gap:14px;display:grid}.record-form-two{grid-template-columns:1fr 1fr}.record-form label{gap:7px;font-size:.86rem;font-weight:700;display:grid}.record-form input,.record-form select,.record-form textarea{background:#fff;border:1px solid #d9d7cf;border-radius:10px;width:100%;min-height:44px;padding:10px 12px}.record-form textarea{resize:vertical;min-height:95px}.record-full{grid-column:1/-1}@media (width<=760px){.record-row,.record-management-heading{flex-direction:column;align-items:flex-start}.record-form-two{grid-template-columns:1fr}.record-full{grid-column:auto}}.add-relative-page{width:100%;max-width:980px;margin:0 auto;padding:8px 0 40px}.add-relative-heading{flex-direction:column;gap:18px;margin-bottom:26px;display:flex}.add-relative-heading h1{color:#10382b;margin:5px 0 8px;font-size:clamp(2rem,4vw,3rem);line-height:1.05}.add-relative-heading p{color:#687069;margin:0;font-size:1rem;line-height:1.6}.add-relative-back{color:#184d3b;width:fit-content;font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:6px 0;font-weight:700;display:inline-flex}.add-relative-form{flex-direction:column;gap:20px;display:flex}.add-relative-section{background:#fff;border:1px solid #e4e1d8;border-radius:20px;padding:24px;box-shadow:0 10px 30px #10382b0f}.add-relative-section-title{color:#184d3b;align-items:flex-start;gap:12px;margin-bottom:22px;display:flex}.add-relative-section-title h2{color:#10382b;margin:0 0 4px;font-size:1.2rem}.add-relative-section-title p{color:#687069;margin:0;line-height:1.5}.add-relative-section label{color:#242622;flex-direction:column;gap:8px;margin-bottom:18px;font-weight:700;display:flex}.add-relative-section label:last-child{margin-bottom:0}.add-relative-section input,.add-relative-section select,.add-relative-section textarea{box-sizing:border-box;color:#242622;width:100%;font:inherit;background:#fff;border:1px solid #d7d4cb;border-radius:12px;outline:none;padding:12px 13px;font-weight:400;transition:border-color .15s,box-shadow .15s}.add-relative-section textarea{resize:vertical;min-height:96px}.add-relative-section input:focus,.add-relative-section select:focus,.add-relative-section textarea:focus{border-color:#184d3b;box-shadow:0 0 0 3px #184d3b1a}.add-relative-section input:disabled,.add-relative-section select:disabled{color:#687069;cursor:not-allowed;background:#f2f1ed}.add-relative-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px;display:grid}.add-relative-checkbox{align-self:end;align-items:center;min-height:46px;flex-direction:row!important;gap:10px!important}.add-relative-checkbox input{accent-color:#184d3b;width:18px;height:18px;margin:0}.add-relative-context{color:#4f574f;background:#faf8f3;border-left:4px solid #b68a3a;border-radius:10px;padding:13px 15px;line-height:1.5}.add-relative-context strong{color:#10382b}.add-relative-error,.add-relative-success{border-radius:12px;align-items:center;gap:10px;padding:14px 16px;font-weight:700;display:flex}.add-relative-error{color:#8a2929;background:#fff4f4;border:1px solid #d7a3a3}.add-relative-success{color:#184d3b;background:#f0f8f4;border:1px solid #aac9ba}.add-relative-actions{justify-content:flex-end;gap:12px;padding-top:4px;display:flex}.add-relative-primary,.add-relative-secondary{min-height:46px;font:inherit;cursor:pointer;border-radius:12px;padding:11px 18px;font-weight:800;transition:transform .15s,opacity .15s}.add-relative-primary{color:#fff;background:#184d3b;border:1px solid #184d3b;justify-content:center;align-items:center;gap:8px;display:inline-flex}.add-relative-secondary{color:#10382b;background:#fff;border:1px solid #d7d4cb}.add-relative-primary:hover:not(:disabled),.add-relative-secondary:hover:not(:disabled){transform:translateY(-1px)}.add-relative-primary:disabled,.add-relative-secondary:disabled{opacity:.55;cursor:not-allowed}@media (width<=700px){.add-relative-page{padding-bottom:92px}.add-relative-section{border-radius:16px;padding:18px}.add-relative-grid{grid-template-columns:1fr}.add-relative-actions{flex-direction:column-reverse}.add-relative-primary,.add-relative-secondary{width:100%}}.people-page{width:100%}.people-heading{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:24px;display:flex}.people-heading h1{color:#10382b;margin:4px 0 8px;font-size:clamp(2rem,4vw,3rem);line-height:1}.people-heading p{color:#687069;margin:0;font-size:1rem}.people-count{color:#184d3b;background:#fff;border:1px solid #e4e1d8;border-radius:16px;align-items:center;gap:9px;min-width:max-content;padding:13px 16px;display:flex}.people-count strong{font-size:1.05rem}.people-count span{color:#687069;font-size:.9rem}.people-toolbar{grid-template-columns:minmax(260px,1fr) 210px 210px;gap:12px;margin-bottom:12px;display:grid}.people-search{color:#687069;background:#fff;border:1px solid #e4e1d8;border-radius:14px;align-items:center;gap:10px;min-height:46px;padding:0 14px;display:flex}.people-search:focus-within{border-color:#184d3b;box-shadow:0 0 0 3px #184d3b14}.people-search input{color:#242622;width:100%;font:inherit;background:0 0;border:0;outline:0}.people-toolbar select{color:#242622;min-height:46px;font:inherit;background:#fff;border:1px solid #e4e1d8;border-radius:14px;padding:0 13px}.people-results-line{color:#687069;margin:0 0 17px;font-size:.9rem}.people-grid{grid-template-columns:repeat(auto-fit,minmax(285px,1fr));gap:16px;display:grid}.person-directory-card{width:100%;min-height:152px;color:inherit;font:inherit;text-align:left;cursor:pointer;background:#fff;border:1px solid #e4e1d8;border-radius:18px;align-items:flex-start;gap:15px;padding:18px;transition:transform .15s,border-color .15s,box-shadow .15s;display:flex}.person-directory-card:hover{border-color:#184d3b52;transform:translateY(-2px);box-shadow:0 12px 28px #10382b14}.person-directory-card:focus-visible{outline-offset:2px;outline:3px solid #b68a3a47}.person-directory-avatar{color:#fff;letter-spacing:.04em;background:#184d3b;border-radius:50%;flex:none;place-items:center;width:58px;height:58px;font-weight:800;display:grid}.person-directory-main{flex:1;min-width:0}.person-directory-title{color:#10382b;justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.person-directory-title>div{min-width:0}.person-directory-title strong{text-overflow:ellipsis;white-space:nowrap;font-size:1.04rem;display:block;overflow:hidden}.person-directory-title svg{color:#184d3b;flex:none}.person-directory-nickname{color:#687069;margin-top:3px;font-size:.86rem;display:block}.person-directory-years{color:#687069;margin-top:9px;font-size:.9rem;display:block}.person-directory-meta{flex-wrap:wrap;gap:7px;margin-top:12px;display:flex}.person-directory-meta span{color:#687069;background:#faf8f3;border-radius:999px;padding:5px 8px;font-size:.77rem}.person-directory-lineage{color:#184d3b;align-items:center;gap:6px;margin-top:12px;font-size:.84rem;font-weight:700;display:flex}.people-state{color:#184d3b;background:#fff;border:1px solid #e4e1d8;border-radius:18px;align-items:center;gap:14px;min-height:120px;padding:22px;display:flex}.people-state>div{gap:4px;display:grid}.people-state strong{color:#10382b}.people-state span{color:#687069}.people-state-error{border-color:#a0343438}@media (width<=820px){.people-heading{flex-direction:column}.people-count{width:100%;min-width:0}.people-toolbar{grid-template-columns:1fr}}@media (width<=560px){.people-grid{grid-template-columns:1fr}.person-directory-card{min-height:0;padding:15px}.person-directory-avatar{width:50px;height:50px}}.browse-page{width:100%}.browse-heading{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:24px;display:flex}.browse-heading h1{color:#10382b;margin:4px 0 8px;font-size:clamp(2rem,4vw,3rem);line-height:1}.browse-heading p{color:#687069;margin:0}.browse-summary-chip{color:#184d3b;background:#fff;border:1px solid #e4e1d8;border-radius:15px;align-items:center;gap:8px;min-width:max-content;padding:12px 15px;display:flex}.browse-summary-chip span{color:#687069}.browse-state{color:#184d3b;background:#fff;border:1px solid #e4e1d8;border-radius:18px;align-items:center;gap:14px;min-height:118px;padding:22px;display:flex}.browse-state>div{gap:4px;display:grid}.browse-state strong{color:#10382b}.browse-state span{color:#687069}.browse-state-error{border-color:#a0343438}.generation-stack{gap:22px;display:grid}.generation-section{background:#faf8f3;border:1px solid #e4e1d8;border-radius:20px;padding:20px}.generation-header{margin-bottom:15px}.generation-header h2{color:#10382b;margin:4px 0 0;font-size:1.25rem}.browse-card-grid{grid-template-columns:repeat(auto-fit,minmax(265px,1fr));gap:14px;display:grid}.browse-person-card{width:100%;min-height:108px;color:inherit;font:inherit;text-align:left;cursor:pointer;background:#fff;border:1px solid #e4e1d8;border-radius:16px;align-items:flex-start;gap:13px;padding:15px;transition:transform .15s,border-color .15s,box-shadow .15s;display:flex}.browse-person-card:hover{border-color:#184d3b4d;transform:translateY(-2px);box-shadow:0 10px 24px #10382b12}.browse-avatar{color:#fff;background:#184d3b;border-radius:50%;flex:none;place-items:center;width:52px;height:52px;font-weight:800;display:grid}.browse-avatar-small{width:42px;height:42px;font-size:.82rem}.browse-person-copy{flex:1;min-width:0}.browse-person-title{color:#10382b;justify-content:space-between;align-items:center;gap:8px;display:flex}.browse-person-title strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.browse-person-title svg{color:#184d3b;flex:none}.browse-muted{color:#687069;margin-top:5px;font-size:.86rem;display:block}.browse-lineage{color:#184d3b;align-items:center;gap:5px;margin-top:10px;font-size:.82rem;font-weight:700;display:flex}.branch-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:17px;display:grid}.branch-card{background:#fff;border:1px solid #e4e1d8;border-radius:18px;padding:18px}.branch-card-heading{border-bottom:1px solid #ece9e1;justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:14px;display:flex}.branch-card-heading h2{color:#10382b;margin:4px 0 0;font-size:1.2rem}.branch-count{color:#184d3b;background:#faf8f3;border-radius:999px;place-items:center;min-width:34px;height:34px;padding:0 9px;font-weight:800;display:grid}.branch-member-list{gap:8px;margin-top:12px;display:grid}.branch-member-row{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:13px;grid-template-columns:auto 1fr auto;align-items:center;gap:11px;padding:10px;display:grid}.branch-member-row:hover{background:#faf8f3}.branch-member-row>div:nth-child(2){gap:3px;min-width:0;display:grid}.branch-member-row strong{color:#10382b;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.branch-member-row span{color:#687069;font-size:.82rem}.branch-member-row>svg{color:#184d3b}.global-family-search{color:#687069;background:#fff;border:1px solid #e4e1d8;border-radius:16px;align-items:center;gap:11px;min-height:54px;margin-bottom:18px;padding:0 16px;display:flex}.global-family-search:focus-within{border-color:#184d3b;box-shadow:0 0 0 3px #184d3b14}.global-family-search input{color:#242622;width:100%;font:inherit;background:0 0;border:0;outline:0;font-size:1rem}.browse-results-line{color:#687069;margin-bottom:14px;font-size:.9rem}@media (width<=720px){.browse-heading{flex-direction:column}.browse-summary-chip{width:100%;min-width:0}.browse-card-grid,.branch-grid{grid-template-columns:1fr}}.media-page{width:100%}.media-heading{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:24px;display:flex}.media-heading h1{color:#10382b;margin:4px 0 8px;font-size:clamp(2rem,4vw,3rem);line-height:1}.media-heading p{color:#687069;margin:0}.media-count{color:#184d3b;background:#fff;border:1px solid #e4e1d8;border-radius:15px;align-items:center;gap:8px;min-width:max-content;padding:12px 15px;display:flex}.media-count span{color:#687069}.media-search{color:#687069;background:#fff;border:1px solid #e4e1d8;border-radius:16px;align-items:center;gap:11px;min-height:54px;margin-bottom:20px;padding:0 16px;display:flex}.media-search:focus-within{border-color:#184d3b;box-shadow:0 0 0 3px #184d3b14}.media-search input{color:#242622;width:100%;font:inherit;background:0 0;border:0;outline:0;font-size:1rem}.media-state{color:#184d3b;background:#fff;border:1px solid #e4e1d8;border-radius:18px;align-items:center;gap:14px;min-height:120px;padding:22px;display:flex}.media-state>div{gap:4px;display:grid}.media-state strong{color:#10382b}.media-state span{color:#687069}.media-state-error{border-color:#a0343438}.photo-grid{grid-template-columns:repeat(auto-fit,minmax(285px,1fr));gap:18px;display:grid}.photo-card{background:#fff;border:1px solid #e4e1d8;border-radius:18px;overflow:hidden}.photo-preview-placeholder{color:#184d3b;background:linear-gradient(145deg,#184d3b14,#b68a3a1f);align-content:center;place-items:center;gap:8px;min-height:205px;padding:20px;display:grid}.photo-preview-placeholder span{font-weight:750}.photo-card-body{padding:17px}.photo-card-title{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.photo-card-title h2{color:#10382b;margin:0;font-size:1.08rem}.photo-description{color:#687069;margin:10px 0 0;line-height:1.55}.verified-line{color:#184d3b;align-items:center;gap:5px;margin-top:6px;font-size:.8rem;font-weight:750;display:inline-flex}.media-meta{flex-wrap:wrap;gap:9px 13px;margin-top:14px;display:flex}.media-meta>span,.media-person-link{color:#687069;align-items:center;gap:5px;min-height:30px;font-size:.84rem;display:inline-flex}.media-person-link{color:#184d3b;font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:.84rem;font-weight:750}.media-person-link:hover{text-decoration:underline}.photo-storage-note{color:#687069;background:#faf8f3;border-radius:11px;margin-top:13px;padding:10px 12px;font-size:.8rem}.story-list{gap:16px;display:grid}.story-card{background:#fff;border:1px solid #e4e1d8;border-radius:18px;grid-template-columns:auto 1fr;gap:15px;padding:20px;display:grid}.story-icon{color:#b68a3a;background:#faf8f3;border-radius:14px;place-items:center;width:46px;height:46px;display:grid}.story-card-body{min-width:0}.story-title-row{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.story-type{color:#b68a3a;letter-spacing:.08em;text-transform:uppercase;font-size:.76rem;font-weight:800}.story-title-row h2{color:#10382b;margin:4px 0 0;font-size:1.2rem}.story-text{color:#3e433f;white-space:pre-wrap;margin:14px 0 0;line-height:1.7}.story-text-collapsed{-webkit-line-clamp:5;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.story-expand{color:#184d3b;font:inherit;cursor:pointer;background:0 0;border:0;margin-top:9px;padding:0;font-weight:800}.story-expand:hover{text-decoration:underline}.story-source{border-top:1px solid #ece9e1;gap:3px;margin-top:14px;padding-top:13px;display:grid}.story-source strong{color:#10382b;font-size:.82rem}.story-source span{color:#687069;font-size:.84rem}@media (width<=720px){.media-heading{flex-direction:column}.media-count{width:100%;min-width:0}.photo-grid,.story-card{grid-template-columns:1fr}.story-title-row{flex-direction:column}}.members-page{gap:22px;display:grid}.members-heading,.members-toolbar,.member-card,.member-main,.member-badges,.members-modal-actions{align-items:center;display:flex}.members-heading{justify-content:space-between;gap:18px}.members-heading h1{margin:4px 0 5px}.members-heading p{color:#66685f;margin:0}.members-refresh,.member-manage{cursor:pointer;background:#fff;border:1px solid #d9d7cf;border-radius:10px;align-items:center;gap:7px;min-height:42px;padding:0 14px;display:inline-flex}.members-toolbar{justify-content:space-between;gap:14px}.members-toolbar>label{background:#fff;border:1px solid #ddd9cf;border-radius:11px;flex:1;align-items:center;gap:9px;max-width:520px;min-height:46px;padding:0 13px;display:flex}.members-toolbar input{background:0 0;border:0;outline:0;width:100%}.members-count{align-items:center;gap:6px;display:flex}.members-list{gap:12px;display:grid}.member-card{background:#fff;border:1px solid #e3dfd5;border-radius:14px;justify-content:space-between;gap:15px;padding:17px}.member-main{gap:13px}.member-main>div:last-child{gap:4px;display:grid}.member-main span,.member-main small{color:#686a63}.member-avatar{color:#fff;background:#184d3b;border-radius:50%;flex:none;place-items:center;width:45px;height:45px;font-weight:800;display:grid}.member-badges{gap:7px;margin-top:3px}.member-badges>span{background:#f3f1ea;border-radius:999px;padding:3px 7px;font-size:.76rem}.member-role{align-items:center;gap:4px;font-weight:750;display:inline-flex}.owner-protected{color:#8a6b2d;font-size:.82rem}.members-state{text-align:center;background:#fff;border-radius:14px;padding:30px}.members-modal-backdrop{z-index:1200;background:#0a16118c;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.members-modal{background:#faf8f3;border-radius:16px;gap:16px;width:min(100%,540px);max-height:90vh;padding:23px;display:grid;overflow-y:auto;box-shadow:0 20px 70px #00000040}.members-modal h2{margin:0}.members-modal>label{gap:7px;font-weight:700;display:grid}.members-modal select,.members-modal textarea{background:#fff;border:1px solid #d8d5cd;border-radius:10px;width:100%;padding:11px 12px}.members-modal textarea{resize:vertical;min-height:90px}.branch-selector{background:#fff;border:1px solid #ddd8cd;border-radius:11px;gap:9px;padding:13px;display:grid}.branch-selector label{align-items:center;gap:9px;display:flex}.members-modal-actions{justify-content:flex-end;gap:9px}.members-modal-actions button{cursor:pointer;border:1px solid #d6d2c8;border-radius:9px;min-height:42px;padding:0 15px}.members-modal-actions .primary-button{color:#fff;background:#184d3b;border-color:#184d3b;align-items:center;gap:7px;display:inline-flex}@media (width<=700px){.members-heading,.members-toolbar,.member-card{flex-direction:column;align-items:stretch}.members-toolbar>label{max-width:none}.member-manage{justify-content:center}}:root{color:#242622;font-synthesis:none;text-rendering:optimizelegibility;background:#faf8f3;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%;margin:0}body{color:#242622;background:#faf8f3;min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer}img{max-width:100%;display:block}.app-shell{min-height:100vh}.eyebrow,.panel-kicker{text-transform:uppercase;letter-spacing:.15em;color:#9a742d;font-size:.72rem;font-weight:800}.primary-button{color:#fff;background:#184d3b;border:0;border-radius:12px;justify-content:center;align-items:center;gap:8px;min-height:50px;padding:0 18px;font-weight:800;display:inline-flex}.primary-button:hover:not(:disabled){background:#10382b}.primary-button:disabled{opacity:.6;cursor:not-allowed}.message-box{color:#6a5224;background:#f7f3e8;border:1px solid #eadfbe;border-radius:12px;margin:16px 0;padding:13px 15px;font-size:.9rem;line-height:1.5}.auth-layout{grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);min-height:100vh;display:grid}.heritage-panel{color:#fff;background:linear-gradient(135deg,#10382b 0%,#184d3b 70%,#123f31 100%);align-items:center;padding:68px;display:flex}.heritage-content{max-width:620px}.auth-king-logo{object-fit:contain;width:170px;max-height:210px;margin-bottom:18px}.eyebrow.light{color:#dfbf79}.heritage-title{margin:8px 0 0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.6rem,5vw,5rem);font-weight:600;line-height:1.04}.heritage-copy{color:#ffffffc7;max-width:560px;margin:26px 0 0;line-height:1.8}.heritage-divider{background:#b68a3a;width:72px;height:2px;margin:32px 0 22px}.heritage-note{color:#ffffff9e;line-height:1.65}.form-panel{background:#faf8f3;justify-content:center;align-items:center;padding:52px;display:flex}.auth-card{background:#fff;border:1px solid #e4e1d8;border-radius:28px;width:min(100%,470px);padding:42px;box-shadow:0 22px 60px #14281f14}.auth-card h2{color:#10382b;margin:8px 0 0;font-family:Georgia,Times New Roman,serif;font-size:2.15rem}.form-intro{color:#687069;margin:12px 0 28px;line-height:1.65}.field-label{margin:18px 0 8px;font-size:.9rem;font-weight:700;display:block}.input-wrap{color:#687069;background:#fff;border:1px solid #d9d7cf;border-radius:14px;align-items:center;gap:12px;height:54px;padding:0 16px;display:flex}.input-wrap:focus-within{border-color:#184d3b;box-shadow:0 0 0 4px #184d3b14}.input-wrap input{color:#242622;background:0 0;border:0;outline:0;flex:1;min-width:0}.password-toggle{color:#687069;background:0 0;border:0;place-items:center;display:grid}.switch-area{text-align:center;color:#687069;border-top:1px solid #ece9e1;margin-top:28px;padding-top:22px}.text-button{color:#184d3b;background:0 0;border:0;font-weight:800}.mobile-brand{display:none}.app-loading,.no-family-shell{text-align:center;background:#faf8f3;place-items:center;min-height:100vh;padding:24px;display:grid}.app-loading img,.no-family-logo{object-fit:contain;width:120px;max-height:150px;margin:0 auto}.no-family-card{background:#fff;border:1px solid #e4e1d8;border-radius:26px;width:min(100%,520px);padding:42px}.family-dashboard{background:#faf8f3;grid-template-columns:230px minmax(0,1fr);min-height:100vh;display:grid}.family-sidebar{color:#fff;background:#10382b;flex-direction:column;height:100vh;padding:18px 16px;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar-identity{text-align:center;padding:2px 8px 18px}.sidebar-identity img{object-fit:contain;width:132px;max-height:155px;margin:0 auto 4px}.sidebar-identity h1{color:#e3bd68;margin:0;font-family:Georgia,Times New Roman,serif;font-size:1.45rem}.sidebar-identity p{color:#ffffff9e;margin:5px 0 0;font-size:.73rem}.main-navigation{flex-direction:column;gap:5px;margin-top:4px;display:flex}.side-link{color:#ffffffd1;border-radius:11px;align-items:center;gap:11px;min-height:44px;padding:0 13px;font-weight:650;text-decoration:none;display:flex}.side-link:hover{color:#fff;background:#ffffff14}.side-link.active{color:#f3d48e;background:#ffffff1f}.sidebar-contribute{color:#fff;background:#c09234;border:1px solid #d2a346;border-radius:11px;justify-content:center;align-items:center;gap:8px;min-height:48px;margin-top:18px;font-weight:800;display:flex}.sidebar-account{color:#fff;background:0 0;border:0;border-top:1px solid #ffffff1f;grid-template-columns:38px 1fr auto;align-items:center;gap:10px;margin-top:auto;padding:13px 8px 0;display:grid}.profile-circle{color:#dfbf79;background:#ffffff1a;border-radius:50%;place-items:center;width:38px;height:38px;display:grid}.sidebar-account strong,.sidebar-account span{text-align:left;display:block}.sidebar-account span{color:#ffffff8c;font-size:.69rem}.family-main{min-width:0}.family-topbar{grid-template-columns:1fr auto;align-items:center;gap:20px;min-height:170px;padding:28px 42px 18px;display:grid}.mobile-brand-button{display:none}.topbar-copy>span{font-family:Georgia,Times New Roman,serif;font-size:1.08rem}.topbar-copy h1{color:#10382b;text-transform:uppercase;margin:6px 0 2px;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.4rem,4vw,4.4rem);line-height:1}.topbar-copy p{color:#9a742d;margin:8px 0 0;font-family:Georgia,Times New Roman,serif;font-style:italic}.notification-button,.mobile-brand-button{color:#184d3b;background:#fff;border:1px solid #e4e1d8;border-radius:50%;place-items:center;width:44px;height:44px;display:grid}.family-main-content{padding:0 42px 60px}.stats-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.stat-card{background:#fff;border:1px solid #e4e1d8;border-radius:15px;align-items:center;gap:14px;min-height:92px;padding:16px;display:flex}.stat-icon{color:#184d3b;background:#f4efe4;border-radius:50%;place-items:center;width:42px;height:42px;display:grid}.stat-card strong{font-family:Georgia,Times New Roman,serif;font-size:1.5rem}.stat-card span,.stat-card small{display:block}.stat-card small{color:#687069;font-size:.72rem}.home-feature-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:20px;display:grid}.home-panel,.recent-section{background:#fff;border:1px solid #e4e1d8;border-radius:18px}.home-panel{flex-direction:column;min-height:290px;padding:24px;display:flex}.home-panel h2,.recent-section h2{color:#10382b;margin:7px 0 8px;font-family:Georgia,Times New Roman,serif}.home-panel p{color:#687069;margin:0;line-height:1.6}.dark-action,.gold-action,.panel-link{border:0;align-items:center;gap:6px;font-weight:800;display:inline-flex}.dark-action,.gold-action{color:#fff;border-radius:9px;align-self:flex-start;min-height:42px;margin-top:auto;padding:0 16px}.dark-action{background:#184d3b}.gold-action{background:#c09234}.panel-link{color:#184d3b;background:0 0;padding:8px 0}.relative-list{flex-direction:column;margin-top:18px;display:flex}.relative-list button{text-align:left;background:0 0;border:0;border-bottom:1px solid #ece9e1;grid-template-columns:28px 1fr auto;align-items:center;gap:8px;min-height:47px;display:grid}.mini-tree{height:86px;margin:15px 0 10px;position:relative}.mini-person{background:#6f8a45;border:2px solid #184d3b;border-radius:50%;width:14px;height:14px;position:absolute}.mini-person.root{top:4px;left:50%;transform:translate(-50%)}.mini-person.child.one{bottom:7px;left:22%}.mini-person.child.two{bottom:7px;left:50%;transform:translate(-50%)}.mini-person.child.three{bottom:7px;right:22%}.mini-line{background:#184d3b;position:absolute}.mini-line.vertical{width:2px;height:38px;top:17px;left:50%}.mini-line.horizontal{width:56%;height:2px;top:54px;left:22%}.recent-section{margin-top:18px;padding:22px 24px}.section-heading{justify-content:space-between;align-items:center;gap:20px;display:flex}.empty-activity{color:#184d3b;background:#f7f4ed;border-radius:13px;align-items:center;gap:14px;min-height:80px;margin-top:16px;padding:16px;display:flex}.management-strip{background:#f7f1e4;border:1px solid #d9d0b7;border-radius:16px;justify-content:space-between;align-items:center;gap:20px;margin-top:18px;padding:18px 22px;display:flex}.management-strip button{color:#fff;background:#184d3b;border:0;border-radius:9px;min-height:40px;padding:0 14px;font-weight:750}.person-profile-page{gap:18px;display:grid}.person-profile-topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;display:flex}.person-profile-back,.person-profile-add-relative,.person-profile-edit,.person-profile-delete{border-radius:10px;align-items:center;gap:7px;min-height:42px;padding:0 14px;font-weight:750;display:inline-flex}.person-profile-back{color:#184d3b;background:#fff;border:1px solid #d9d7cf}.person-profile-add-relative{color:#fff;background:#184d3b;border:0}.person-profile-edit{color:#184d3b;background:#fff;border:1px solid #184d3b}.person-profile-delete{color:#a63636;background:#fff;border:1px solid #b54848}.person-profile-action-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.person-profile-hero{background:#fff;border:1px solid #e4e1d8;border-radius:18px;align-items:center;gap:20px;padding:24px;display:flex}.person-profile-avatar-large{color:#184d3b;background:#eaf1ed;border-radius:50%;place-items:center;width:78px;height:78px;font-size:1.55rem;font-weight:800;display:grid}.person-profile-heading h1{color:#10382b;margin:6px 0;font-family:Georgia,Times New Roman,serif;font-size:2rem}.person-profile-badges{flex-wrap:wrap;gap:8px;display:flex}.person-profile-badges span{color:#184d3b;background:#f3f6f4;border-radius:999px;align-items:center;gap:5px;padding:6px 9px;font-size:.8rem;display:inline-flex}.person-profile-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.person-profile-card{background:#fff;border:1px solid #e4e1d8;border-radius:18px;padding:22px}.person-profile-details{grid-template-columns:1fr 1fr;gap:12px;display:grid}.person-profile-details>div{background:#f7f4ed;border-radius:10px;padding:12px}.person-profile-details span,.person-profile-details strong{display:block}.person-profile-details span{color:#687069;font-size:.78rem}.person-profile-details strong{margin-top:3px}.person-profile-location,.person-profile-empty{align-items:center;gap:10px;margin-top:16px;display:flex}.family-modal-backdrop{z-index:9999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#07110f94;justify-content:center;align-items:center;padding:22px;display:flex;position:fixed;inset:0}.family-modal{background:#fff;border:1px solid #e4e1d8;border-radius:20px;width:min(100%,520px);max-height:90vh;padding:26px;overflow-y:auto;box-shadow:0 30px 90px #00000038}.family-modal-wide{width:min(100%,820px)}.family-modal-heading{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px;display:flex}.family-modal-heading h2{color:#10382b;margin:5px 0 0;font-family:Georgia,Times New Roman,serif}.family-modal-heading>button{color:#687069;background:#fff;border:1px solid #e4e1d8;border-radius:50%;place-items:center;width:38px;height:38px;display:grid}.family-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.family-form-grid label,.family-modal>label{flex-direction:column;gap:7px;font-size:.86rem;font-weight:700;display:flex}.family-form-full{grid-column:1/-1}.family-form-grid input,.family-form-grid select,.family-form-grid textarea,.family-modal>label input,.family-modal>label textarea{background:#fff;border:1px solid #d9d7cf;border-radius:10px;outline:none;width:100%;min-height:45px;padding:10px 12px}.family-form-grid textarea,.family-modal>label textarea{resize:vertical;min-height:90px}.family-modal-actions{justify-content:flex-end;gap:10px;margin-top:24px;display:flex}.family-modal-actions button{border-radius:10px;justify-content:center;align-items:center;gap:7px;min-height:44px;padding:0 16px;font-weight:750;display:inline-flex}.family-modal-primary{color:#fff;background:#184d3b;border:0}.family-modal-danger{color:#fff;background:#a63636;border:0}.photo-upload-card{background:#fff;border:1px solid #e4e1d8;border-radius:18px;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:18px;padding:22px;display:grid}.photo-upload-card h3{color:#10382b;grid-column:1/-1;margin:0;font-family:Georgia,Times New Roman,serif}.photo-upload-card label{gap:7px;font-size:.86rem;font-weight:700;display:grid}.photo-upload-card input,.photo-upload-card textarea{background:#fff;border:1px solid #d9d7cf;border-radius:10px;width:100%;min-height:44px;padding:10px 12px}.photo-upload-card textarea{resize:vertical;min-height:86px}.photo-upload-card button{color:#fff;background:#184d3b;border:0;border-radius:10px;justify-self:start;min-height:44px;padding:0 16px;font-weight:800}.photo-upload-card p{color:#687069;grid-column:1/-1;margin:0}.photos-page{margin-top:18px}.photos-page-heading{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px;display:flex}.photos-page-heading h2{color:#10382b;margin:5px 0 6px;font-family:Georgia,Times New Roman,serif;font-size:2rem}.photos-page-heading p{color:#687069;margin:0}.photos-refresh-button{color:#184d3b;background:#fff;border:1px solid #d9d7cf;border-radius:10px;align-items:center;gap:6px;min-height:40px;padding:0 13px;font-weight:750;display:inline-flex}.family-photo-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.family-photo-card{background:#fff;border:1px solid #e4e1d8;border-radius:16px;overflow:hidden}.family-photo-image-wrap{background:#f4f1e9;width:100%}.family-photo-image-wrap img{object-fit:contain;width:100%;height:auto;display:block}.family-photo-unavailable,.photos-empty-state{color:#687069;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:150px;display:flex}.family-photo-details{padding:14px}.family-photo-details h3{color:#10382b;margin:0 0 6px}.family-photo-details p{color:#687069;margin:0;line-height:1.5}.family-photo-meta{color:#687069;flex-wrap:wrap;gap:12px;margin-top:10px;font-size:.8rem;display:flex}.family-photo-meta span{align-items:center;gap:5px;display:inline-flex}.family-settings-form{gap:18px;width:min(100%,720px);margin-top:22px;display:grid}.family-settings-form label{color:#242622;gap:8px;font-size:.9rem;font-weight:750;display:grid}.family-settings-form input,.family-settings-form select,.family-settings-form textarea{background:#fff;border:1px solid #d9d7cf;border-radius:11px;outline:none;width:100%;min-height:48px;padding:11px 13px}.family-settings-form textarea{resize:vertical;min-height:100px}.mobile-menu-overlay{z-index:100;background:#00000059;position:fixed;inset:0}.mobile-drawer{color:#fff;background:#10382b;width:min(82vw,310px);height:100%;padding:26px 20px;position:absolute;top:0;right:0;overflow-y:auto}.mobile-drawer img{object-fit:contain;width:95px;max-height:115px;margin:10px auto 6px}.mobile-drawer h2{text-align:center;color:#dfbf79;font-family:Georgia,Times New Roman,serif}.mobile-drawer>button:not(.drawer-close){color:#ffffffd6;text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:10px;width:100%;min-height:46px;padding:0 12px;display:flex}.drawer-close{color:#fff;background:#ffffff14;border:0;border-radius:50%;place-items:center;width:40px;height:40px;margin-left:auto;display:grid}.family-mobile-nav{display:none}@media (width<=1100px){.family-dashboard{grid-template-columns:205px minmax(0,1fr)}.family-topbar,.family-main-content{padding-left:28px;padding-right:28px}.stats-row{grid-template-columns:repeat(2,minmax(0,1fr))}.home-feature-grid{grid-template-columns:1fr 1fr}.tree-preview-panel{grid-column:1/-1}.family-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.auth-layout{grid-template-columns:1fr}.heritage-panel{display:none}.form-panel{min-height:100vh;padding:24px 18px 42px;display:block}.mobile-brand{align-items:center;gap:12px;margin-bottom:20px;display:flex}.mobile-brand img{object-fit:contain;width:62px;height:70px}.family-dashboard{display:block}.family-sidebar{display:none}.family-topbar{z-index:50;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#faf8f3f2;grid-template-columns:auto 1fr auto;min-height:auto;padding:18px 16px 16px;position:sticky;top:0}.mobile-brand-button{display:grid}.topbar-copy>span{font-size:.82rem}.topbar-copy h1{white-space:nowrap;text-overflow:ellipsis;font-size:1.45rem;overflow:hidden}.topbar-copy p{display:none}.family-main-content{padding:18px 14px 92px}.stats-row{grid-template-columns:repeat(2,minmax(0,1fr))}.home-feature-grid,.person-profile-grid,.family-form-grid,.photo-upload-card,.family-photo-grid{grid-template-columns:1fr}.tree-preview-panel,.family-form-full,.photo-upload-card h3,.photo-upload-card p{grid-column:auto}.family-modal-backdrop{align-items:flex-end;padding:10px}.family-modal,.family-modal-wide{border-radius:20px 20px 0 0;width:100%;max-height:94vh}.family-mobile-nav{z-index:70;background:#10382b;grid-template-columns:repeat(6,1fr);height:70px;padding:0 6px;display:grid;position:fixed;bottom:0;left:0;right:0}.family-mobile-nav a,.family-mobile-nav button{color:#ffffffb3;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:.61rem;font-weight:700;text-decoration:none;display:flex}.family-mobile-nav .active{color:#dfbf79}.family-mobile-nav .mobile-add{color:#fff;background:#c09234;border-radius:50%;place-self:center;width:48px;height:48px}}
