:root{--accent: #d84f4f;--accent-strong: #b83c3c;--accent-soft: #fff0ef;--adoptive: #6f5cc2;--background: #f7f7f5;--border: #e7e4df;--border-strong: #d7d3cc;--control: #f6f5f2;--friend: #b36a24;--guardian: #b64e68;--ink: #242424;--line: #2f343b;--muted: #6f6a64;--muted-soft: #938d85;--paper: #ffffff;--panel: rgba(255, 255, 255, .94);--panel-solid: #ffffff;--radius-control: 12px;--radius-panel: 18px;--related: #4d6f93;--shadow: 0 18px 48px rgba(0, 0, 0, .1);--shadow-soft: 0 8px 24px rgba(0, 0, 0, .07);--side-panel-width: 410px;--soft: #f4f2ef;background:var(--background);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html,body,#root{min-height:100%}body{background:var(--background);margin:0;min-width:320px}button,input,select,textarea{font:inherit}button{cursor:pointer}button,input,select,textarea{transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease,color .16s ease,transform .16s ease}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:none;box-shadow:0 0 0 3px var(--accent-soft),0 0 0 1px #d84f4f94}.icon{display:block;height:18px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2;width:18px}.visuallyHidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.uiIconButton{align-items:center;background:var(--control);border:1px solid transparent;border-radius:var(--radius-control);color:var(--ink);display:inline-flex;flex:0 0 auto;height:40px;justify-content:center;padding:0;position:relative;width:40px}.uiIconButton:hover{background:var(--paper);border-color:var(--border-strong);color:var(--accent)}.uiIconButton.active,.uiIconButton[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--paper)}.uiIconButtonGlyph{align-items:center;display:inline-flex;justify-content:center}.uiTooltip{background:#242424eb;border-radius:9px;bottom:calc(100% + 9px);color:#fff;font-size:11px;font-weight:680;left:50%;line-height:1;opacity:0;padding:7px 8px;pointer-events:none;position:absolute;transform:translate(-50%,4px);transition:opacity .14s ease,transform .14s ease;white-space:nowrap;z-index:60}.uiIconButton:hover .uiTooltip,.uiIconButton:focus-visible .uiTooltip{opacity:1;transform:translate(-50%)}.uiButton{align-items:center;background:var(--control);border:1px solid var(--border);border-radius:var(--radius-control);color:var(--ink);display:inline-flex;font-size:12px;font-weight:730;justify-content:center;min-height:36px;padding:0 11px}.uiButton:hover{background:var(--paper);border-color:var(--border-strong);color:var(--accent)}.uiButton-primary{background:var(--accent);border-color:var(--accent);color:var(--paper)}.uiButton-primary:hover{background:var(--accent-strong);border-color:var(--accent-strong);color:var(--paper)}.uiButton-danger{background:#fff4f2;border-color:#efd0cb;color:#8c352f}.uiButton-danger:hover{background:#ffe9e4;border-color:#e3b8b0;color:#7b2b25}.uiButton:disabled{cursor:not-allowed;opacity:.55}.uiPanelHeader{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:16px}.uiPanelTitle{min-width:0}.uiPanelHeader .eyebrow{margin:0}.uiPanelSubtitle{color:var(--muted);font-size:12px;line-height:1.25;margin:5px 0 0}.uiCloseButton{height:34px;width:34px}.uiCloseButton .uiTooltip{display:none}.uiField{display:grid;gap:5px}.uiFieldWide{grid-column:1 / -1}.uiFieldLabel{color:var(--muted);font-size:10px;font-weight:760;letter-spacing:0;line-height:1;text-transform:uppercase}.uiControl{background:var(--control);border:1px solid transparent;border-radius:var(--radius-control);color:var(--ink);min-height:36px;outline:none;padding:9px 10px;width:100%}.uiControl:focus{background:var(--paper);border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}textarea.uiControl{line-height:1.35;resize:vertical}.familyPage{background:transparent;min-height:100svh;overflow:hidden;padding:0}.boardControls{align-items:center;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:var(--panel);border:1px solid rgba(231,228,223,.92);border-radius:var(--radius-panel);box-shadow:var(--shadow-soft);display:flex;gap:8px;flex-wrap:nowrap;max-width:min(var(--side-panel-width),calc(100% - 32px));padding:8px;position:absolute;right:16px;top:16px;width:min(var(--side-panel-width),calc(100% - 32px));z-index:38}.commandBar{align-items:center;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:var(--panel);border:1px solid rgba(231,228,223,.92);border-radius:var(--radius-panel);bottom:16px;box-shadow:var(--shadow-soft);display:inline-flex;gap:8px;justify-content:center;left:50%;padding:8px;position:absolute;transform:translate(-50%);width:auto;z-index:32}.eyebrow,.sectionTitle{color:var(--muted);font-size:11px;font-weight:760;letter-spacing:0;line-height:1;margin:0 0 8px;text-transform:uppercase}.headerMeta{align-self:center;color:var(--muted-soft);font-size:11px;font-weight:620;line-height:1.3;margin:0;white-space:nowrap}.topSearch{align-self:center;flex:1 1 280px;min-width:0;position:relative;z-index:12}.topSearch input{appearance:none;background:var(--control);border:1px solid transparent;border-radius:var(--radius-control);color:var(--ink);font-size:13px;font-weight:560;height:40px;outline:none;padding:0 16px;width:100%}.topSearch input:focus{background:var(--paper);border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.topSearchResults{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff5;border:1px solid rgba(231,228,223,.94);border-radius:var(--radius-panel);box-shadow:var(--shadow);display:grid;gap:4px;left:0;margin-top:6px;max-height:min(420px,calc(100vh - 120px));overflow:auto;padding:6px;position:absolute;right:0}.commandBar .topSearchResults{bottom:calc(100% + 10px);margin-bottom:0;margin-top:0;top:auto}.topFilters{align-self:center;min-width:0;position:relative;z-index:14}.filterMenu{position:relative}.filterMenu summary{align-items:center;background:var(--control);border:1px solid transparent;border-radius:var(--radius-control);color:var(--ink);display:inline-flex;height:40px;justify-content:center;list-style:none;padding:0;position:relative;-webkit-user-select:none;user-select:none;width:40px}.filterMenu summary:hover,.filterMenu[open] summary{background:var(--paper);border-color:var(--border-strong);box-shadow:0 6px 16px #0000000f;color:var(--accent)}.filterMenu summary::-webkit-details-marker{display:none}.filterBadge{align-items:center;background:var(--accent);border-radius:999px;color:var(--paper);display:inline-flex;font-size:10px;font-weight:760;height:18px;justify-content:center;line-height:1;min-width:18px;padding:0 5px;position:absolute;right:-5px;top:-5px}.filterMenuPanel{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff5;border:1px solid rgba(231,228,223,.94);border-radius:var(--radius-panel);box-shadow:var(--shadow);display:grid;gap:8px;min-width:286px;padding:12px;position:absolute;right:0;top:calc(100% + 10px)}.filterStats{background:#f3f5f8d6;border:1px solid var(--border);border-radius:var(--radius-control);display:grid;gap:4px;padding:10px}.filterStats span{color:var(--muted);font-size:10px;font-weight:780;letter-spacing:0;line-height:1;text-transform:uppercase}.filterStats strong{color:var(--ink);font-size:13px;font-weight:800;line-height:1.15}.filterStats small{color:var(--muted);font-size:11px;font-weight:650;line-height:1.15}.selectFilter{display:grid;gap:5px}.selectFilter span{color:var(--muted);font-size:10px;font-weight:760;letter-spacing:0;line-height:1;text-transform:uppercase}.selectFilter select{appearance:none;background:linear-gradient(45deg,transparent 50%,var(--muted) 50%) right 14px center / 6px 6px no-repeat,linear-gradient(135deg,var(--muted) 50%,transparent 50%) right 9px center / 6px 6px no-repeat,var(--control);border:1px solid transparent;border-radius:var(--radius-control);color:var(--ink);height:36px;min-width:0;outline:none;padding:0 28px 0 10px;width:100%}.selectFilter select:focus{background-color:var(--paper);border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.filterDivider{background:var(--border);height:1px;margin:4px 0}.resetFiltersButton{background:var(--paper);border:1px solid var(--border);border-radius:var(--radius-control);color:var(--ink);font-size:12px;font-weight:700;height:34px;padding:0 10px}.resetFiltersButton:hover{border-color:var(--border-strong);box-shadow:var(--shadow-soft);color:var(--accent)}.zoomOverlay{bottom:18px;left:18px;position:absolute;z-index:20}.zoomControls{align-items:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#fffdf661;border:1px solid rgba(231,228,223,.34);border-radius:999px;display:inline-flex;gap:2px;height:28px;opacity:.58;padding:2px 5px;transition:background .14s ease,border-color .14s ease,opacity .14s ease}.zoomControls:hover,.zoomControls:focus-within{background:#fffdf68f;border-color:#b8b1a361;opacity:.82}.zoomControls button{align-items:center;background:transparent;border:1px solid transparent;border-radius:999px;color:#2f2e2b94;display:inline-flex;font-size:12px;font-weight:700;height:20px;justify-content:center;line-height:1;padding:0;width:20px}.zoomControls button:hover{background:#ffffff70;border-color:#b8b1a347;color:#2f2e2bc2}.zoomPercentButton{color:#726f6694;font-size:8px;font-weight:680;min-width:28px;padding:0 3px;width:auto}.zoomControls .zoomPercentButton:hover,.zoomControls .zoomPercentButton:focus-visible{background:transparent;border-color:transparent;color:#726f6694}.zoomControls input{appearance:none;background:transparent;height:18px;width:62px}.zoomControls input::-webkit-slider-runnable-track{background:#726f6629;border-radius:999px;height:1px}.zoomControls input::-webkit-slider-thumb{appearance:none;background:#726f668a;border:0;border-radius:999px;height:8px;margin-top:-3.5px;width:8px}.zoomControls input::-moz-range-track{background:#726f6629;border-radius:999px;height:1px}.zoomControls input::-moz-range-thumb{background:#726f668a;border:0;border-radius:999px;height:8px;width:8px}.workspace{display:block;height:100svh;margin:0;max-width:none;min-height:0;position:relative}.editorPanel,.photoPanel,.profilePanel,.treePanel,.chroniclePanel{background:var(--panel-solid);border:1px solid var(--border);border-radius:var(--radius-panel);min-width:0}.profilePanel{background:var(--paper);border-color:var(--border);box-shadow:var(--shadow);max-height:calc(100% - 112px);overflow:auto;padding:18px;position:absolute;right:16px;top:86px;width:min(var(--side-panel-width),calc(100% - 32px));z-index:34}.editorPanel{background:var(--paper);border-color:var(--border);box-shadow:var(--shadow);max-height:calc(100% - 112px);overflow:auto;padding:18px;position:absolute;right:16px;top:86px;width:min(480px,calc(100% - 32px));z-index:36}.photoPanel{background:var(--paper);border-color:var(--border);box-shadow:var(--shadow);max-height:calc(100% - 112px);overflow:auto;padding:18px;position:absolute;right:16px;top:86px;width:min(760px,calc(100% - 32px));z-index:38}.topSearchResults button,.relationList button{align-items:center;background:var(--paper);border:1px solid var(--border);border-radius:var(--radius-control);color:var(--ink);display:grid;gap:10px;grid-template-columns:42px minmax(0,1fr);padding:8px;text-align:left;width:100%}.topSearchResults button:hover,.topSearchResults button.active,.relationList button:hover{background:var(--paper);border-color:var(--border-strong);box-shadow:0 6px 18px #0000000f}.topSearchResults button{background:transparent;border-color:transparent;border-radius:var(--radius-control);gap:7px;grid-template-columns:28px minmax(0,1fr);min-height:36px;padding:5px 6px}.topSearchResults button:hover,.topSearchResults button.active{box-shadow:none}.topSearchResults img{aspect-ratio:1;background:var(--control);border:1px solid var(--border);border-radius:999px;display:block;height:28px;object-fit:cover;width:28px}.topSearchResults span{display:grid;gap:3px;min-width:0}.topSearchResults strong{font-size:12px;font-weight:720;line-height:1.15;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topSearchResults small{color:var(--muted);font-size:10px;line-height:1.15}.layerToggle{align-items:center;background:var(--control);border:1px solid transparent;border-radius:var(--radius-control);display:flex;gap:7px;min-height:34px;padding:0 10px 0 9px}.layerToggle:hover{background:var(--paper);border-color:var(--border-strong)}.layerToggle span{color:var(--ink);font-size:12px;font-weight:650;line-height:1.2;white-space:nowrap}.layerToggle input{accent-color:var(--accent);height:16px;margin:0;width:16px}.chroniclePanel{background:transparent;border:0;border-radius:0;height:100%;min-height:0;overflow:hidden}.chronicleScroller{background:var(--background);height:100%;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch}.chronicleWorld{min-height:100%;min-width:100%;position:relative}.chronicleZoomLayer{left:0;position:absolute;top:0;transform-origin:left top;transition:transform .18s ease}.chronicleBackdrop{background:repeating-linear-gradient(0deg,rgba(36,36,36,.024) 0,rgba(36,36,36,.024) 1px,transparent 1px,transparent 32px),repeating-linear-gradient(90deg,rgba(36,36,36,.018) 0,rgba(36,36,36,.018) 1px,transparent 1px,transparent 36px),var(--paper);border:0;inset:0;overflow:hidden;pointer-events:none;position:absolute;z-index:0}.chronicleEraBand{background:linear-gradient(90deg,rgba(255,255,255,.76),transparent 20%,transparent 82%,rgba(255,255,255,.8)),var(--chronicle-band-color);border-bottom:1px solid rgba(36,36,36,.045);border-top:1px solid rgba(255,255,255,.78);left:0;min-height:26px;position:absolute;right:0}.chronicleEraText{color:#24221d61;display:none;gap:4px;left:96px;line-height:1;padding:18px 0 0;position:sticky;top:0;width:170px}.chronicleEraText strong{font-size:12px;font-weight:840;letter-spacing:0;text-transform:uppercase}.chronicleEraText span{font-size:11px;font-weight:660}.chronicleAxis{color:var(--muted);left:0;pointer-events:none;position:sticky;width:112px;z-index:6}.chronicleAxis:before{background:#6f6a643d;bottom:36px;content:"";left:78px;position:absolute;top:36px;width:1px}.chronicleTick{align-items:center;display:flex;filter:drop-shadow(0 1px 0 rgba(255,255,255,.92));font-size:11px;font-weight:620;gap:8px;justify-content:flex-end;left:20px;line-height:1;position:absolute;text-align:right;transform:translateY(-50%);width:66px}.chronicleTick:after{background:#6f6a6447;content:"";flex:0 0 8px;height:1px}.chronicleTick[data-major=true]{color:var(--ink);font-size:12px;font-weight:800}.chronicleTick[data-major=true]:after{background:#18212fb8;flex-basis:14px}.chronicleLines{inset:0;overflow:visible;pointer-events:none;position:absolute;z-index:3}.chronicleLink{fill:none;stroke:var(--line-color);stroke-linecap:round;stroke-linejoin:round;stroke-opacity:.26;stroke-width:1.45;vector-effect:non-scaling-stroke}.chronicleLink[data-surname-continuation=true]{filter:drop-shadow(0 0 5px color-mix(in srgb,var(--line-color) 42%,transparent));stroke-opacity:.82;stroke-width:3.35}.chronicleLink[data-surname-family=true]{stroke-opacity:.72;stroke-width:2.75}.chronicleLink[data-surname-active=true]{filter:drop-shadow(0 0 8px color-mix(in srgb,var(--line-color) 62%,transparent));stroke-opacity:.98;stroke-width:4.4}.chronicleLink[data-type=spouse]{stroke-width:1.35;stroke-opacity:.24}.chronicleLink[data-focus=active]{filter:none;stroke-opacity:.58;stroke-width:2.4}.chronicleLink[data-surname-continuation=true][data-focus=active]{filter:drop-shadow(0 0 5px color-mix(in srgb,var(--line-color) 42%,transparent));stroke-opacity:.92;stroke-width:3.7}.chronicleLink[data-surname-family=true][data-focus=active]{stroke-opacity:.76;stroke-width:2.75}.chronicleLink[data-type=spouse][data-focus=active]{stroke-opacity:.48;stroke-width:1.9}.chronicleLink[data-type=adoptive-parent]{stroke-dasharray:7 6;stroke-width:2.1}.chronicleLink[data-type=guardian]{stroke-dasharray:2 7;stroke-width:2}.chronicleLink[data-type=friend],.chronicleLink[data-type=related]{stroke-dasharray:5 7;stroke-opacity:.48;stroke-width:1.45}.chronicleLink[data-type=friend][data-focus=active],.chronicleLink[data-type=related][data-focus=active]{stroke-opacity:.78;stroke-width:1.9}.chronicleLink[data-focus=dim],.chronicleLink[data-type=friend][data-focus=dim],.chronicleLink[data-type=related][data-focus=dim]{stroke-opacity:.1}.chronicleLink[data-surname-continuation=true][data-focus=dim]{stroke-opacity:.24}.chronicleLink[data-surname-family=true][data-focus=dim]{stroke-opacity:.18}.chronicleLink[data-surname-active=true],.chronicleLink[data-surname-active=true][data-focus=active],.chronicleLink[data-surname-active=true][data-focus=dim]{filter:drop-shadow(0 0 8px color-mix(in srgb,var(--line-color) 62%,transparent));stroke-opacity:.98;stroke-width:4.4}.chronicleLinkLabel{fill:var(--line-color);font-size:13px;font-weight:780;letter-spacing:0;paint-order:stroke;pointer-events:none;stroke:var(--paper);stroke-linejoin:round;stroke-width:7px}.chronicleLinkLabel[data-focus=dim]{opacity:.18}.chronicleEvent circle{fill:var(--event-color);stroke:var(--paper);stroke-width:2;vector-effect:non-scaling-stroke}.chronicleEvent[data-kind=move] circle{stroke-dasharray:2 2}.chronicleEvent[data-kind=service] circle{fill:#3b3a36}.chroniclePeopleLayer{inset:0;position:absolute;z-index:5}.chroniclePerson{background:transparent;border:0;color:var(--ink);display:block;height:116px;padding:0;position:absolute;text-align:left;transform:translate(-50%,-50%);width:116px;transition:filter .16s ease,opacity .16s ease,transform .16s ease}.chroniclePerson:hover,.chroniclePerson.selected{z-index:8}.chroniclePerson[data-branch-focus=dim]{opacity:.22}.chroniclePerson[data-branch-focus=active]{z-index:7}.chroniclePerson[data-branch-focus=active] .chronicleMarker{box-shadow:0 0 0 5px color-mix(in srgb,var(--branch-color) 16%,transparent),0 8px 24px #0000001f}.chroniclePerson.editable{cursor:ew-resize;touch-action:none}.chroniclePerson.editable .chronicleMarker{box-shadow:0 0 0 4px #d84f4f1f,0 8px 22px #0000001a}.chronicleMarker{background:var(--paper);border:3px solid color-mix(in srgb,var(--branch-color) 86%,#ffffff);border-radius:999px;box-shadow:0 0 0 1px #e7e4dff5,0 8px 20px #0000001a;display:block;height:80px;left:50%;overflow:hidden;position:absolute;top:50%;transform:translate(-50%,-50%);transition:box-shadow .14s ease,transform .14s ease;width:80px}.chroniclePerson.key .chronicleMarker{background:var(--paper);border-color:var(--branch-color);border-width:3px;height:108px;width:108px}.chroniclePerson:hover .chronicleMarker,.chroniclePerson.selected .chronicleMarker{box-shadow:0 0 0 5px #d84f4f21,0 12px 28px #00000024;transform:translate(-50%,-50%) scale(1.04)}.chronicleMarker img{border-radius:999px;display:block;height:100%;object-fit:cover;width:100%}.chronicleLabel{display:grid;gap:3px;line-height:1.1;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%);width:250px}.chroniclePerson[data-side=right] .chronicleLabel{left:118px}.chroniclePerson[data-side=left] .chronicleLabel{right:118px;text-align:right}.chroniclePerson.key[data-side=right] .chronicleLabel{left:142px}.chroniclePerson.key[data-side=left] .chronicleLabel{right:142px}.chronicleLabel strong{color:var(--ink);font-size:11px;font-weight:760;letter-spacing:0;line-height:1.16;overflow-wrap:anywhere}.chronicleLabel small{color:var(--muted);font-size:10px;font-weight:650;line-height:1.05}.chronicleLabel em{color:var(--branch-color);font-size:10px;font-style:normal;font-weight:760;line-height:1.05}.chronicleLabel span{color:#24221dad;display:-webkit-box;font-size:10px;line-height:1.14;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:1}.chroniclePerson.secondary .chronicleLabel{width:230px}.chroniclePerson.secondary .chronicleLabel em,.chroniclePerson.secondary .chronicleLabel span{display:none}.treePanel{border:0;border-radius:0;height:100%;min-height:0;overflow:hidden}.treeScroller{height:100%;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch}.treeCanvas{background:linear-gradient(90deg,rgba(42,48,56,.032) 1px,transparent 1px),linear-gradient(rgba(42,48,56,.032) 1px,transparent 1px),var(--paper);background-size:34px 34px;min-height:100%;position:relative}.treeLines{inset:0;overflow:visible;pointer-events:none;position:absolute;z-index:2}.relationshipLine{fill:none;stroke:var(--line-color, var(--line));stroke-linecap:round;stroke-linejoin:round;stroke-opacity:.66;stroke-width:2;vector-effect:non-scaling-stroke}.relationshipLine[data-type=spouse]{stroke:var(--line-color, var(--accent));stroke-opacity:.56;stroke-width:2.2}.relationshipLine[data-type=adoptive-parent]{stroke:var(--adoptive);stroke-dasharray:7 6;stroke-opacity:.72}.relationshipLine[data-type=guardian]{stroke:var(--guardian);stroke-dasharray:2 7;stroke-opacity:.72}.relationshipLine[data-type=friend],.relationshipLine[data-type=related]{stroke-dasharray:5 7;stroke-opacity:.48;stroke-width:1.6}.relationshipLine[data-type=unknown-union]{stroke-dasharray:5 7}.timelineBackdrop{inset:0;overflow:hidden;pointer-events:none;position:absolute;z-index:0}.timelineBand{background:linear-gradient(90deg,rgba(255,255,255,.55),transparent 18%,transparent 82%,rgba(255,255,255,.55)),var(--timeline-band-color);border-bottom:1px solid rgba(42,48,56,.055);border-top:1px solid rgba(255,255,255,.48);left:0;min-height:18px;position:absolute;right:0}.timelineBand[data-major=true]{border-top-color:#2a30381f}.timelineBandLabel{color:#2a303838;display:inline-block;font-size:12px;font-weight:800;left:92px;letter-spacing:0;line-height:1;margin-top:12px;padding:4px 7px;position:sticky;text-transform:uppercase;white-space:nowrap}.timelineAxis{color:var(--muted);left:18px;pointer-events:none;position:sticky;top:auto;width:76px;z-index:1}.timelineAxis:before{background:#2a303833;bottom:24px;content:"";left:54px;position:absolute;top:24px;width:1px}.timelineTick{align-items:center;display:flex;filter:drop-shadow(0 1px 0 rgba(255,255,255,.76));font-size:11px;font-weight:700;gap:7px;justify-content:flex-end;left:0;letter-spacing:0;line-height:1;position:absolute;text-align:right;text-transform:uppercase;transform:translateY(-50%);width:64px}.timelineTick:after{background:#2a30384d;content:"";flex:0 0 9px;height:1px}.timelineTick[data-major=true]{color:var(--ink);font-size:12px}.timelineTick[data-major=true]:after{background:var(--ink);flex-basis:14px}.personNode,.unionNode{background:var(--paper);position:absolute;z-index:4}.personNode{border:1px solid var(--border);border-radius:var(--radius-control);box-shadow:0 8px 22px #0000000f;display:grid;grid-template-rows:minmax(0,1fr) 24px;overflow:hidden;padding:8px;transition:border-color .14s ease,box-shadow .14s ease,transform .14s ease}.personNode:hover,.personNode.selected{border-color:var(--accent);box-shadow:var(--shadow-soft);transform:translateY(-1px)}.nodeSelectButton{align-items:center;background:transparent;border:0;color:inherit;display:grid;gap:7px;grid-template-rows:92px 39px 17px;min-width:0;padding:0;text-align:center}.nodeSelectButton img{aspect-ratio:1;background:var(--soft);border:1px solid var(--border);border-radius:var(--radius-control);display:block;height:92px;justify-self:center;object-fit:cover;width:92px}.nodeName{align-self:end;color:var(--ink);display:-webkit-box;font-size:13px;font-weight:740;letter-spacing:0;line-height:1.16;overflow:hidden;overflow-wrap:anywhere;-webkit-box-orient:vertical;-webkit-line-clamp:2}.nodeDates{color:var(--muted);font-size:11px;line-height:1.1}.nodeStats{align-items:center;display:flex;gap:4px;justify-content:center}.nodeStats span{align-items:center;background:var(--soft);border:1px solid transparent;border-radius:999px;color:var(--muted);display:inline-flex;font-size:10px;font-weight:760;height:20px;justify-content:center;min-width:24px;padding:0 7px}.unionNode{align-content:center;border:1px solid var(--accent);border-radius:var(--radius-control);box-shadow:0 8px 22px #0000000f;display:grid;gap:5px;justify-items:center;padding:8px 10px;text-align:center}.unionNode[data-kind=single-parent],.unionNode[data-status=unknown]{border-color:var(--line);border-style:dashed}.unionNode[data-kind=co-parent]{border-color:var(--related)}.unionMark{border-bottom:2px solid currentColor;border-top:2px solid currentColor;color:var(--accent);display:block;height:10px;width:34px}.unionNode[data-kind=single-parent] .unionMark{background:var(--line);border:0;border-radius:999px;height:12px;width:12px}.unionNode strong{color:var(--ink);font-size:11px;font-weight:780;letter-spacing:0;line-height:1;text-transform:uppercase}.unionPeople{display:flex;flex-wrap:wrap;gap:4px;justify-content:center;max-width:100%}.unionPeople button,.unionPeople span{background:var(--soft);border:1px solid transparent;border-radius:999px;color:var(--muted);display:block;font-size:10px;line-height:1.1;max-width:72px;overflow:hidden;padding:4px 6px;text-overflow:ellipsis;white-space:nowrap}.unionPeople button:hover{border-color:var(--accent);color:var(--accent)}.profilePanel{display:block}.editorMessage{border:1px solid transparent;border-radius:var(--radius-control);font-size:12px;font-weight:650;line-height:1.35;margin:0 0 12px;padding:9px 10px}.editorMessage.success{background:#e7f3ed;border-color:#b8d8ca;color:#245d42}.editorMessage.warning{background:#f8eddb;border-color:#dfc391;color:#7c4b16}.editorHint{background:#f3f5f8d6;border:1px solid var(--border);border-radius:var(--radius-control);color:var(--muted);font-size:12px;line-height:1.4;margin:0 0 14px;padding:9px 10px}.editorContextNote{color:var(--muted);font-size:12px;line-height:1.35;margin:-3px 0 12px}.editorActions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.editorActions button,.inlineEditorForm button,.newPersonForm button,.smallDangerButton,.fileUploadButton{align-items:center;background:var(--control);border:1px solid var(--border);border-radius:var(--radius-control);color:var(--ink);display:inline-flex;font-size:12px;font-weight:730;min-height:36px;justify-content:center;padding:0 11px}.editorActions button:hover,.inlineEditorForm button:hover,.newPersonForm button:hover,.smallDangerButton:hover,.fileUploadButton:hover{background:var(--paper);border-color:var(--border-strong);color:var(--accent)}.newPersonForm button:disabled,.inlineEditorForm button:disabled,.editorActions button:disabled{cursor:not-allowed;opacity:.55}.editorBlock{border-top:1px solid var(--border);margin-top:18px;padding-top:18px}.editorBlock:first-of-type{border-top:0;margin-top:0;padding-top:0}.editorBlock h3{color:var(--ink);font-size:13px;font-weight:800;line-height:1;margin:0 0 11px}.editorDangerZone{background:#fff8f6;border:1px solid #efd0cb;border-radius:var(--radius-control);margin-top:18px;padding:12px}.editorDangerZone h3{color:#8c352f}.editorDangerZone p{color:#8c5a54;font-size:12px;line-height:1.38;margin:0 0 12px}.editorPhotoHeader{align-items:center;display:grid;gap:12px;grid-template-columns:72px minmax(0,1fr)}.editorPhotoHeader img{aspect-ratio:1;background:var(--control);border:1px solid var(--border);border-radius:999px;display:block;height:72px;object-fit:cover;width:72px}.editorPhotoHeader h2{color:var(--ink);font-size:17px;font-weight:800;line-height:1.12;margin:0;overflow-wrap:anywhere}.editorPhotoHeader p{color:var(--muted);font-size:12px;line-height:1.2;margin:6px 0 0}.editorFileActions{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.fileUploadButton{cursor:pointer;position:relative}.fileUploadButton input{height:1px;opacity:0;overflow:hidden;position:absolute;width:1px}.editorFormGrid,.newPersonForm,.inlineEditorForm{display:grid;gap:10px}.editorFormGrid,.editorFormGrid.twoColumns{grid-template-columns:repeat(2,minmax(0,1fr))}.editorWideField,.uiFieldWide{grid-column:1 / -1}.editorFormGrid label,.newPersonForm label,.inlineEditorForm label{display:grid;gap:5px}.editorFormGrid span,.newPersonForm span,.inlineEditorForm span{color:var(--muted);font-size:10px;font-weight:760;letter-spacing:0;line-height:1;text-transform:uppercase}.editorFormGrid input,.editorFormGrid textarea,.newPersonForm input,.newPersonForm textarea,.newPersonForm select,.editorRelationLabel input,.inlineEditorForm select{background:var(--control);border:1px solid transparent;border-radius:var(--radius-control);color:var(--ink);min-height:36px;outline:none;padding:9px 10px;width:100%}.editorFormGrid textarea,.newPersonForm textarea{line-height:1.35;resize:vertical}.editorFormGrid input:focus,.editorFormGrid textarea:focus,.newPersonForm input:focus,.newPersonForm textarea:focus,.newPersonForm select:focus,.editorRelationLabel input:focus,.inlineEditorForm select:focus{background:var(--paper);border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.editorRelationList{display:grid;gap:7px;margin-bottom:12px}.editorRelationItem{align-items:center;display:grid;gap:7px;grid-template-columns:minmax(0,1fr) auto}.editorRelationLabel{display:grid;gap:6px;grid-column:1 / -1}.editorRelationItem>button:first-child{background:var(--control);border:1px solid transparent;border-radius:var(--radius-control);color:var(--ink);display:grid;gap:4px;min-height:44px;padding:8px 10px;text-align:left}.editorRelationItem>button:first-child:hover{background:var(--paper);border-color:var(--border-strong)}.editorRelationItem span{color:var(--muted);font-size:10px;font-weight:760;line-height:1;text-transform:uppercase}.editorRelationItem strong{color:var(--ink);font-size:13px;font-weight:720;line-height:1.15;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.smallDangerButton{color:#8c352f;min-height:44px}.inlineEditorForm{background:#f3f5f8d6;border:1px solid var(--border);border-radius:var(--radius-panel);padding:12px}.profileHero{align-items:center;display:grid;gap:14px;grid-template-columns:92px minmax(0,1fr)}.profileHeroPhotoButton{background:transparent;border:0;border-radius:var(--radius-panel);display:block;padding:0;width:92px}.profileHeroPhotoButton:hover img,.profileHeroPhotoButton:focus-visible img{border-color:var(--border-strong);box-shadow:0 8px 20px #00000014}.profileHero img{aspect-ratio:1;background:var(--control);border:1px solid var(--border);border-radius:var(--radius-panel);display:block;height:92px;object-fit:cover;width:92px}.profileHero h2{color:var(--ink);font-size:20px;font-weight:780;letter-spacing:0;line-height:1.12;margin:0;overflow-wrap:anywhere}.profileLifeDates{color:var(--muted);font-size:13px;line-height:1.25;margin:7px 0 0}.profileEditAction{gap:7px;margin-top:12px;min-height:32px;padding:0 10px}.profileEditAction .icon{height:15px;width:15px}.profileStats{display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr));margin:18px 0 0}.profileStats div{background:var(--control);border:1px solid transparent;border-radius:var(--radius-control);padding:11px 10px}.profileStats dt{color:var(--muted);font-size:10px;font-weight:700;letter-spacing:0;line-height:1;margin:0 0 6px;text-transform:uppercase}.profileStats dd{color:var(--ink);font-size:18px;font-weight:780;line-height:1;margin:0}.profileBlock{border-top:1px solid var(--border);margin-top:18px;padding-top:18px}.profileBlock h3{color:var(--ink);font-size:13px;font-weight:780;letter-spacing:0;line-height:1;margin:0 0 10px}.profileBlockHeader{align-items:center;display:flex;gap:10px;justify-content:space-between;margin-bottom:10px}.profileBlockHeader h3{margin:0}.profileInlineAction{min-height:30px;padding:0 9px}.profileBlock p,.factList{color:var(--muted);font-size:13px;line-height:1.45;margin:0;overflow-wrap:anywhere;white-space:pre-line}.factList{display:grid;gap:8px;padding-left:18px}.tagList{display:flex;flex-wrap:wrap;gap:6px}.tagList span{background:var(--control);border:1px solid var(--border);border-radius:999px;color:var(--muted);font-size:11px;font-weight:680;line-height:1;padding:7px 9px}.photoStrip{display:grid;gap:8px;grid-template-columns:repeat(3,minmax(0,1fr))}.photoStrip figure{margin:0;min-width:0}.photoStrip button{background:transparent;border:0;border-radius:var(--radius-control);display:block;padding:0;width:100%}.photoStrip button:hover img{border-color:var(--border-strong);box-shadow:0 6px 18px #00000014}.photoStrip img{aspect-ratio:1;background:var(--control);border:1px solid var(--border);border-radius:var(--radius-control);display:block;object-fit:cover;width:100%}.photoStrip figcaption{color:var(--muted);font-size:10px;line-height:1.2;margin-top:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.photoPanelActions{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.photoPanelActions p{color:var(--muted);flex:1 1 auto;font-size:12px;font-weight:680;line-height:1.25;margin:0;min-width:180px}.personAlbumHero{align-items:center;background:#f3f5f8d6;border:1px solid var(--border);border-radius:var(--radius-panel);display:grid;gap:12px;grid-template-columns:74px minmax(0,1fr) auto;margin-bottom:12px;padding:12px}.personAlbumHero img{aspect-ratio:1;border:1px solid var(--border);border-radius:var(--radius-control);display:block;object-fit:cover;width:74px}.personAlbumHero p{color:var(--muted);font-size:10px;font-weight:820;letter-spacing:0;line-height:1;margin:0 0 6px;text-transform:uppercase}.personAlbumHero h2{color:var(--ink);font-size:18px;font-weight:800;line-height:1.12;margin:0;overflow-wrap:anywhere}.personAlbumHero span{color:var(--muted);display:block;font-size:12px;font-weight:640;line-height:1.3;margin-top:6px}.personAlbumHero .uiButton{min-height:34px;padding:0 11px}.personAlbumNotice{align-items:center;background:#f8eddb;border:1px solid #dfc391;border-radius:var(--radius-control);color:#7c4b16;display:flex;gap:8px;margin-bottom:10px;padding:9px 10px}.personAlbumNotice strong{font-size:15px;font-weight:820;line-height:1}.personAlbumNotice span{font-size:12px;font-weight:680;line-height:1.25}.personAlbumToolbar{display:flex;justify-content:flex-end;margin-bottom:12px}.personAlbumToolbar .uiButton{min-height:32px;padding:0 10px}.personAlbumDetailNav{align-items:center;background:var(--paper);border:1px solid var(--border);border-radius:var(--radius-control);display:flex;gap:10px;justify-content:space-between;margin-bottom:12px;padding:9px 10px}.personAlbumDetailNav .uiButton{min-height:32px;padding:0 10px}.personAlbumDetailNav span{color:var(--muted);font-size:12px;font-weight:680;line-height:1.25;min-width:0;overflow:hidden;text-align:right;text-overflow:ellipsis;white-space:nowrap}.personAlbumGrid{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(172px,1fr));margin-bottom:18px}.personAlbumGrid>button{background:var(--paper);border:1px solid var(--border);border-radius:var(--radius-control);color:var(--ink);display:grid;gap:8px;min-width:0;padding:8px;text-align:left}.personAlbumGrid>button:hover,.personAlbumGrid>button.active{border-color:var(--border-strong);box-shadow:0 8px 22px #00000014}.personAlbumGrid>button.active{outline:3px solid var(--accent-soft)}.personAlbumImage{background:var(--control);border-radius:var(--radius-control);display:block;overflow:hidden;position:relative}.personAlbumImage img{aspect-ratio:4 / 3;display:block;object-fit:cover;width:100%}.personAlbumImage em,.personAlbumImage strong{border-radius:999px;font-size:10px;font-style:normal;font-weight:820;line-height:1;padding:5px 7px;position:absolute;top:7px}.personAlbumImage em{background:#e7f3ed;border:1px solid #b8d8ca;color:#245d42;left:7px}.personAlbumImage strong{background:#f8eddb;border:1px solid #dfc391;color:#7c4b16;right:7px}.personAlbumCaption{color:var(--ink);display:-webkit-box;font-size:13px;font-weight:780;line-height:1.22;min-height:32px;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.personAlbumMeta{color:var(--muted);display:block;font-size:11px;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.personAlbumPeople{display:flex;min-height:26px}.personAlbumPeople img,.personAlbumPeople span{aspect-ratio:1;border:2px solid var(--paper);border-radius:999px;display:block;height:26px;margin-left:-6px;object-fit:cover;width:26px}.personAlbumPeople img:first-child,.personAlbumPeople span:first-child{margin-left:0}.personAlbumPeople span{align-items:center;background:var(--control);color:var(--muted);display:flex;font-size:10px;font-weight:800;justify-content:center}.photoQueueList{display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));margin-bottom:16px}.photoQueueList button{align-items:center;background:var(--control);border:1px solid transparent;border-radius:var(--radius-control);color:var(--ink);display:grid;gap:9px;grid-template-columns:54px minmax(0,1fr);min-height:72px;padding:8px;position:relative;text-align:left;width:100%}.photoQueueList button:hover,.photoQueueList button.active{background:var(--paper);border-color:var(--border-strong)}.photoQueueList img{aspect-ratio:1;background:var(--control);border:1px solid var(--border);border-radius:var(--radius-control);display:block;height:54px;object-fit:cover;width:54px}.photoQueueList span{display:grid;gap:5px;min-width:0}.photoQueueList strong{font-size:12px;font-weight:760;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.photoQueueList small{color:var(--muted);font-size:10px;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.photoQueueList em{background:#f8eddb;border:1px solid #dfc391;border-radius:999px;color:#7c4b16;font-size:9px;font-style:normal;font-weight:780;line-height:1;padding:4px 6px;position:absolute;right:7px;top:7px}.photoDetail{border-top:1px solid var(--border);display:grid;gap:12px;padding-top:16px}.photoDetailHeader{align-items:start;display:grid;gap:10px;grid-template-columns:minmax(0,1fr) auto}.photoDetailMode{color:var(--muted);font-size:10px;font-weight:800;letter-spacing:0;line-height:1;margin:0 0 7px;text-transform:uppercase}.photoDetailHeader h2{color:var(--ink);font-size:18px;font-weight:800;line-height:1.15;margin:0;overflow-wrap:anywhere}.photoDetailHeader p{color:var(--muted);font-size:12px;line-height:1.3;margin:6px 0 0}.photoDetailActions{align-items:end;display:grid;gap:8px;justify-items:end}.photoDetailActions .uiButton{min-height:32px;padding:0 10px}.photoStatus{border:1px solid var(--border);border-radius:999px;color:var(--muted);font-size:10px;font-weight:800;line-height:1;padding:6px 8px;white-space:nowrap}.photoStatus-confirmed{background:#e7f3ed;border-color:#b8d8ca;color:#245d42}.photoStatus-needs-review,.photoStatus-unidentified{background:#f8eddb;border-color:#dfc391;color:#7c4b16}.photoStatus-rejected{background:#f4e4e2;border-color:#d9aaa4;color:#8c352f}.photoViewBlock{border-top:1px solid var(--border);display:grid;gap:8px;padding-top:14px}.photoViewBlock h3,.photoPeopleView h3{color:var(--ink);font-size:13px;font-weight:800;line-height:1;margin:0}.photoViewBlock p{color:var(--muted);font-size:13px;line-height:1.45;margin:0;overflow-wrap:anywhere;white-space:pre-line}.photoMetaGrid{display:grid;gap:8px;grid-template-columns:repeat(4,minmax(0,1fr));margin:0}.photoMetaGrid div{background:#f3f5f8d6;border:1px solid var(--border);border-radius:var(--radius-control);min-width:0;padding:10px}.photoMetaGrid dt{color:var(--muted);font-size:10px;font-weight:780;letter-spacing:0;line-height:1;margin:0 0 6px;text-transform:uppercase}.photoMetaGrid dd{color:var(--ink);font-size:12px;font-weight:700;line-height:1.25;margin:0;overflow-wrap:anywhere}.photoPeopleView{border-top:1px solid var(--border);display:grid;gap:10px;padding-top:14px}.photoPeopleViewList{display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}.photoPeopleViewList button{align-items:center;background:#f3f5f8d6;border:1px solid var(--border);border-radius:var(--radius-control);color:var(--ink);display:grid;gap:9px;grid-template-columns:44px minmax(0,1fr);min-height:62px;padding:8px;text-align:left}.photoPeopleViewList button:hover{background:var(--paper);border-color:var(--border-strong)}.photoPeopleViewList img{aspect-ratio:1;border-radius:999px;display:block;object-fit:cover;width:44px}.photoPeopleViewList strong{color:var(--ink);display:block;font-size:13px;font-weight:760;line-height:1.18;overflow-wrap:anywhere}.photoPeopleViewList small{color:var(--muted);display:block;font-size:10px;line-height:1.15;margin-top:4px}.photoVersionTabs{display:flex;flex-wrap:wrap;gap:7px}.photoVersionTabs button{background:var(--control);border:1px solid transparent;border-radius:var(--radius-control);color:var(--muted);font-size:11px;font-weight:760;min-height:32px;padding:0 10px}.photoVersionTabs button:hover,.photoVersionTabs button.active{background:var(--paper);border-color:var(--border-strong);color:var(--accent)}.photoMarkupHint{background:#f3f5f8db;border:1px solid var(--border);border-radius:var(--radius-control);color:var(--ink);font-size:12px;font-weight:680;line-height:1.35;margin:0;padding:9px 10px}.photoMarkupStage{background:var(--control);border:1px solid var(--border);border-radius:var(--radius-panel);overflow:hidden;position:relative;touch-action:pan-y}.photoMarkupStage.marking{cursor:crosshair;touch-action:none}.photoMarkupStage img{display:block;max-height:min(62svh,620px);object-fit:contain;width:100%}.photoMarkupStage button,.photoDraftBox{background:#2f6fb029;border:2px solid #2f6fb0;border-radius:5px;color:#12375d;display:block;min-height:24px;min-width:24px;padding:0;position:absolute;z-index:2}.photoMarkupStage button{opacity:0;transition:background .14s ease,border-color .14s ease,opacity .14s ease}.photoMarkupStage:hover button,.photoMarkupStage:focus-within button,.photoMarkupStage.marking button,.photoMarkupStage button.active{opacity:1}.photoMarkupStage button.active,.photoMarkupStage button:hover{background:#d884282e;border-color:#d88428}.photoMarkupStage button span{background:#fffdf6f0;border:1px solid var(--border);border-radius:7px;bottom:5px;font-size:10px;font-weight:800;left:5px;max-width:calc(100% - 10px);overflow:hidden;padding:4px 6px;position:absolute;text-overflow:ellipsis;white-space:normal;word-break:break-word}.photoDraftBox{background:#245d421f;border-color:#245d42;pointer-events:none;z-index:3}@media(hover:none){.photoMarkupStage button{opacity:1}}.photoEditorGrid{display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.photoEditorGrid label,.photoPeopleEditor label{display:grid;gap:5px}.photoEditorGrid label>span,.photoPeopleEditor label>span{color:var(--muted);font-size:10px;font-weight:760;letter-spacing:0;line-height:1;text-transform:uppercase}.photoEditorGrid input,.photoEditorGrid select,.photoPeopleEditor select{background:var(--control);border:1px solid transparent;border-radius:var(--radius-control);color:var(--ink);min-height:36px;outline:none;padding:9px 10px;width:100%}.photoEditorGrid input:focus,.photoEditorGrid select:focus,.photoPeopleEditor select:focus{background:var(--paper);border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.photoPeopleEditor{border-top:1px solid var(--border);display:grid;gap:10px;padding-top:14px}.photoPeopleEditor h3{color:var(--ink);font-size:13px;font-weight:800;line-height:1;margin:0}.photoDangerZone{background:#fff8f6;border:1px solid #efd0cb;border-radius:var(--radius-control);display:grid;gap:10px;padding:12px}.photoDangerZone h3{color:#8c352f;font-size:13px;font-weight:800;line-height:1;margin:0}.photoDangerZone p{color:#8c5a54;font-size:12px;line-height:1.38;margin:0}.photoDangerZone .uiButton{justify-self:start}.photoPeopleList{display:grid;gap:8px}.photoPersonItem{align-items:center;background:#f3f5f8d6;border:1px solid var(--border);border-radius:var(--radius-control);display:grid;gap:8px;grid-template-columns:minmax(180px,1fr) 112px 112px auto;padding:8px}.photoPersonItem>button:first-child{align-items:center;background:transparent;border:0;color:var(--ink);display:grid;gap:8px;grid-template-columns:40px minmax(0,1fr);min-width:0;padding:0;text-align:left}.photoPersonItem img{aspect-ratio:1;border-radius:999px;display:block;object-fit:cover;width:40px}.photoPersonItem strong{display:block;font-size:12px;font-weight:760;line-height:1.15;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.photoPersonItem small{color:var(--muted);display:block;font-size:10px;line-height:1.15;margin-top:4px}.photoPersonActions{display:flex;gap:6px}.photoPersonActions button{min-height:36px;padding:0 10px}.photoPersonAddForm{grid-template-columns:minmax(0,1fr) 140px auto}.photoEmptyState{background:#f3f5f8d6;border:1px solid var(--border);border-radius:var(--radius-control);padding:12px}.relationList{display:grid;gap:7px}.relationGroups{display:grid;gap:13px}.relationGroup{display:grid;gap:8px}.relationGroup h4{color:var(--ink);font-size:11px;font-weight:820;letter-spacing:0;line-height:1;margin:0;text-transform:uppercase}.relationList button{align-items:start;background:var(--control);border-color:transparent;grid-template-columns:minmax(0,96px) minmax(0,1fr);text-align:left}.relationList span{color:var(--muted);font-size:11px;line-height:1.1}.relationList strong{color:var(--ink);font-size:13px;font-weight:720;line-height:1.15;overflow-wrap:anywhere}.emptyState{color:var(--muted);font-size:13px;line-height:1.4;margin:0}@media(max-width:1260px){.boardControls{flex-wrap:wrap}.headerMeta{margin-left:auto}}@media(max-width:840px){.familyPage{padding:0}.boardControls{align-items:center;display:flex;gap:8px;left:10px;max-width:none;right:10px;top:10px;transform:none;width:auto}.commandBar{bottom:58px;left:50%;right:auto;transform:translate(-50%);width:auto}.topSearch{align-self:stretch;flex:1 1 calc(100% - 48px)}.topSearchResults{max-height:320px}.topFilters{align-self:stretch;flex:0 0 40px}.filterMenu summary{width:40px}.filterMenuPanel{right:0}.zoomOverlay{bottom:10px;left:10px}.headerMeta{flex-basis:100%;margin-left:0;white-space:normal}.zoomControls{flex:0 0 auto;height:28px}.zoomPercentButton{min-width:28px}.zoomControls input{width:46px}.chronicleEraText{left:86px;width:142px}.chronicleLabel{width:230px}.chroniclePerson.secondary .chronicleLabel{width:210px}.profilePanel{inset:auto 10px 126px;max-height:min(72svh,620px);width:auto}.editorPanel,.photoPanel{inset:auto 10px 126px;max-height:min(76svh,680px);width:auto}.photoQueueList,.personAlbumGrid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.photoPersonItem{align-items:stretch;grid-template-columns:1fr 1fr}.photoPersonItem>button:first-child,.photoPersonActions{grid-column:1 / -1}.photoMetaGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.uiIconButton{flex:0 0 auto;height:36px;width:36px}}@media(max-width:520px){.profileHero{grid-template-columns:72px minmax(0,1fr)}.profileHeroPhotoButton{width:72px}.profileHero img{height:72px;width:72px}.profileHero h2{font-size:18px}.profileStats{grid-template-columns:repeat(3,minmax(0,1fr))}.photoStrip{grid-template-columns:repeat(2,minmax(0,1fr))}.personAlbumHero{align-items:start;grid-template-columns:58px minmax(0,1fr)}.personAlbumHero img{width:58px}.personAlbumHero .uiButton{grid-column:1 / -1;justify-self:stretch}.personAlbumDetailNav{align-items:stretch;display:grid;grid-template-columns:1fr}.personAlbumDetailNav span{text-align:left}.personAlbumGrid{grid-template-columns:1fr}.personAlbumImage img{aspect-ratio:16 / 10}.editorFormGrid,.editorFormGrid.twoColumns,.photoEditorGrid,.photoPersonAddForm,.editorRelationItem,.photoPersonItem,.photoDetailHeader{grid-template-columns:1fr}.photoDetailActions{align-items:center;display:flex;justify-content:space-between}.photoMetaGrid{grid-template-columns:1fr}.editorActions{display:grid;grid-template-columns:1fr 1fr}.editorActions .uiButton-primary{grid-column:1 / -1}.boardControls{padding:8px}.headerMeta{display:none}.filterMenuPanel{min-width:min(286px,calc(100vw - 20px))}}
