.photoArchive{background:#f8f4eb;padding:100px 7vw}.archiveHeading{max-width:650px;margin-bottom:45px}.archiveHeading h2{color:var(--ink);margin:0 0 16px;font:46px/1.1 Georgia,serif}.archiveHeading p{color:#68736e;line-height:1.6}.photoGrid{grid-template-columns:repeat(5,1fr);gap:14px;display:grid}.photoGrid button{text-align:left;cursor:pointer;background:#fff;border:0;padding:0;transition:all .2s;overflow:hidden;box-shadow:0 4px 16px #3d342515}.photoGrid button:hover{transform:translateY(-4px);box-shadow:0 13px 28px #3d34252b}.photoGrid img{aspect-ratio:4/3;object-fit:cover;filter:sepia(.12);width:100%;display:block}.photoGrid span{padding:15px;display:block}.photoGrid b{color:var(--ink);font:17px Georgia;display:block}.photoGrid small{color:#8a786b;margin-top:5px;display:block}.personModal{width:min(620px,100%);max-height:92vh;overflow:auto}.personPhoto{object-fit:contain;background:#e8dfcf;width:min(100%,420px);max-height:390px;margin:0 auto 28px;padding:10px;display:block}.personModal .bio{text-align:left;color:#4f5e57;line-height:1.7}.personModal small a{color:#8f4d39}@media (width<=1100px){.photoGrid{grid-template-columns:repeat(3,1fr)}}@media (width<=700px){.photoArchive{padding:65px 20px}.archiveHeading h2{font-size:36px}.photoGrid{grid-template-columns:repeat(2,1fr);gap:9px}.photoGrid span{padding:11px}.photoGrid b{font-size:15px}.personModal{padding:35px 20px}}.react-flow{--xy-edge-stroke-default:#b1b1b7;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#555;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#ffffff80;--xy-minimap-background-color-default:#fff;--xy-minimap-mask-background-color-default:#f0f0f099;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#e2e2e2;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:transparent;--xy-background-pattern-dots-color-default:#91919a;--xy-background-pattern-lines-color-default:#eee;--xy-background-pattern-cross-color-default:#e2e2e2;background-color:var(--xy-background-color,var(--xy-background-color-default));--xy-node-color-default:inherit;--xy-node-border-default:1px solid #1a192b;--xy-node-background-color-default:#fff;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #00000014;--xy-node-boxshadow-selected-default:0 0 0 .5px #1a192b;--xy-node-border-radius-default:3px;--xy-handle-background-color-default:#1a192b;--xy-handle-border-color-default:#fff;--xy-selection-background-color-default:#0059dc14;--xy-selection-border-default:1px dotted #0059dccc;--xy-controls-button-background-color-default:#fefefe;--xy-controls-button-background-color-hover-default:#f4f4f4;--xy-controls-button-color-default:inherit;--xy-controls-button-color-hover-default:inherit;--xy-controls-button-border-color-default:#eee;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#fff;--xy-edge-label-color-default:inherit;--xy-resize-background-color-default:#3367d9;direction:ltr}.react-flow.dark{--xy-edge-stroke-default:#3e3e3e;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#727272;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#96969640;--xy-minimap-background-color-default:#141414;--xy-minimap-mask-background-color-default:#3c3c3c99;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#2b2b2b;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:#141414;--xy-background-pattern-dots-color-default:#777;--xy-background-pattern-lines-color-default:#777;--xy-background-pattern-cross-color-default:#777;--xy-node-color-default:#f8f8f8;--xy-node-border-default:1px solid #3c3c3c;--xy-node-background-color-default:#1e1e1e;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #ffffff14;--xy-node-boxshadow-selected-default:0 0 0 .5px #999;--xy-handle-background-color-default:#bebebe;--xy-handle-border-color-default:#1e1e1e;--xy-selection-background-color-default:#c8c8dc14;--xy-selection-border-default:1px dotted #c8c8dccc;--xy-controls-button-background-color-default:#2b2b2b;--xy-controls-button-background-color-hover-default:#3e3e3e;--xy-controls-button-color-default:#f8f8f8;--xy-controls-button-color-hover-default:#fff;--xy-controls-button-border-color-default:#5b5b5b;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#141414;--xy-edge-label-color-default:#f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props,var(--xy-background-color,var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__pane{z-index:1}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width,var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke,var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width,var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{pointer-events:none;position:absolute;overflow:visible}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected,var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:.5s linear infinite dashdraw}svg.react-flow__connectionline{z-index:1001;position:absolute;overflow:visible}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{-webkit-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default;position:absolute}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:0 0;pointer-events:none}.react-flow__nodesselection-rect{pointer-events:all;cursor:grab;position:absolute}.react-flow__handle{pointer-events:none;background-color:var(--xy-handle-background-color,var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color,var(--xy-handle-border-color-default));border-radius:100%;width:6px;min-width:5px;height:6px;min-height:5px;position:absolute}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;bottom:0;left:50%;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{z-index:5;margin:15px;position:absolute}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px)translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px)translateY(-50%)}.react-flow__attribution{background:var(--xy-attribution-background-color,var(--xy-attribution-background-color-default));margin:0;padding:2px 3px;font-size:10px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10px}}.react-flow__edgelabel-renderer{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__viewport-portal{-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__minimap{background:var(--xy-minimap-background-color-props,var(--xy-minimap-background-color,var(--xy-minimap-background-color-default)))}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var(--xy-minimap-mask-background-color-props,var(--xy-minimap-mask-background-color,var(--xy-minimap-mask-background-color-default)));stroke:var(--xy-minimap-mask-stroke-color-props,var(--xy-minimap-mask-stroke-color,var(--xy-minimap-mask-stroke-color-default)));stroke-width:var(--xy-minimap-mask-stroke-width-props,var(--xy-minimap-mask-stroke-width,var(--xy-minimap-mask-stroke-width-default)))}.react-flow__minimap-node{fill:var(--xy-minimap-node-background-color-props,var(--xy-minimap-node-background-color,var(--xy-minimap-node-background-color-default)));stroke:var(--xy-minimap-node-stroke-color-props,var(--xy-minimap-node-stroke-color,var(--xy-minimap-node-stroke-color-default)));stroke-width:var(--xy-minimap-node-stroke-width-props,var(--xy-minimap-node-stroke-width,var(--xy-minimap-node-stroke-width-default)))}.react-flow__background-pattern.dots{fill:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-dots-color-default)))}.react-flow__background-pattern.lines{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-lines-color-default)))}.react-flow__background-pattern.cross{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-cross-color-default)))}.react-flow__controls{box-shadow:var(--xy-controls-box-shadow,var(--xy-controls-box-shadow-default));flex-direction:column;display:flex}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{background:var(--xy-controls-button-background-color,var(--xy-controls-button-background-color-default));border:none;border-bottom:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)));width:26px;height:26px;color:var(--xy-controls-button-color-props,var(--xy-controls-button-color,var(--xy-controls-button-color-default)));cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;padding:4px;display:flex}.react-flow__controls-button svg{fill:currentColor;width:100%;max-width:12px;max-height:12px}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{border-radius:var(--xy-node-border-radius,var(--xy-node-border-radius-default));width:150px;color:var(--xy-node-color,var(--xy-node-color-default));text-align:center;border:var(--xy-node-border,var(--xy-node-border-default));background-color:var(--xy-node-background-color,var(--xy-node-background-color-default));padding:10px;font-size:12px}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover,var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected,var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color,var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color,var(--xy-selection-background-color-default));border:var(--xy-selection-border,var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var(--xy-controls-button-background-color-hover-props,var(--xy-controls-button-background-color-hover,var(--xy-controls-button-background-color-hover-default)));color:var(--xy-controls-button-color-hover-props,var(--xy-controls-button-color-hover,var(--xy-controls-button-color-hover-default)))}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)))}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border:1px solid #fff;border-radius:1px;width:5px;height:5px;translate:-50% -50%}.react-flow__resize-control.handle.left{top:50%;left:0}.react-flow__resize-control.handle.right{top:50%;left:100%}.react-flow__resize-control.handle.top{top:0;left:50%}.react-flow__resize-control.handle.bottom{top:100%;left:50%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border-style:solid;border-width:0}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;height:100%;top:0;transform:translate(-50%)}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{width:100%;height:1px;left:0;transform:translateY(-50%)}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-text{fill:var(--xy-edge-label-color,var(--xy-edge-label-color-default))}.familyEditor{background:#eee8dc;height:100vh;overflow:hidden}.editorHeader{background:#faf8f2;border-bottom:1px solid #d8d1c4;justify-content:space-between;align-items:center;height:82px;padding:0 28px;display:flex}.editorHeader>div{gap:8px;display:flex}.editorHeader>div button{cursor:pointer;background:#fff;border:1px solid #d5ccbd;padding:11px 15px}.editorHeader .primary{background:var(--forest);color:#fff}.treeWorkspace{grid-template-columns:330px 1fr;height:calc(100vh - 82px);display:grid}.treeEditorPanel{background:#f8f4ec;border-right:1px solid #d6cec0;padding:28px 24px;overflow:auto}.treeEditorPanel h1{color:var(--ink);margin:0 0 12px;font:32px/1.05 Georgia}.treeEditorPanel>p{color:#69736e;font-size:13px;line-height:1.55}.treeEditorPanel label{gap:7px;margin:22px 0;font-size:12px;font-weight:700;display:grid}.treeEditorPanel select,.treeEditorPanel input{background:#fff;border:1px solid #d6cec0;outline:none;width:100%;padding:11px}.editorHint{color:#655d51;background:#e8e0d2;padding:11px;font-size:11px;line-height:1.45}.editorSection{border-top:1px solid #ddd4c6;margin-top:22px;padding-top:20px}.editorSection h2{color:var(--ink);font:19px Georgia}.editorSection input+input{margin-top:8px}.archiveResults{gap:6px;margin-top:10px;display:grid}.archiveResults button{text-align:left;cursor:pointer;background:#fff;border:0;grid-template-columns:35px 1fr auto;align-items:center;gap:8px;padding:7px;display:grid}.archiveResults img,.archiveResults span{object-fit:cover;background:#e7dfd0;border-radius:50%;place-items:center;width:35px;height:35px;display:grid}.archiveResults b{font:13px Georgia}.archiveResults small{color:#a0523a;font-size:9px}.addManual{background:var(--forest);color:#fff;cursor:pointer;border:0;width:100%;margin-top:9px;padding:12px}.flowCanvas{position:relative}.flowPerson{background:#fffaf1;border:1px solid #cfc4b3;grid-template-columns:60px 1fr;align-items:center;gap:12px;width:250px;min-height:112px;padding:12px;display:grid;position:relative;box-shadow:0 7px 22px #3d4a4220}.flowPerson.selected{border:2px solid #a5533b;box-shadow:0 9px 26px #8f4d3930}.flowPerson>img,.flowInitials{object-fit:cover;color:#6d5544;background:#e4d8c2;place-items:center;width:60px;height:70px;font:20px Georgia;display:grid}.flowPerson strong{color:#173b35;font:17px Georgia;display:block}.flowPerson small{color:#9a5a44;margin-top:4px;display:block}.flowPerson p{color:#77807c;margin:7px 0 0;font-size:10px;line-height:1.3}.nodeActions{display:flex;position:absolute;top:4px;right:4px}.nodeActions button{color:#80776b;cursor:pointer;background:0 0;border:0}.react-flow__handle{background:#a3543b;border:2px solid #fff;width:10px;height:10px}.flowStatus{color:#59645f;font-size:11px;background:#fffaf1!important;border:1px solid #d3c8b6!important;padding:10px 14px!important}.react-flow__edge-textbg{fill:#f7f3ea}.react-flow__edge-text{font-family:Arial}.react-flow__controls{box-shadow:0 4px 14px #0002}.react-flow__minimap{background:#f9f5ec;border:1px solid #d4cabc}.react-flow__edge.selected path{stroke:#b64f32!important;stroke-width:4px!important}.selectedRelation{background:#fff;border:1px solid #c9bdaa;gap:8px;margin-top:10px;padding:12px;display:grid}.selectedRelation strong{color:#173b35;font:16px Georgia}.selectedRelation select{margin:0}.selectedRelation button{color:#fff;cursor:pointer;background:#9f4935;border:0;padding:10px}.selectedRelation small{color:#81766a;line-height:1.35}.saveStatus{color:#69736e;background:#eee9df;border-radius:20px;align-self:center;padding:7px 10px;font-size:11px}.saveStatus.saved{color:#2d6557;background:#e2eee8}.saveStatus.saving,.saveStatus.loading{color:#856638}.saveStatus.local,.saveStatus.conflict{color:#9d4937;background:#f5e5df}.adminLogin{background:radial-gradient(circle at 20% 10%,#f8f1e4,#e9e1d3 55%,#dcd5c9);place-items:center;min-height:100vh;padding:24px;display:grid}.adminLogin section{background:#fffaf2;border:1px solid #d0c5b4;width:min(430px,100%);padding:38px;box-shadow:0 24px 70px #263d3422}.adminLogin .brand{margin-bottom:38px}.adminLogin h1{color:#173b35;margin:12px 0;font:40px/1 Georgia}.adminLogin p{color:#6b746f;line-height:1.55}.adminLogin label{gap:7px;margin-top:16px;font-size:12px;font-weight:700;display:grid}.adminLogin input{background:#fff;border:1px solid #cfc4b3;padding:13px;font:15px inherit}.loginButton,.backButton{cursor:pointer;width:100%;margin-top:14px;padding:13px}.loginButton{color:#fff;background:#173b35;border:0}.backButton{color:#53615c;background:0 0;border:1px solid #cfc4b3}.loginError{color:#98452f;background:#f5e2dc;margin-top:12px;padding:10px;font-size:12px}@media (width<=800px){.editorHeader{height:70px;padding:0 14px}.editorHeader>div button:not(.primary){display:none}.treeWorkspace{grid-template-columns:1fr;height:calc(100vh - 70px)}.treeEditorPanel{z-index:8;width:280px;max-height:55vh;position:absolute;top:82px;left:10px;box-shadow:0 12px 30px #0002}.flowCanvas{height:100%}.familyEditor .brand small{display:none}}.addAllArchive{color:#173b35;cursor:pointer;background:#edf4ef;border:1px solid #58786e;width:100%;margin:0 0 10px;padding:11px 12px;font-weight:700}.addAllArchive:hover{background:#dfece4}.archiveAdmin{color:#233b35;background:#eee8dc;min-height:100vh}.archiveAdmin>header{background:#fffaf2;border-bottom:1px solid #d4cabc;justify-content:space-between;align-items:center;height:82px;padding:0 28px;display:flex}.archiveAdmin>header b{letter-spacing:.08em;font:18px Georgia}.archiveAdmin>header small{color:#8b8275;font:10px Arial;display:block}.archiveAdmin button{cursor:pointer}.archiveAdmin>header button,.adminTitle button{background:#fff;border:1px solid #cfc4b3;padding:11px 15px}.adminBody{grid-template-columns:220px 1fr;min-height:calc(100vh - 82px);display:grid}.adminBody>aside{background:#173b35;padding:28px 16px}.adminBody>aside button{color:#d7e0db;text-align:left;background:0 0;border:0;width:100%;padding:13px}.adminBody>aside button.active{color:#fff;background:#ffffff16}.adminBody>section{padding:34px}.adminTitle{justify-content:space-between;align-items:end;display:flex}.adminTitle h1{margin:0;font:38px Georgia}.adminNotice{background:#fff8eb;border:1px solid #d8cbb8;margin:18px 0;padding:11px 14px}.adminColumns{grid-template-columns:280px minmax(400px,760px);gap:22px;margin-top:24px;display:grid}.recordList,.recordForm{background:#fffaf2;border:1px solid #d2c7b7}.recordList{max-height:720px;overflow:auto}.recordList button{text-align:left;background:0 0;border:0;border-bottom:1px solid #e3dbcf;width:100%;padding:13px 15px;display:block}.recordList button.active{background:#e5ede7}.recordList b,.recordList small{display:block}.recordList small{color:#8b8174;margin-top:4px}.recordForm{padding:24px}.recordForm h2{margin-top:0;font:25px Georgia}.recordForm label{gap:6px;margin-top:13px;font-size:12px;font-weight:700;display:grid}.recordForm input,.recordForm select,.recordForm textarea{background:#fff;border:1px solid #d0c5b5;padding:11px;font:14px Arial}.recordForm textarea{resize:vertical}.recordForm .check{align-items:center;display:flex}.formRow{grid-template-columns:1fr 1fr;gap:12px;display:grid}.recordForm .save{color:#fff;background:#173b35;border:0;margin:20px 0 0 auto;padding:12px 16px;display:block}@media (width<=850px){.adminBody{grid-template-columns:1fr}.adminBody>aside{padding:8px;display:flex}.adminColumns{grid-template-columns:1fr}.adminBody>section{padding:20px}}.mediaPage{background:#eee8dc;grid-template-columns:380px 1fr;gap:28px;min-height:calc(100vh - 82px);padding:34px;display:grid}.mediaPage .recordForm{background:#fffaf2;border:1px solid #d2c7b7;height:max-content;padding:24px}.mediaPage h1{margin-top:0;font:30px Georgia}.mediaPage label{gap:6px;margin-top:13px;font-size:12px;font-weight:700;display:grid}.mediaPage input,.mediaPage select{background:#fff;border:1px solid #d0c5b5;padding:11px}.mediaPage .save{color:#fff;background:#173b35;border:0;margin:20px 0 0 auto;padding:12px 16px;display:block}.mediaGrid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));align-content:start;gap:14px;display:grid}.mediaGrid article{background:#fffaf2;border:1px solid #d2c7b7;grid-template-columns:100px 1fr;gap:12px;padding:10px;display:grid}.mediaGrid img,.fileIcon{object-fit:cover;color:#6e6253;background:#ded6c8;place-items:center;width:100px;height:100px;font:12px Georgia;display:grid}.mediaGrid b,.mediaGrid small{display:block}.mediaGrid small{color:#80766a;margin:7px 0;font-size:10px}.mediaGrid a,.mediaGrid button{margin-right:8px;font-size:11px}.mediaGrid button{color:#a64d37;cursor:pointer;background:0 0;border:0}@media (width<=850px){.mediaPage{grid-template-columns:1fr;padding:18px}}.auditPage{max-width:1050px;margin:auto;padding:36px 24px}.auditPage .adminTitle{justify-content:space-between;align-items:center;display:flex}.auditPage select{background:#fffaf2;border:1px solid #c8bdad;padding:10px}.auditList{gap:10px;display:grid}.auditList article{background:#fffaf2;border:1px solid #d5cabb;grid-template-columns:180px 1fr auto;align-items:center;gap:8px 20px;padding:17px;display:grid}.auditList time,.auditList small{color:#6d7772}.auditList button{cursor:pointer;background:#fff;border:1px solid #ad806e;grid-area:1/3/3;padding:8px}@media (width<=700px){.auditList article{grid-template-columns:1fr}.auditList button{grid-area:auto/1}.auditPage .adminTitle{flex-direction:column;align-items:stretch}}.dataTools{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;max-width:1100px;margin:auto;padding:40px 24px;display:grid}.dataTools article{background:#fffaf2;border:1px solid #d4c9b8;align-content:start;gap:12px;padding:25px;display:grid}.dataTools h1,.dataTools h2{margin:0;font:30px Georgia}.dataTools input,.dataTools select,.dataTools button{background:#fff;border:1px solid #c6baa8;padding:11px}.dataTools button{cursor:pointer}.toolButtons,.userList{gap:8px;display:grid}.userList span{border-bottom:1px solid #ded5c7;justify-content:space-between;padding:8px 0;display:flex}.userList small{color:#69736f}.publicTree{color:#263832;background:#f4efe5;min-height:100vh}.publicTree>header{background:#faf7f0;border-bottom:1px solid #d8cfbf;justify-content:space-between;align-items:center;height:76px;padding:0 5vw;display:flex}.publicTree>header>button:last-child,.loadBranch{cursor:pointer;background:#fffaf2;border:1px solid #b9ad9b;padding:11px 17px}.publicTreeToolbar{justify-content:space-between;align-items:end;gap:30px;padding:32px 5vw 20px;display:flex}.publicTreeToolbar h1{margin:8px 0;font-family:Georgia,serif;font-size:clamp(34px,5vw,58px)}.publicTreeToolbar p{color:#65716c;margin:0}.publicFlow{background:#fbf8f1;border:1px solid #d5cbbb;height:calc(100vh - 245px);min-height:500px;margin:0 3vw;position:relative}.publicPersonNode{text-align:left;cursor:pointer;color:#263832;background:#fffdf8;border:1px solid #cbbfac;border-radius:4px;grid-template-columns:58px 1fr;gap:4px 12px;width:230px;min-height:104px;padding:14px;display:grid;box-shadow:0 6px 18px #463b2b16}.publicPersonNode img,.publicPersonNode>span{object-fit:cover;background:#dce5df;grid-row:1/3;place-items:center;width:58px;height:72px;font:700 20px Georgia;display:grid}.publicPersonNode b{align-self:end}.publicPersonNode small{color:#7a756b}.publicNotice{z-index:5;position:absolute;top:18px;left:20px}.loadBranch{margin:18px auto 32px;display:block}.treeEmpty{text-align:center;padding:60px}@media (width<=700px){.publicTreeToolbar{flex-direction:column;align-items:stretch}.publicFlow{height:65vh;margin:0 12px}.publicTree>header{padding:0 14px}}.publicTree>.editTreeButton{z-index:20;color:#fff;cursor:pointer;background:#173b35;border:1px solid #173b35;padding:11px 16px;position:fixed;top:21px;right:330px}.publicTree>.editTreeButton:hover{background:#28554c}@media (width<=760px){.publicTree>.editTreeButton{width:calc(100% - 32px);margin:12px 16px 0;position:static}}.publicTree>header button,.loadBranch{cursor:pointer;background:#fffaf2;border:1px solid #b9ad9b;padding:11px 17px}.publicTree>header .brand{background:0 0;border:0;padding:0}.publicTree>header>div{gap:8px;display:flex}.treeFilters{gap:8px;min-width:310px;display:grid}.treeFilters select{background:#fffaf2;border:1px solid #c7bcaa;padding:11px}.treeFilters>small{color:#65716c}.personActions{gap:8px;margin:18px 0;display:flex}.personActions button{background:#fffaf2;border:1px solid #b9ad9b;padding:9px 12px}@media print{.publicTree header,.publicTreeToolbar,.react-flow__controls,.react-flow__minimap,.loadBranch,.publicNotice{display:none!important}.publicFlow{border:0;height:95vh;margin:0}}.archiveSectionPage{color:#273a34;background:#f4efe5;min-height:100vh}.archiveSectionPage>header{background:#faf7f0;border-bottom:1px solid #d8cfbf;justify-content:space-between;align-items:center;height:76px;padding:0 5vw;display:flex}.archiveSectionPage>header>button:last-child,.sectionIntro select{background:#fffaf2;border:1px solid #c7bcaa;padding:10px 14px}.sectionIntro{max-width:1100px;margin:auto;padding:54px 28px 28px}.sectionIntro h1{margin:10px 0;font:clamp(40px,6vw,72px) Georgia}.sectionIntro p{color:#69736f;max-width:720px;line-height:1.7}.timelineList{max-width:900px;margin:0 auto;padding:20px 28px 80px}.timelineList article{grid-template-columns:90px 24px 1fr;gap:18px;min-height:105px;display:grid}.timelineList time{color:#9a563f;font:26px Georgia}.timelineList article>i{background:#315f54;border-radius:50%;width:11px;height:11px;margin-top:8px;position:relative}.timelineList article>i:after{content:"";background:#b9c3bd;width:1px;height:96px;position:absolute;top:11px;left:5px}.timelineList h2{margin:4px 0;font:24px Georgia}.timelineList small{text-transform:uppercase;letter-spacing:.12em;color:#77827d}.familyMapCanvas{background:linear-gradient(150deg,#d9e1d9,#eee5d4);border:1px solid #cfc4b3;height:62vh;min-height:480px;margin:0 4vw 50px;position:relative;overflow:hidden}.mapGrid{background-image:linear-gradient(#66827718 1px,#0000 1px),linear-gradient(90deg,#66827718 1px,#0000 1px);background-size:5% 10%;position:absolute;inset:0}.mapPoint{white-space:nowrap;text-align:left;background:#fffdf7;border:0;padding:8px 12px;display:grid;position:absolute;transform:translate(-50%,-50%);box-shadow:0 4px 14px #273a3433}.mapPoint i{background:#a6543b;border-radius:50%;width:12px;height:12px;position:absolute;top:14px;left:-7px}.mapPoint small{color:#69736f}.mapEmpty{text-align:center;background:#fffaf2e8;max-width:480px;padding:30px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.mapEmpty b{font:26px Georgia}.mapEmpty p{color:#68736e;line-height:1.6}@media (width<=650px){.archiveSectionPage>header{padding:0 14px}.familyMapCanvas{margin:0 12px}.timelineList article{grid-template-columns:70px 18px 1fr}}.storyList{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;max-width:1100px;margin:auto;padding:10px 28px 80px;display:grid}.storyList>button{text-align:left;cursor:pointer;background:#fffaf2;border:1px solid #d2c7b6;padding:26px}.storyList h2{margin:12px 0;font:27px Georgia}.storyList p{color:#65716c;line-height:1.6}.mapEmpty.static{grid-column:1/-1;margin:auto;position:static;transform:none}.storyModal{max-height:85vh;overflow:auto}.storyBody{margin-top:24px;line-height:1.75}.archiveIntro{justify-content:space-between;align-items:end;gap:24px;display:flex}.archiveIntro>div:last-child{gap:8px;min-width:300px;display:grid}.archiveIntro input,.archiveIntro select{background:#fffaf2;border:1px solid #c7bcaa;padding:11px}.publicArchiveGrid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px;padding:0 4vw 70px;display:grid}.publicArchiveGrid>button{text-align:left;cursor:pointer;background:#fffaf2;border:1px solid #d3c8b8;padding:0;overflow:hidden}.publicArchiveGrid img,.archiveFileType{object-fit:cover;text-transform:uppercase;background:#dbe3dc;place-items:center;width:100%;height:230px;display:grid}.publicArchiveGrid span{padding:13px;display:grid}.publicArchiveGrid small{color:#69736f;margin-top:5px}.archivePreview>img{object-fit:contain;background:#ece7dc;width:100%;max-height:58vh}.archivePreview h2{font:28px Georgia}@media (width<=700px){.archiveIntro{flex-direction:column;align-items:stretch}.archiveIntro>div:last-child{min-width:0}.publicArchiveGrid{grid-template-columns:repeat(2,minmax(0,1fr));padding:0 12px 50px}.publicArchiveGrid img{height:170px}}.peopleIntro{justify-content:space-between;align-items:end;gap:25px;display:flex}.peopleIntro>input{background:#fffaf2;border:1px solid #c8bdac;min-width:360px;padding:14px}.peopleGrid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;padding:0 4vw 70px;display:grid}.peopleGrid>button{text-align:left;cursor:pointer;background:#fffaf2;border:1px solid #d4cab9;grid-template-columns:78px 1fr;gap:15px;padding:14px;display:grid}.peopleGrid img,.peopleGrid>button>span{object-fit:cover;background:#dce4de;place-items:center;width:78px;height:98px;font:24px Georgia;display:grid}.peopleGrid div{align-content:center;display:grid}.peopleGrid b{font:21px Georgia}.peopleGrid small{color:#925840;margin:4px 0}.peopleGrid p{color:#68736e;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13px;display:-webkit-box;overflow:hidden}.showTreeButton{cursor:pointer;background:#edf4ef;border:1px solid #496c62;padding:11px 16px}@media (width<=700px){.peopleIntro{flex-direction:column;align-items:stretch}.peopleIntro>input{min-width:0}.peopleGrid{padding:0 12px 50px}}
