:root{font-family:Courier New,Courier,monospace;color:#20342e;background:#c1d9b8;font-synthesis:none;text-rendering:optimizeLegibility;--color-bg: #c1d9b8;--color-bg-deep: #a9c8a0;--color-surface: #e9f1e5;--color-surface-soft: #d7e6d1;--color-text: #20342e;--color-muted: #52685f;--color-border: #5e746a;--color-button: #c5ccc9;--color-button-hover: #b6c2bd;--color-focus: #315f50;--shadow: 3px 3px 0 rgba(32, 52, 46, .22);--radius: 4px;--content-width: 1120px}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:var(--color-bg)}button,input{font:inherit}button:disabled{cursor:wait;opacity:.65}a{color:inherit}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-panel{width:min(100%,520px);padding:clamp(24px,6vw,52px);border:1px solid var(--color-border);background:color-mix(in srgb,var(--color-bg) 86%,white);box-shadow:var(--shadow)}.brand--centered{text-align:center}.brand h1{margin:6px 0 32px;font-size:clamp(2rem,8vw,3.2rem);letter-spacing:-.08em}.brand__eyebrow,.section-kicker{margin:0;color:var(--color-muted);font-size:.76rem;letter-spacing:.12em;text-transform:uppercase}.record-form{display:grid;gap:18px}.record-form h2{margin:0 0 8px;text-align:center;font-size:1rem;text-transform:uppercase;letter-spacing:.08em}.record-form label{display:grid;gap:7px;font-weight:700;font-size:.86rem}.record-form input{width:100%;padding:12px;border:1px solid var(--color-border);border-radius:0;color:var(--color-text);background:#f7faf5}.record-form .checkbox-field{grid-template-columns:auto 1fr;align-items:start;gap:10px;font-weight:400}.record-form .checkbox-field input{width:auto;margin-top:3px}.record-form .checkbox-field span{display:grid;gap:3px}.record-form .checkbox-field small{font-weight:400;line-height:1.45}.button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:9px 18px;border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);background:var(--color-button);box-shadow:2px 2px #20342e2e;font-weight:700;text-decoration:none;cursor:pointer}.button:hover{background:var(--color-button-hover)}.button--primary{background:var(--color-surface)}.button--small{min-height:34px;padding:7px 12px;font-size:.78rem}.button--wide{width:100%;margin-top:20px}.form-links{display:flex;justify-content:space-between;gap:14px;font-size:.78rem}.prototype-note{margin:8px 0 0;padding-top:16px;border-top:1px dashed var(--color-border);color:var(--color-muted);font-size:.7rem;line-height:1.5}.form-intro{margin:0;color:var(--color-muted);font-size:.78rem;line-height:1.55}.form-message{margin:0;padding:12px;border:1px solid var(--color-border);background:var(--color-surface-soft);font-size:.76rem;line-height:1.5}.form-message--error{border-color:#8a4b43;color:#612d27;background:#f2ded8}.form-message--success{border-color:#3f705b;background:#d8e9dc}.app-shell{width:min(100%,var(--content-width));min-height:100vh;display:flex;flex-direction:column;margin:0 auto;border-inline:1px solid rgba(94,116,106,.45);background:var(--color-bg)}.app-header{min-height:70px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px clamp(16px,4vw,38px);border-bottom:1px solid var(--color-border)}.brand-link{font-size:clamp(1.35rem,4vw,2rem);font-weight:700;letter-spacing:-.07em;text-decoration:none}.relationship-banner{padding:10px clamp(16px,4vw,38px);border-bottom:1px dashed var(--color-border);font-size:.78rem}.page-content{flex:1;padding:clamp(28px,6vw,62px) clamp(16px,5vw,54px)}.welcome-block{max-width:690px;margin-bottom:44px}.welcome-block h1,.placeholder-page h1{margin:8px 0 12px;font-size:clamp(2rem,7vw,4rem);line-height:.95;letter-spacing:-.08em}.welcome-block p:not(.section-kicker),.placeholder-page>p{max-width:62ch;line-height:1.65}.dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.record-box{min-height:230px;padding:20px;border:1px solid var(--color-border);background:#e9f1e56b;box-shadow:var(--shadow)}.section-heading{display:flex;align-items:start;justify-content:space-between;gap:16px;padding-bottom:14px;border-bottom:1px solid var(--color-border)}.section-heading h2{margin:0;font-size:1rem;text-transform:uppercase}.section-heading span{color:var(--color-muted);font-size:.68rem;text-align:right}.empty-state{padding:30px 4px;color:var(--color-muted);font-size:.82rem;line-height:1.55}.empty-state strong{color:var(--color-text)}.empty-state p{margin-bottom:0}.dashboard-card{display:grid;gap:6px;margin-top:12px;padding:13px 4px 12px;border-bottom:1px dashed var(--color-border);text-decoration:none}.dashboard-card:hover strong{text-decoration:underline}.dashboard-card span{font-size:.76rem;line-height:1.45}.dashboard-card small{color:var(--color-muted);font-size:.67rem;line-height:1.4}.dashboard-card .uncertainty{width:fit-content;padding:2px 5px;border:1px solid #8a7043;color:#624c24;background:#eee3c7}.global-nav{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--color-border);background:var(--color-bg-deep)}.global-nav a{min-height:55px;display:grid;place-items:center;padding:8px;border-right:1px solid var(--color-border);font-size:.72rem;font-weight:700;text-align:center;text-decoration:none}.global-nav a:last-child{border-right:0}.global-nav a:hover,.global-nav a.is-active{background:var(--color-surface);text-decoration:underline}.placeholder-page{max-width:700px}.placeholder-page .button{margin-top:18px}.settings-page{max-width:760px}.settings-page h1{margin:8px 0 28px;font-size:clamp(2rem,7vw,4rem);letter-spacing:-.08em}.settings-box{min-height:0;margin-bottom:22px}.settings-box h2{text-align:left}.account-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:0 0 18px}.account-facts div{min-width:0}.account-facts dt{color:var(--color-muted);font-size:.68rem;text-transform:uppercase}.account-facts dd{margin:4px 0 0;overflow-wrap:anywhere;font-weight:700}.settings-actions{display:flex;gap:12px;flex-wrap:wrap}.page-heading{max-width:760px;margin-bottom:28px}.page-heading h1{margin:8px 0 12px;font-size:clamp(2rem,7vw,4rem);line-height:.95;letter-spacing:-.08em}.page-heading>p:not(.section-kicker){line-height:1.6}.search-sections{display:grid;gap:24px}.search-form{min-height:0;display:grid;gap:20px}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.field-grid label{display:grid;gap:7px;font-size:.78rem;font-weight:700}.field-grid input{min-width:0;width:100%;padding:11px;border:1px solid var(--color-border);background:#f7faf5;color:var(--color-text)}.explore-panel{min-height:0}.explore-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:20px}.explore-grid .button{min-height:58px;padding-inline:10px;font-size:.72rem;text-align:center}.page-actions{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:24px}.results-list{display:grid;gap:14px}.search-result-card{display:grid;gap:8px;padding:18px;border:1px solid var(--color-border);background:#e9f1e57a;box-shadow:var(--shadow);text-decoration:none}.search-result-card:hover{background:var(--color-surface)}.search-result-card:hover strong{text-decoration:underline}.result-title{display:flex;align-items:baseline;justify-content:space-between;gap:14px}.result-title span{color:var(--color-muted);font-size:.67rem}.search-result-card p{margin:0;font-size:.8rem}.search-result-card small{color:var(--color-muted);font-size:.7rem;line-height:1.5}.uncertainty-badge{width:fit-content;padding:3px 6px;border:1px solid #8a7043;color:#624c24;background:#eee3c7;font-size:.65rem;font-weight:700}.not-found h1,.person-identity h1{margin:8px 0 10px;font-size:clamp(2rem,7vw,4rem);line-height:.95;letter-spacing:-.08em}.person-identity{display:flex;justify-content:space-between;align-items:start;gap:20px;margin-bottom:24px}.person-identity p:not(.section-kicker){margin:0 0 9px;font-size:.8rem}.person-identity .former-name{margin-top:-4px;color:var(--color-muted);font-size:.72rem}.person-header-actions{display:flex;justify-content:end;gap:9px;flex-wrap:wrap}.person-nav{display:flex;overflow-x:auto;border:1px solid var(--color-border);background:var(--color-bg-deep);scrollbar-width:thin}.person-nav a{flex:0 0 auto;min-height:44px;display:grid;place-items:center;padding:9px 14px;border-right:1px solid var(--color-border);font-size:.68rem;font-weight:700;text-decoration:none}.person-nav a:hover,.person-nav a.is-active{background:var(--color-surface);text-decoration:underline}.person-overview{display:grid;gap:24px;margin-top:24px}.core-record{min-height:0}.core-facts{margin:18px 0 0}.fact-row{display:grid;grid-template-columns:minmax(120px,.35fr) 1fr;gap:18px;padding:11px 0;border-bottom:1px dashed rgba(94,116,106,.55)}.fact-row dt{color:var(--color-muted);font-size:.7rem;font-weight:700;text-transform:capitalize}.fact-row dd{display:grid;gap:5px;margin:0;font-size:.8rem;line-height:1.5}.fact-row dd small{color:var(--color-muted)}.confidence{width:fit-content;padding:2px 5px;border:1px solid var(--color-border);color:var(--color-muted);font-size:.62rem}.confidence--uncertain{border-color:#8a7043;color:#624c24;background:#eee3c7}.record-notes{margin-top:20px;padding:16px;border:1px solid var(--color-border);background:var(--color-surface-soft)}.record-notes h3{margin:0 0 8px;font-size:.76rem;text-transform:uppercase}.record-notes p{margin:0;font-size:.76rem;line-height:1.6;white-space:pre-wrap}.immediate-family{padding:20px;border:1px solid var(--color-border);background:#e9f1e540}.family-group{padding-top:18px}.family-group h3{margin:0 0 10px;font-size:.78rem;text-transform:uppercase}.family-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.family-card{display:grid;gap:5px;min-width:0;padding:13px;border:1px solid var(--color-border);background:var(--color-surface);text-decoration:none}.family-card:hover strong{text-decoration:underline}.family-card span:not(.uncertainty-badge){font-size:.7rem}.family-card small{color:var(--color-muted);font-size:.64rem}.family-empty{margin:0;color:var(--color-muted);font-size:.72rem}.suggest-button{justify-self:start}.person-section-placeholder{min-height:180px;margin-top:24px}.person-section-placeholder h2{margin:8px 0 12px}.person-section-placeholder p:not(.section-kicker){max-width:62ch;font-size:.8rem;line-height:1.6}.person-section{margin-top:24px}.timeline{margin-top:20px}.timeline-event{display:grid;grid-template-columns:minmax(110px,.28fr) 1fr;gap:18px;padding:18px 0;border-bottom:1px dashed var(--color-border)}.timeline-date{color:var(--color-muted);font-size:.72rem;font-weight:700}.timeline-body{display:grid;gap:7px}.timeline-body h3,.detail-card h3{margin:0;font-size:.86rem}.timeline-body p{margin:0;font-size:.75rem;line-height:1.5}.timeline-body small{color:var(--color-muted);font-size:.67rem}.linked-evidence{display:grid;gap:4px;margin-top:5px;padding:10px;border-left:3px solid var(--color-border);background:var(--color-surface-soft);font-size:.68rem}.record-list{display:grid;gap:14px;margin-top:20px}.detail-card{display:grid;gap:10px;padding:18px;border:1px solid var(--color-border);background:#e9f1e573;box-shadow:var(--shadow)}.detail-card>p{margin:0;font-size:.74rem;line-height:1.55}.detail-card--open{border-style:dashed}.record-detail{color:var(--color-muted);white-space:pre-wrap}.availability-note{padding:9px;border:1px dashed var(--color-border);color:var(--color-muted);background:var(--color-surface-soft);font-size:.68rem!important}.status-line{display:flex;flex-wrap:wrap;gap:7px 14px;color:var(--color-muted);font-size:.67rem}.research-fields{display:grid;gap:0;margin:0}.research-field{display:grid;grid-template-columns:minmax(140px,.3fr) 1fr;gap:14px;padding:9px 0;border-top:1px dashed rgba(94,116,106,.5)}.research-field dt{color:var(--color-muted);font-size:.67rem;font-weight:700}.research-field dd{margin:0;font-size:.72rem;line-height:1.55;white-space:pre-wrap}.evidence-card{gap:0}.evidence-part{padding:14px 0;border-bottom:1px dashed var(--color-border)}.evidence-part:last-child{border-bottom:0}.evidence-part h3{margin:5px 0 9px}.evidence-part>p:not(.section-kicker){margin:5px 0;font-size:.73rem;line-height:1.5}.evidence-part>small{display:block;margin-top:10px;color:var(--color-muted);font-size:.65rem;line-height:1.45}.contribution-form h2,.thank-you h2{margin:8px 0 12px}.contribution-form>p:not(.section-kicker),.thank-you>p:not(.section-kicker){max-width:72ch;font-size:.8rem;line-height:1.6}.contribution-form form,.contribution-review-card form{display:grid;gap:16px;margin-top:22px}.contribution-form label,.contribution-review-card label{display:grid;gap:7px;font-size:.74rem;font-weight:700}.contribution-form input,.contribution-form textarea,.contribution-review-card textarea,.contribution-review-card select{width:100%;padding:11px;border:1px solid var(--color-border);background:#f7faf5;color:var(--color-text);font:inherit}.contribution-form input[readonly]{color:var(--color-muted);background:var(--color-surface-soft)}.locked-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.contribution-form form>small,.contribution-review-card form>small{color:var(--color-muted);font-size:.67rem;line-height:1.5}.attachment-list{margin:0;padding-left:20px;font-size:.7rem;line-height:1.7}.form-error{margin:0;color:#7b2118;font-size:.72rem;font-weight:700}.review-heading{display:flex;justify-content:space-between;gap:16px}.review-heading h3 small{color:var(--color-muted);font-weight:400}.review-heading p{margin:6px 0 0;color:var(--color-muted);font-size:.68rem}.status-badge{align-self:start;padding:5px 8px;border:1px solid var(--color-border);background:var(--color-surface);font-size:.65rem;font-weight:700}.submission-message{padding:14px;border-left:3px solid var(--color-border);white-space:pre-wrap;background:var(--color-surface-soft)}.contribution-review-card h4{margin:0 0 8px;font-size:.72rem;text-transform:uppercase}.link-button{padding:0;border:0;color:inherit;background:none;font:inherit;text-decoration:underline;cursor:pointer}.family-network-ui{display:grid;gap:12px;margin-top:18px}.network-toolbar{display:flex;flex-wrap:wrap;gap:7px}.network-toolbar button{min-height:42px;padding:8px 12px;border:1px solid var(--color-border);color:var(--color-text);background:var(--color-surface);font:inherit;font-size:.68rem;font-weight:700;cursor:pointer;touch-action:manipulation}.network-toolbar button:first-child,.network-toolbar button:nth-child(2){min-width:44px;font-size:1rem}.network-context{margin:0;color:var(--color-muted);font-size:.7rem}.family-network-canvas{width:100%;min-height:520px;border:1px solid var(--color-border);background:radial-gradient(circle,rgba(94,116,106,.15) 1px,transparent 1px) 0 0 / 24px 24px,#f7faf5;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.family-network-canvas:active{cursor:grabbing}.network-edge{stroke:#536b61;stroke-width:3;fill:none}.network-edge--probable{stroke:#90712e;stroke-dasharray:9 4}.network-edge--possible{stroke:#a45e34;stroke-dasharray:5 5}.network-edge--unverified{stroke:#8d4c4c;stroke-dasharray:2 6}.network-edge--partner{stroke:#5e577c;stroke-width:4}.network-node{cursor:pointer;outline:none}.network-node rect{fill:var(--color-surface);stroke:var(--color-border);stroke-width:2}.network-node text{fill:var(--color-text);font-size:12px;font-weight:700;pointer-events:none}.network-node .network-ftid{fill:var(--color-muted);font-size:9px;font-weight:400}.network-node--selected rect{fill:#e4eddd;stroke:#284b3b;stroke-width:4}.network-node--uncertain rect{stroke:#9a6838;stroke-dasharray:5 3}.network-node:focus rect{outline:none;stroke:#101f19;stroke-width:4}.network-selection{display:flex;align-items:start;justify-content:space-between;gap:18px;padding:16px;border:1px solid var(--color-border);background:var(--color-surface-soft)}.network-selection h3{margin:5px 0;font-size:.92rem}.network-selection h3 small{color:var(--color-muted);font-size:.65rem;font-weight:400}.network-selection p:not(.section-kicker){margin:0;font-size:.7rem}.network-selection-actions{display:flex;flex-wrap:wrap;justify-content:end;gap:7px}.network-legend{display:flex;flex-wrap:wrap;gap:12px;color:var(--color-muted);font-size:.65rem}.network-legend span:before{content:"";display:inline-block;width:24px;margin-right:5px;border-top:3px solid #536b61;vertical-align:middle}.network-legend .legend-probable:before{border-color:#90712e;border-style:dashed}.network-legend .legend-possible:before{border-color:#a45e34;border-style:dashed}.network-legend .legend-unverified:before{border-color:#8d4c4c;border-style:dotted}.network-legend .legend-partner:before{border-color:#5e577c;border-width:4px}.admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.admin-card{color:inherit;text-decoration:none}.admin-card:hover h2{text-decoration:underline}.admin-card h2{margin:0;font-size:.9rem}.admin-editor-layout{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(360px,1.2fr);gap:22px;align-items:start}.admin-form{min-height:0;display:grid;gap:14px;position:sticky;top:12px}.admin-form label{display:grid;gap:6px;font-size:.7rem;font-weight:700}.admin-form input,.admin-form textarea,.admin-form select{width:100%;min-width:0;padding:10px;border:1px solid var(--color-border);color:var(--color-text);background:#f7faf5;font:inherit}.admin-records{border:1px solid var(--color-border);background:#e9f1e547}.admin-records>.section-heading{padding:16px}.admin-record-row{display:flex;align-items:center;justify-content:space-between;gap:14px;min-width:0;max-width:100%;padding:13px 16px;border-bottom:1px dashed var(--color-border);background:#e9f1e54d}.admin-record-row:last-child{border-bottom:0}.admin-record-row>div:first-child{display:grid;flex:1 1 auto;gap:5px;min-width:0;max-width:100%}.admin-record-row strong{font-size:.73rem;overflow-wrap:anywhere}.admin-record-row small{display:block;max-width:100%;color:var(--color-muted);font-size:.64rem;line-height:1.55;overflow-wrap:anywhere;word-break:break-word;white-space:normal}.admin-record-row>div:last-child:has(button){display:flex;gap:6px;flex:0 0 auto}.admin-delete{border-color:#8a4b43;color:#612d27}.allowlist-name{display:grid;gap:4px;margin-top:7px;color:var(--color-muted);font-size:.64rem}.allowlist-name input{min-width:min(260px,70vw);padding:8px;border:1px solid var(--color-border);background:#f7faf5}@media(max-width:700px){.dashboard-grid{grid-template-columns:1fr}.app-header{min-height:60px}.brand-link{font-size:1.2rem}.page-content{padding-top:36px}.global-nav a{font-size:.62rem}.section-heading{display:block}.section-heading span{display:block;margin-top:6px;text-align:left}.account-facts,.field-grid,.explore-grid{grid-template-columns:1fr}.person-identity{display:grid}.person-header-actions{justify-content:start}.person-nav{flex-wrap:wrap;overflow-x:visible}.person-nav a{flex:1 1 33.333%;min-width:0;border-bottom:1px solid var(--color-border);font-size:.62rem}.person-nav a:nth-last-child(-n+3){border-bottom:0}.fact-row,.family-grid{grid-template-columns:1fr}.fact-row{gap:5px}.timeline-event,.research-field,.locked-fields{grid-template-columns:1fr;gap:6px}.family-network-canvas{min-height:430px}.network-selection{display:grid}.network-selection-actions{justify-content:start}.admin-grid,.admin-editor-layout{grid-template-columns:1fr}.admin-form{position:static}.admin-record-row{align-items:start;flex-direction:column}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}
