:root{color:#20221f;background:#eef1ed;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}body{margin:0;min-width:320px}button,input,select,textarea{font:inherit}button{align-items:center;background:#274c43;border:0;border-radius:6px;color:#fff;cursor:pointer;display:inline-flex;gap:8px;justify-content:center;min-height:38px;padding:9px 12px}button:hover{background:#1c3932}input,select,textarea{background:#fff;border:1px solid #cfd7d1;border-radius:6px;color:#20221f;min-height:38px;padding:9px 10px;width:100%}textarea{resize:vertical}h1,h2,h3{letter-spacing:0;line-height:1.1;margin:0}.bootScreen{align-items:center;background:linear-gradient(90deg,#eef1ede0,#eef1edf5),url(https://images.unsplash.com/photo-1511895426328-dc8714191300?auto=format&fit=crop&w=1600&q=80);background-position:center;background-size:cover;display:flex;justify-content:center;min-height:100vh;padding:24px}.bootPanel{background:#fffffff0;border:1px solid #d9dfdb;border-radius:8px;display:grid;gap:14px;max-width:420px;padding:24px;width:100%}.bootPanelSingle{max-width:440px}.bootPanel h1{font-size:38px}.bootTitle{display:grid;gap:5px}.bootTitle span{color:#66726b;font-size:13px;font-weight:700;text-transform:uppercase}.bootPanel label,.formStack label{display:grid;gap:6px}.formStack .checkboxLine{align-items:start;color:#4b564f;display:grid;font-size:13px;gap:8px;grid-template-columns:auto 1fr}.authTabs{background:#eef1ed;border:1px solid #d8dfda;border-radius:8px;display:grid;gap:4px;grid-template-columns:1fr 1fr;padding:4px}.authTabs button{background:transparent;color:#4b564f;min-height:36px}.authTabs button.active,.authTabs button[aria-selected=true]{background:#fff;color:#20221f}.authError{background:#fff4f0;border:1px solid #e6b5a5;border-radius:6px;color:#8c321c;margin:0;padding:10px 12px}.helperText{color:#58645d;font-size:14px;line-height:1.45;margin:0}.successText{background:#eef8f0;border:1px solid #add4b6;border-radius:6px;color:#255c34;margin:0;padding:10px 12px}.appShell{display:grid;grid-template-columns:minmax(260px,320px) 1fr minmax(280px,340px);height:100vh;min-height:100vh}.accountShell{background:#eef1ed;min-height:100vh;padding:24px}.accountPanel{display:grid;gap:16px;margin:0 auto;max-width:760px}.sidebar,.detailsPane{background:#f8faf8;border-color:#d8dfda;display:flex;flex-direction:column;gap:14px;padding:18px}.sidebar{border-right:1px solid #d8dfda}.detailsPane{border-left:1px solid #d8dfda}.brandBlock{display:grid;gap:4px}.brandBlock h1{font-size:24px}.brandBlock span,.treeHeader span,.profilePanel span,.statusLine{color:#66726b;font-size:13px}.toolbarButton{background:#5f6f52}.toolbarButton.secondary,.iconTextButton.secondary,.secondaryButton{background:#eef1ed;border:1px solid #cfd7d1;color:#274c43}.toolbarButton.secondary:hover,.iconTextButton.secondary:hover,.secondaryButton:hover{background:#e1e9e4}.panel,.profilePanel{background:#fff;border:1px solid #d8dfda;border-radius:8px;display:grid;gap:12px;padding:14px}.panel h2,.profilePanel h2{font-size:17px}.formStack{display:grid;gap:10px}.optionalDetails{border:1px dashed #cfd7d1;border-radius:6px;padding:10px}.optionalDetails summary{color:#274c43;cursor:pointer;font-weight:700;list-style:none}.optionalDetails summary::-webkit-details-marker{display:none}.optionalDetails[open] summary{margin-bottom:10px}.buttonRow{display:grid;gap:8px;grid-template-columns:1fr 1fr}.formRow,.personEditGrid{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.personEditGrid{grid-template-columns:repeat(3,minmax(0,1fr))}.familyList{display:grid;gap:8px}.familyList button{background:#fff;border:1px solid #cfd7d1;color:#20221f;justify-content:space-between;text-align:left}.familyList button:hover{background:#e6efe9}.familyList span,.emptyText{color:#66726b;font-size:13px}.tokenBox{background:#20221f;border-radius:6px;color:#f6f4ec;display:block;font-size:12px;overflow-wrap:anywhere;padding:10px}.treeSurface{background:#eef1ed;display:grid;grid-template-rows:auto 1fr auto;gap:18px;min-width:0;padding:20px}.personWorkspace{background:#eef1ed;display:grid;gap:18px;min-width:0;overflow:auto;padding:20px}.personFinder{background:#fff;border:1px solid #d8dfda;border-radius:8px;display:grid;gap:12px;padding:14px}.personFinder h2{font-size:17px}.personFinder span{color:#66726b;font-size:13px}.searchField{align-items:center;background:#fff;border:1px solid #cfd7d1;border-radius:6px;color:#66726b;display:grid;gap:8px;grid-template-columns:auto 1fr;min-height:38px;padding:0 10px}.searchField input{border:0;min-height:36px;padding-left:0}.searchField input:focus{outline:none}.personHero{align-items:center;background:#fff;border:1px solid #d8dfda;border-radius:8px;display:grid;gap:18px;grid-template-columns:auto 1fr auto;padding:20px}.personHero h1{font-size:34px}.personHero p{color:#66726b;margin:6px 0 0}.personHero span,.sectionHeader span{color:#66726b;font-size:13px}.personAvatar{align-items:center;background:#f2c177;border:2px solid #9d6a24;border-radius:8px;color:#20221f;display:inline-flex;font-size:24px;font-weight:800;height:82px;justify-content:center;width:82px}.personAvatar img{border-radius:6px;height:100%;object-fit:cover;width:100%}.heroActions{align-items:center;display:flex;justify-content:flex-end}.iconTextButton{white-space:nowrap}.sectionHeader{align-items:center;display:flex;justify-content:space-between}.sectionHeader h2{font-size:18px}.localGraphPanel,.wikiPanel,.mediaPanel,.factsPanel{background:#fff;border:1px solid #d8dfda;border-radius:8px;display:grid;gap:14px;padding:16px}.localGraphPanel.expanded{border-radius:0;inset:0;padding:18px;position:fixed;z-index:20}.graphHeaderActions{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.zoomValue{color:#66726b;font-size:13px;min-width:44px;text-align:right}.distanceControl{align-items:center;background:#f8faf8;border:1px solid #cfd7d1;border-radius:8px;color:#4b564f;display:grid;font-size:12px;gap:8px;grid-template-columns:auto minmax(110px,150px) 54px;min-height:34px;padding:4px 8px}.distanceControl input[type=range]{min-height:24px;padding:0}.distanceControl input[type=number]{min-height:26px;padding:3px 6px}.iconButton{align-items:center;background:#f8faf8;border:1px solid #cfd7d1;border-radius:8px;color:#274c43;display:inline-flex;height:34px;justify-content:center;padding:0;width:34px}.iconButton:hover{background:#e9f1ed}.kinshipCanvas{background:#f8faf8;border:1px solid #d8dfda;border-radius:8px;height:980px;min-width:0;overflow:auto;position:relative;touch-action:pan-x pan-y pinch-zoom}.localGraphPanel.expanded .kinshipCanvas{height:calc(100vh - 86px)}.kinshipStage{position:relative}.kinshipStageContent{left:0;position:absolute;top:0;transform-origin:0 0}.kinshipLines{height:100%;left:0;position:absolute;top:0;width:100%}.generationGuide{stroke:#e2e7e3;stroke-width:1}.generationLabel{fill:#7b857e;font-size:12px;font-weight:700;text-transform:uppercase}.kinshipEdge{fill:none;stroke:#606b65;stroke-linecap:round;stroke-width:1.8}.partnerEdge{stroke:#a55c2e;stroke-dasharray:5 5}.groupEdge{stroke-width:2.1}.coupleGroup{background:#ffffff9e;border:1px solid #bfc7c1;border-radius:8px;box-shadow:0 5px 12px #2a2d2914;pointer-events:none;position:absolute}.accessBoundaryLock{align-items:center;background:#fff7d8;border:1px solid #c98f24;border-radius:999px;box-shadow:0 4px 10px #2a2d2929;color:#6f4a0b;display:inline-grid;height:28px;justify-items:center;padding:0;position:absolute;width:28px;z-index:4}.accessBoundaryLock:hover{background:#fff;border-color:#274c43;color:#274c43}.kinshipNode{align-items:center;background:var(--kinship-bg, #fff8e7);border:1px solid var(--kinship-border, #d8a43d);box-shadow:0 5px 14px #2a2d2924;color:var(--kinship-text, #20221f);display:grid;gap:calc(3px * var(--kinship-scale, 1));justify-items:center;min-height:0;overflow:hidden;padding:calc(7px * var(--kinship-scale, 1)) calc(9px * var(--kinship-scale, 1));position:absolute;text-align:center;z-index:2}.kinshipNode:hover,.kinshipNode.selected,.kinshipNode.actionOpen{background:#fff;border-color:#274c43}.graphNodeActions{background:#fff;border:1px solid #cfd7d1;border-radius:999px;box-shadow:0 5px 14px #2a2d2929;display:grid;gap:3px;padding:4px;position:absolute;z-index:5}.graphNodeActions button{align-items:center;background:#eef1ed;border:1px solid transparent;color:#274c43;display:inline-grid;height:28px;justify-items:center;padding:0;width:28px}.graphNodeActions button:hover{background:#274c43;color:#fff}.kinshipNode.root{background:#247986;border:3px solid #f0b84f;color:#fff}.kinshipPhoto{align-items:center;background:color-mix(in srgb,var(--kinship-border, #d8a43d) 26%,#ffffff);border:1px solid color-mix(in srgb,var(--kinship-border, #d8a43d) 74%,#ffffff);border-radius:50%;color:var(--kinship-label, #7b5c20);display:inline-grid;font-size:max(7px,calc(10px * var(--kinship-scale, 1)));font-weight:800;height:calc(var(--kinship-photo-size, 30px) * 1px);justify-items:center;line-height:1;width:calc(var(--kinship-photo-size, 30px) * 1px)}.kinshipPhoto img{border-radius:50%;height:100%;object-fit:cover;width:100%}.kinshipNode .kinshipLabel{color:var(--kinship-label, #7b5c20);font-size:max(7px,calc(11px * var(--kinship-scale, 1)));font-weight:700;line-height:1.12;max-height:4.48em;overflow:visible}.kinshipNode.root .kinshipLabel,.kinshipNode.root small{color:#fff1c9}.kinshipNode.root .kinshipPhoto{background:#fff1c9;border-color:#fff1c9;color:#15525d}.kinshipNode strong{font-size:max(8px,calc(14px * var(--kinship-scale, 1)));line-height:1.08}.kinshipNode small{color:var(--kinship-muted, #66726b);font-size:max(7px,calc(11px * var(--kinship-scale, 1)))}.hiddenBranchMarker{align-items:center;background:#fff;border:1px solid #b7c7bc;border-radius:999px;box-shadow:0 2px 8px #2a2d2929;color:#274c43;display:inline-flex;font-size:10px;font-weight:800;gap:3px;height:22px;line-height:1;min-height:22px;padding:2px 5px;position:absolute;z-index:4}.hiddenBranchMarker:hover{background:#e6efe9}.kinshipNode.directAncestor{--kinship-bg: #fff2d7;--kinship-border: #c98928;--kinship-label: #7a4d08}.kinshipNode.collateralAncestor{--kinship-bg: #f1e9ff;--kinship-border: #9270c6;--kinship-label: #5d3b91}.kinshipNode.directDescendant{--kinship-bg: #e8f7ee;--kinship-border: #58a46f;--kinship-label: #28693b}.kinshipNode.collateralDescendant{--kinship-bg: #eaf4ff;--kinship-border: #5f94c9;--kinship-label: #2c5f94}.kinshipNode.siblingKin{--kinship-bg: #f3f0e9;--kinship-border: #95866d;--kinship-label: #665841}.kinshipNode.partnerKin{--kinship-bg: #ffece7;--kinship-border: #c97863;--kinship-label: #8a3e2c}.kinshipNode.sameGenerationKin{--kinship-bg: #f7f8ee;--kinship-border: #a7ad6a;--kinship-label: #62672d}.kinshipNode.distance2{background:color-mix(in srgb,var(--kinship-bg, #f4f0ff) 74%,#ffffff);border-color:color-mix(in srgb,var(--kinship-border, #9b90be) 82%,#ffffff)}.kinshipNode.distance3{background:color-mix(in srgb,var(--kinship-bg, #e7f5fb) 58%,#ffffff);border-color:color-mix(in srgb,var(--kinship-border, #69a9c8) 72%,#ffffff)}.kinshipNode.distance2 strong{font-size:max(8px,calc(13px * var(--kinship-scale, 1)))}.kinshipNode.distance3 strong{font-size:max(7px,calc(11px * var(--kinship-scale, 1)))}.profileGrid{display:grid;gap:16px;grid-template-columns:1fr}.mediaPlaceholders{display:grid;gap:10px;grid-template-columns:repeat(3,1fr)}.mediaPlaceholders div,.factsList span{align-items:center;background:#f8faf8;border:1px dashed #cfd7d1;border-radius:8px;color:#66726b;display:grid;gap:6px;justify-items:center;min-height:92px;padding:12px}.factsList{display:grid;gap:8px}.readonlyText{background:#f8faf8;border:1px solid #e2e7e3;border-radius:8px;color:#30362f;line-height:1.55;min-height:140px;padding:14px;white-space:pre-wrap}.markdownBody{background:#f8faf8;border:1px solid #e2e7e3;border-radius:8px;color:#30362f;line-height:1.58;min-height:140px;padding:16px}.markdownBody>:first-child{margin-top:0}.markdownBody>:last-child{margin-bottom:0}.markdownBody h1,.markdownBody h2,.markdownBody h3{margin:18px 0 8px}.markdownBody p,.markdownBody ul,.markdownBody ol,.markdownBody blockquote,.markdownBody table{margin:0 0 12px}.markdownBody blockquote{border-left:3px solid #b9c5bd;color:#56625b;padding-left:12px}.markdownBody code,.mediaReferenceList code{background:#eef1ed;border-radius:5px;color:#274c43;font-size:13px;padding:2px 5px}.markdownBody pre{background:#20221f;border-radius:8px;color:#f8faf8;overflow:auto;padding:12px}.markdownBody table{border-collapse:collapse;width:100%}.markdownBody th,.markdownBody td{border:1px solid #d8dfda;padding:8px;text-align:left}.markdownMediaImage,.markdownMediaVideo{border:1px solid #d8dfda;border-radius:8px;display:block;margin:12px 0;max-height:520px;max-width:100%}.mediaInlineMissing{color:#8c321c;font-size:13px}.mediaReferenceList{display:grid;gap:6px}.noteList{display:grid;gap:8px}.mediaCarousel{display:flex;gap:10px;margin-left:-2px;overflow-x:auto;padding:2px 2px 10px;scroll-snap-type:x mandatory}.dangerAction{background:#fff4f0;border-color:#e6b5a5;color:#8c321c}.mediaTile{aspect-ratio:1;background:#eef1ed;border:1px solid #d8dfda;border-radius:8px;flex:0 0 clamp(128px,34vw,184px);overflow:hidden;position:relative;scroll-snap-align:start}.mediaTile.isPrimary{border-color:#78906d;box-shadow:0 0 0 2px #78906d2e}.mediaTilePreview{background:#eef1ed;border:0;border-radius:0;color:#66726b;height:100%;min-height:0;padding:0;width:100%}.mediaTilePreview:hover{background:#e1e9e4}.mediaTilePreview img,.mediaTilePreview video{display:block;height:100%;object-fit:cover;width:100%}.mediaTileProfileButton,.mediaTileType{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffe0;border:1px solid rgba(216,223,218,.95);border-radius:999px;color:#274c43;display:inline-flex;height:32px;justify-content:center;min-height:32px;padding:0;position:absolute;top:8px;width:32px}.mediaTileProfileButton{right:8px}.mediaTileType{left:8px}.mediaTileProfileButton:hover{background:#fff}.mediaTileProfileButton:disabled,.mediaTileProfileButton.isBadge{cursor:default;opacity:1}.mediaHeaderActions{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.mediaViewerBackdrop{background:#20221fb8;display:grid;inset:0;overflow:auto;padding:16px;place-items:center;position:fixed;z-index:40}.mediaViewer{background:#fff;border-radius:8px;display:grid;gap:14px;max-height:calc(100dvh - 32px);max-width:min(1080px,calc(100vw - 32px));min-width:min(720px,calc(100vw - 32px));overflow:auto;padding:16px}.mediaViewerHeader{align-items:start;display:grid;gap:12px;grid-template-columns:minmax(0,1fr) auto}.mediaViewerHeader h2{font-size:20px}.mediaViewerHeader span{color:#66726b;font-size:13px}.mediaViewerActions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.iconOnlyButton{background:#eef1ed;border:1px solid #cfd7d1;border-radius:8px;color:#274c43;height:40px;min-height:40px;padding:0;width:40px}.iconOnlyButton:hover{background:#e1e9e4}.mediaViewerBody{align-items:center;background:#f8faf8;border:1px solid #e2e7e3;border-radius:8px;display:grid;justify-items:center;min-height:280px;overflow:auto;padding:12px;position:relative}.mediaViewerBody img,.mediaViewerBody video{max-height:calc(100dvh - 260px);max-width:100%}.mediaViewerNav{background:#ffffffe6;border:1px solid #d8dfda;border-radius:999px;color:#274c43;height:42px;min-height:42px;padding:0;position:absolute;top:50%;transform:translateY(-50%);width:42px}.mediaViewerNav.previous{left:14px}.mediaViewerNav.next{right:14px}.mediaViewerMeta{background:#f8faf8;border:1px solid #e2e7e3;border-radius:8px;padding:12px}.mediaViewerMeta p{margin:0}.mediaViewerDescriptionForm{display:grid;gap:10px}.mediaViewerDescriptionForm label{color:#4b564f;display:grid;font-size:13px;font-weight:700;gap:6px}.activeIconButton{opacity:.75}.emptyMediaState{align-items:center;background:#f8faf8;border:1px dashed #cfd7d1;border-radius:8px;color:#66726b;display:grid;gap:8px;justify-items:center;min-height:132px;padding:18px;text-align:center}.fileUploadBox{align-items:center;background:#f8faf8;border:1px dashed #b9c5bd;border-radius:8px;color:#274c43;cursor:pointer;display:grid;gap:8px;grid-template-columns:auto 1fr;min-height:48px;padding:10px 12px}.fileUploadBox input{grid-column:1 / -1;min-height:auto;padding:0}.noteCard{background:#f8faf8;border:1px solid #e2e7e3;border-radius:8px;display:grid;gap:6px;padding:10px}.noteCard h3{font-size:14px}.noteCard p{color:#4b564f;font-size:13px;line-height:1.45;margin:0;white-space:pre-wrap}.adminStack,.subPanel{display:grid;gap:12px}.subPanel{border-top:1px solid #e2e7e3;padding-top:12px}.subPanel h3{font-size:14px}.treeHeader{align-items:center;display:flex;justify-content:space-between}.treeHeader h2{font-size:28px}.nodeGrid{align-content:start;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));overflow:auto}.personNode{align-items:start;background:#fff;border:1px solid #cfd7d1;color:#20221f;display:grid;gap:6px;justify-items:start;min-height:96px;padding:14px;text-align:left}.personNodePhoto{align-items:center;background:#f2c177;border:1px solid #c98928;border-radius:7px;color:#20221f;display:inline-flex;font-size:14px;font-weight:800;height:44px;justify-content:center;overflow:hidden;width:44px}.personNodePhoto img{height:100%;object-fit:cover;width:100%}.personNode:hover,.personNode.selected{background:#e6efe9;border-color:#274c43}.personNode strong{font-size:16px}.personNode span{color:#66726b;font-size:13px}.relationshipList{display:grid;gap:8px;max-height:220px;overflow:auto}.relationshipRow{align-items:center;background:#fff;border:1px solid #d8dfda;border-radius:6px;display:grid;gap:10px;grid-template-columns:1fr auto 1fr;padding:10px 12px}.relationshipRow b{color:#9d4f2f;font-size:12px;font-weight:700;text-transform:uppercase}.relationshipRow small{color:#66726b;font-size:12px;justify-self:end}.relationEditForm{border-top:1px solid #e2e7e3;padding-top:12px}.statusLine{min-height:20px}.detailsList{border-top:1px solid #e2e7e3;display:grid;gap:6px;padding-top:12px}.detailsList h3{font-size:14px}.compactAction{border-radius:6px;font-size:13px;min-height:34px;padding:8px 10px}.mutedPanel{min-height:180px;place-content:center}@media(max-width:1120px){.appShell{grid-template-columns:300px 1fr;height:auto}.detailsPane{border-left:0;border-top:1px solid #d8dfda;grid-column:1 / -1}.profileGrid{grid-template-columns:1fr}}@media(max-width:760px){.appShell{display:flex;flex-direction:column}.sidebar,.detailsPane,.treeSurface,.personWorkspace{border:0;padding:14px}.personHero{align-items:start;grid-template-columns:1fr}.heroActions{justify-content:stretch}.heroActions button{width:100%}.personHero h1{font-size:28px}.kinshipCanvas{height:720px;width:100%}.localGraphPanel{border-left:0;border-radius:0;border-right:0;margin-left:-14px;margin-right:-14px;padding:12px 0;width:100vw}.localGraphPanel .sectionHeader{align-items:start;display:grid;gap:10px;grid-template-columns:1fr;padding:0 12px}.graphHeaderActions{align-items:stretch;flex-wrap:wrap;justify-content:flex-start}.distanceControl{grid-template-columns:auto minmax(90px,1fr) 52px;order:3;width:100%}.localGraphPanel .kinshipCanvas{border-left:0;border-radius:0;border-right:0;height:calc(100vh - 148px);min-height:720px;width:100vw}.localGraphPanel.expanded{margin:0;padding:12px 0}.localGraphPanel.expanded .kinshipCanvas{height:calc(100vh - 76px);min-height:0}.mediaPlaceholders{grid-template-columns:1fr}.mediaViewerBackdrop{align-items:start;padding:10px;place-items:start center}.mediaViewer{max-height:calc(100dvh - 20px);max-width:calc(100vw - 20px);min-width:0;padding:12px;width:100%}.mediaViewerHeader{align-items:start;grid-template-columns:minmax(0,1fr) auto}.mediaViewerActions{display:grid;grid-template-columns:repeat(2,40px)}.mediaViewerBody{min-height:240px;padding:10px}.mediaViewerBody img,.mediaViewerBody video{max-height:none;width:100%}.formRow,.personEditGrid,.relationshipRow{grid-template-columns:1fr}}
