@font-face{font-family:EB Garamond;src:url(/fonts/EBGaramond-Regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:EB Garamond;src:url(/fonts/EBGaramond-SemiBold.ttf) format("truetype");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:EB Garamond;src:url(/fonts/EBGaramond-Italic.ttf) format("truetype");font-weight:400;font-style:italic;font-display:swap}:root{--paper: #f7f2e8;--paper-deep: #efe6d4;--card: #fffdf8;--ink: #2a2723;--ink-soft: #625b50;--line: #d9cdb5;--accent: #20552f;--accent-deep: #163c21;--gold: #c08c4a;--danger: #9b2f24;--female: #a4556b;--male: #3d6690;--unknown: #8a8373;--serif: "EB Garamond", Georgia, "Times New Roman", serif;--sans: Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", sans-serif;--radius: 6px;--mourning: #1f1d1a}:root[lang=el] *{text-transform:none!important}*{box-sizing:border-box}html,body{margin:0}html{font-size:15px}body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:1rem;line-height:1.5}h1,h2,h3,.brand,.person-name{font-family:var(--serif);font-weight:600}h1{font-size:2rem;line-height:1.2;margin:0 0 .5rem}h2{font-size:1.35rem;margin:1.5rem 0 .5rem}a{color:var(--accent-deep)}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.shell-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:.75rem 1.5rem;background:var(--accent-deep);color:#f4ecdc}.brand{display:flex;align-items:center;gap:.5rem;color:inherit;text-decoration:none;font-size:1.5rem;letter-spacing:.02em}.brand-mark{border-radius:9px;object-fit:cover}.public-brand .brand-mark{box-shadow:0 0 0 1px #f7f2e859}.shell-start{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem 1.5rem}.shell-nav{display:flex;flex-wrap:wrap;gap:.35rem 1rem}.nav-toggle{display:none;padding:.1rem .5rem;color:inherit;font-size:1.2rem;line-height:1.5;background:#ffffff14;border:1px solid rgb(255 255 255 / 20%);border-radius:var(--radius);cursor:pointer}@media(max-width:40rem){.nav-toggle{display:inline-flex}.shell-nav{display:none}.shell-nav-open{display:flex;flex-basis:100%;gap:.35rem .9rem}}.nav-link{color:inherit;text-decoration:none;padding-bottom:.1rem;border-bottom:2px solid transparent}.nav-link:hover{border-bottom-color:#f4ecdc80}.nav-link[aria-current=page]{border-bottom-color:#f4ecdc}.shell-tools{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem 1rem;font-size:.9rem}.who{overflow-wrap:anywhere}.online-count{display:inline-flex;align-items:center;gap:.35rem;padding:.15rem .55rem;border-radius:999px;background:#ffffff24;color:inherit;font-size:.85rem;text-decoration:none;white-space:nowrap}.online-count:hover{background:#ffffff3d}.online-count .member-dot{background:#9fd39b;box-shadow:none}.shell-tools select{padding:.25rem .4rem;background:transparent;color:inherit;border-color:#f4ecdc66}.shell-tools option{color:var(--ink)}.badge{margin-left:.5rem;padding:.1rem .5rem;border-radius:999px;background:#ffffff26;font-size:.75rem}.account{position:relative}.account-trigger{display:inline-flex;gap:.35rem;align-items:center;padding:.25rem .5rem;color:inherit;font:inherit;font-size:.9rem;background:none;border:1px solid transparent;border-radius:var(--radius);cursor:pointer}.account-trigger:hover,.account-trigger[aria-expanded=true]{background:#ffffff1f}.account-mark{font-size:.75rem;opacity:.8}.account-menu{position:absolute;right:0;top:calc(100% + .4rem);z-index:30;display:grid;gap:.6rem;justify-items:start;min-width:12rem;padding:.75rem;color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 10px 24px #00000024}.account-menu select{color:var(--ink);background:#fff;border-color:var(--line)}.account-menu .link-button{color:var(--accent-deep)}.link-button{background:none;border:none;color:inherit;text-decoration:underline;cursor:pointer;font:inherit;padding:0}.shell-main{max-width:64rem;margin:0 auto;padding:2rem 1.5rem 4rem}.page-message{padding:3rem 1rem;text-align:center;color:var(--ink-soft)}.button{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.5rem 1rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);color:var(--ink);font:inherit;text-decoration:none;cursor:pointer;white-space:nowrap}.button:hover{border-color:var(--accent)}.button:disabled{opacity:.5;cursor:default}.button-primary{background:var(--accent);border-color:var(--accent);color:#fff}.button-primary:hover{background:var(--accent-deep)}.button-danger{color:var(--danger)}input,select,textarea{font:inherit;padding:.5rem .6rem;border:1px solid var(--line);border-radius:var(--radius);background:#fff;color:var(--ink);min-width:0}input:focus,select:focus,textarea:focus{outline:2px solid rgba(62,90,60,.35);border-color:var(--accent)}input[aria-invalid=true]{border-color:var(--danger)}textarea{resize:vertical}.field{display:flex;flex-direction:column;gap:.3rem;margin-bottom:.75rem}.field>span,.field>label{font-size:.85rem;color:var(--ink-soft)}.notice{padding:.75rem 1rem;border-radius:var(--radius);background:var(--card);border:1px solid var(--line)}.notice p{margin:0 0 .5rem}.notice p:last-child{margin-bottom:0}.notice-error{border-color:#d8a79f;color:var(--danger);background:#fbf1ee}.hint{color:var(--ink-soft);font-size:.875rem;margin:.25rem 0}.public{min-height:100vh;display:grid;grid-template-columns:43% 57%;background:var(--card)}.public-brand{position:relative;display:flex;flex-direction:column;gap:1.5rem;padding:3rem;overflow:hidden;background:var(--accent);color:var(--paper)}.public-brand:after{content:"";position:absolute;inset:45% -15% -10% 8%;background:radial-gradient(circle at 20% 20%,rgba(255,255,255,.1) 0 4px,transparent 5px),linear-gradient(90deg,transparent 48%,rgba(255,255,255,.055) 49% 51%,transparent 52%);background-size:170px 170px;-webkit-mask-image:linear-gradient(to bottom,transparent,#000 35%,#000 80%,transparent);mask-image:linear-gradient(to bottom,transparent,#000 35%,#000 80%,transparent);pointer-events:none}.public-brand .brand{position:relative;z-index:1;font-size:1.7rem}.public-story{position:relative;z-index:1;margin-top:auto}.public-story h1{max-width:20ch;font-size:clamp(2rem,4vw,3.2rem);line-height:1.05}.public-story p{max-width:34ch;color:#f7f2e8d1}.public-privacy{position:relative;z-index:1;margin:0;font-size:.85rem;color:#f7f2e8d1}.public-privacy strong{display:block;color:var(--paper)}.public-form{position:relative;display:grid;align-content:center;justify-items:center;padding:3rem 1.5rem 5rem}.public-inner{width:min(27rem,100%)}.public-language{position:absolute;top:1rem;right:1.25rem}.public-title{margin:0 0 .5rem;font-size:2.2rem;text-align:center}.public-switch{display:grid;grid-template-columns:1fr 1fr;gap:.25rem;margin:0 0 1.5rem;padding:.25rem;background:var(--paper-deep);border-radius:999px}.public-switch a{padding:.55rem .75rem;color:var(--ink-soft);font-size:.95rem;text-align:center;text-decoration:none;border-radius:999px}.public-switch a:hover:not([aria-current=page]){color:var(--accent-deep)}.public-switch a[aria-current=page]{color:var(--paper);font-weight:600;background:var(--accent)}.field-with-eye{position:relative;display:block}.field-with-eye input{width:100%;padding-right:2.75rem}.eye{position:absolute;top:50%;right:.35rem;width:2.1rem;height:2.1rem;transform:translateY(-50%);border:0;border-radius:var(--radius);background:transparent;color:var(--ink-soft);font-size:1.05rem;cursor:pointer}.eye:hover{color:var(--accent)}.signin-forgot{margin:.25rem 0 1rem;text-align:right;font-size:.9rem}@media(max-width:52rem){.public{grid-template-columns:1fr}.public-brand{gap:.75rem;padding:1.5rem}.public-story h1{font-size:1.6rem}.public-story p,.public-privacy{display:none}.public-form{padding:2.5rem 1.25rem}}.signin-form{display:flex;flex-direction:column;text-align:left}.signin-form .button{margin-top:.25rem}.signin-form .hint{text-align:center}.page-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;flex-wrap:wrap}.people-controls{display:flex;align-items:flex-end;gap:1rem;flex-wrap:wrap;margin:1rem 0 1.5rem}.people-controls .field{margin-bottom:0}.people-controls .search{flex:1 1 18rem}.people-filters{position:relative}.people-filters-panel{position:absolute;left:0;top:calc(100% + .4rem);z-index:20;display:grid;gap:.25rem;min-width:15rem;padding:.75rem;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 10px 24px #00000024}.people-filters-panel .field:last-of-type{margin-bottom:.25rem}.count{color:var(--ink-soft);font-size:.9rem}.family-list,.family-people{display:grid;gap:.75rem;list-style:none;margin:1.25rem 0 1.5rem;padding:0}.family-list{grid-template-columns:repeat(auto-fill,minmax(18rem,1fr))}.family-card{position:relative;display:grid;gap:.1rem;height:100%;padding:1.25rem;background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:0 5px 16px #1e2b220d;color:inherit;text-decoration:none}.family-initial{position:absolute;top:1.25rem;right:1.25rem;display:grid;place-items:center;width:3rem;height:3rem;border-radius:50%;background:#edf2e6;color:var(--accent);font-family:var(--serif);font-size:1.25rem;font-weight:600}.family-total{margin-top:.4rem;color:var(--accent);font-family:var(--serif);font-size:2.25rem;font-weight:600;line-height:1}.family-card:hover{border-color:var(--accent)}.family-name{padding-right:3.5rem;font-family:var(--serif);font-size:1.55rem;font-weight:600}.family-count{color:var(--ink-soft);font-size:.9rem;line-height:1.2}.family-spellings{color:var(--ink-soft);font-size:.85rem;font-style:italic}.family-people .person-row{padding:.35rem .4rem;border-bottom:1px solid var(--line)}.messages-panes{display:grid;grid-template-columns:minmax(0,20.5rem) minmax(0,1fr);overflow:hidden;min-height:32rem;margin-top:1rem;background:var(--card);border:1px solid var(--line);border-radius:14px}.conversations{overflow-y:auto;padding:.75rem;border-right:1px solid var(--line)}.conversations h2{margin:.75rem 0 .4rem;font-size:1rem}.thread{display:flex;flex-direction:column;padding:1rem 1.25rem 1.25rem}.thread .back{display:none}.conversations .empty,.thread .empty{padding:1.25rem .5rem;background:none;border:0}.thread .empty{max-width:22rem;margin:auto}.talk-list{display:grid;gap:.5rem;list-style:none;margin:0 0 .5rem;padding:0}.talk-card{display:flex;align-items:center;gap:.75rem;padding:.6rem .8rem;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);color:inherit;text-decoration:none}.talk-card:hover{border-color:var(--accent)}.talk-who{display:grid;gap:.1rem;min-width:0;flex:1}.talk-name{overflow:hidden;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.talk-last{overflow:hidden;color:var(--ink-soft);font-size:.9rem;text-overflow:ellipsis;white-space:nowrap}.talk-aside{display:grid;flex:none;gap:.2rem;justify-items:end;text-align:right}.talk-when{color:var(--ink-soft);font-size:.8rem;white-space:nowrap}.talk-unread{padding:.05rem .45rem;border-radius:999px;background:var(--accent);color:var(--paper);font-size:.75rem;white-space:nowrap}.talk-head{display:flex;align-items:center;gap:.75rem}.talk-lines{display:grid;gap:.5rem;list-style:none;margin:1.25rem 0;padding:0}.talk-line{display:grid;gap:.15rem;max-width:min(32rem,80%);padding:.5rem .75rem;border-radius:var(--radius)}.talk-mine{justify-self:end;background:var(--accent);color:var(--paper)}.talk-mine .talk-when{color:#f7f2e8bf}.talk-theirs{justify-self:start;background:var(--card);border:1px solid var(--line)}.talk-body{white-space:pre-wrap;overflow-wrap:anywhere}.talk-answers{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem;margin-top:.35rem}.talk-answer{padding:.1rem .45rem;color:var(--ink);font-size:.85rem;line-height:1.5;background:var(--card);border:1px solid var(--line);border-radius:999px;cursor:pointer}.talk-answer-mine{background:var(--paper-deep);border-color:var(--accent)}.talk-answer-add{opacity:.6}.talk-answer-choices{display:flex;gap:.15rem}.talk-answer-choices button{padding:.1rem .3rem;font-size:1rem;line-height:1.4;background:none;border:0;border-radius:.35rem;cursor:pointer}.talk-answer-choices button:hover,.talk-answer-choices button:focus-visible{background:var(--paper-deep)}.talk-write{display:grid;gap:.5rem;justify-items:start}.talk-write .field{width:100%;margin-bottom:0}.talk-actions{display:flex;align-items:center;gap:.5rem}.talk-emoji{position:relative}.talk-emoji>button{padding:.35rem .6rem;font-size:1.15rem;line-height:1;background:var(--card);border:1px solid var(--line);border-radius:999px;cursor:pointer}.emoji-panel{position:absolute;bottom:calc(100% + .4rem);left:0;z-index:20;display:grid;grid-template-columns:repeat(8,1fr);gap:.15rem;width:min(17rem,80vw);padding:.4rem;background:var(--card);border:1px solid var(--line);border-radius:.6rem;box-shadow:0 10px 30px #0000002e}.emoji-panel button{padding:.3rem 0;font-size:1.2rem;line-height:1;background:none;border:0;border-radius:.4rem;cursor:pointer}.emoji-panel button:hover,.emoji-panel button:focus-visible{background:var(--paper-deep)}.thread .talk{display:flex;flex:1;flex-direction:column;min-height:0}.thread .talk-lines{flex:1;overflow-y:auto;align-content:start}@media(max-width:40rem){.messages-panes{grid-template-columns:minmax(0,1fr);min-height:0}.conversations{border-right:0}.messages-open .conversations,.messages-panes:not(.messages-open) .thread{display:none}.thread .back{display:inline-block;margin-bottom:.5rem}}.people-table{overflow:hidden;width:100%;background:var(--card);border:1px solid var(--line);border-radius:14px;border-collapse:separate;border-spacing:0}.people-table thead th{background:var(--paper-deep)}.people-table th{padding:.5rem .4rem;color:var(--ink-soft);font-size:.85rem;font-weight:600;text-align:left;border-bottom:1px solid var(--line)}.people-table td{padding:0 .4rem;vertical-align:middle;border-bottom:1px solid var(--line)}.people-table .person-born,.people-table .person-died{color:var(--ink-soft);font-size:.95rem}.people-table .person-row{align-items:center;padding:.5rem 0}.people-table .person-who{display:flex;flex-direction:column;min-width:0}.people-table .person-years{display:none}@media(max-width:40rem){.people-table thead,.people-table .person-family,.people-table .person-born,.people-table .person-died,.people-table .person-kin{display:none}.people-table .person-years{display:inline;flex:none}.people-table .person-name{overflow:hidden;font-size:1.05rem;white-space:nowrap;text-overflow:ellipsis}}.people-list.busy{opacity:.6}.person-row{display:flex;align-items:baseline;gap:.75rem;padding:.7rem .4rem;color:var(--ink);text-decoration:none}.person-row:hover{background:var(--paper-deep)}.person-row .person-name{font-size:1.2rem}.person-years{color:var(--ink-soft);font-variant-numeric:tabular-nums}.person-row .person-years{margin-left:auto}.sex-mark{flex:none;align-self:center;width:.6rem;height:.6rem;border-radius:50%;background:var(--unknown)}.sex-female{background:var(--female)}.sex-male{background:var(--male)}.pager{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.3rem;margin-top:1.5rem}.pager-page,.pager-step{min-width:2.25rem;height:2.25rem;padding:0 .4rem;color:inherit;font:inherit;background:var(--card);border:1px solid var(--line);border-radius:8px;cursor:pointer}.pager-page[aria-current=page]{color:var(--paper);background:var(--accent);border-color:var(--accent)}.pager-page:hover:not([aria-current=page]),.pager-step:hover:not(:disabled){border-color:var(--accent)}.pager-step:disabled{opacity:.45;cursor:default}.pager-gap{padding:0 .2rem;color:var(--ink-soft)}.empty{padding:2rem;text-align:center;color:var(--ink-soft);background:var(--card);border:1px dashed var(--line);border-radius:var(--radius)}.back{display:inline-block;margin-bottom:1rem;color:var(--ink-soft);text-decoration:none}.back:before{content:"← "}.person-head{display:flex;flex-wrap:wrap;align-items:flex-start;gap:1.5rem;border-bottom:1px solid var(--line);padding-bottom:1rem;margin-bottom:1.5rem}.person-portrait{display:flex;flex-direction:column;align-items:center;gap:.5rem}.person-title{flex:1 1 18rem}.portrait{display:block;border-radius:50%;object-fit:cover;box-shadow:0 0 0 3px var(--card),0 0 0 4px var(--line)}.portrait-frame{position:relative;display:block;flex:none}.mourning-ribbon{position:absolute;top:16.9%;right:.4%;width:42%;height:9%;background:var(--mourning);box-shadow:0 0 0 1px var(--card);transform:rotate(45deg);pointer-events:none}.portrait-empty{display:grid;place-items:center;font-family:var(--serif);font-weight:600;line-height:1;color:var(--unknown);background:var(--paper-deep)}.sex-tint-female{color:var(--female)}.sex-tint-male{color:var(--male)}.portrait-menu{position:relative}.portrait-menu-panel{position:absolute;left:50%;top:calc(100% + .4rem);z-index:20;display:grid;gap:.4rem;justify-items:stretch;min-width:11rem;padding:.6rem;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 10px 24px #00000024;transform:translate(-50%)}.portrait-editor{display:flex;flex-direction:column;align-items:center;gap:.3rem}.portrait-editor .link-button{color:var(--ink-soft);font-size:.85rem}.portrait-pick{cursor:pointer;border-radius:50%}.portrait-pick:hover .portrait{box-shadow:0 0 0 3px var(--card),0 0 0 5px var(--accent)}.cropper{position:relative;height:22rem;margin-bottom:1rem;border-radius:var(--radius);overflow:hidden;background:#2a2723}.person-head h1{font-size:2.4rem;margin:0}.kinship{margin:.15rem 0 0;color:var(--accent);font-family:var(--serif);font-size:1.15rem;font-style:italic}.person-kin{color:var(--accent);font-size:.85rem;font-style:italic}.nee{margin:.2rem 0;font-family:var(--serif);font-style:italic;font-size:1.15rem;color:var(--ink-soft)}.person-head .person-years{margin:.2rem 0 0;font-size:1.1rem}.person-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.facts{display:grid;grid-template-columns:max-content 1fr;gap:.5rem 1.5rem;margin:0}.facts dt{color:var(--ink-soft)}.facts dd{margin:0}.notes p{white-space:pre-wrap}.person-form{max-width:48rem}.person-form>fieldset{min-width:0;border:1px solid var(--line);border-radius:var(--radius);padding:1rem 1.25rem .5rem;margin:0 0 1.25rem;background:var(--card)}.person-form>fieldset>legend{padding:0 .4rem;font-family:var(--serif);font-weight:600;font-size:1.15rem}.field-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));gap:0 1rem}.required{color:var(--danger)}.field-error{color:var(--danger);font-size:.85rem;margin:.2rem 0 0}.choice{display:inline-flex;align-items:center;gap:.4rem;margin:0 1.25rem .75rem 0}.latin-spelling{margin-bottom:.75rem}.latin-spelling summary{cursor:pointer;color:var(--ink-soft);margin-bottom:.5rem}.date-input{border:none;padding:0;margin:0 0 .75rem;min-width:0}.date-input>legend{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.date-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.date-parts{display:inline-flex;gap:.4rem}.date-day{width:4.5rem}.date-year{width:5.5rem}.date-and{color:var(--ink-soft)}.date-calendar{margin-top:.5rem}.date-calendar label{display:inline-flex;align-items:center;gap:.5rem;font-size:.9rem}.form-actions{display:flex;gap:.75rem}.field-label{font-size:.85rem;color:var(--ink-soft)}.button-small{padding:.3rem .7rem;font-size:.85rem}.icon-button{border:none;background:none;color:var(--ink-soft);font-size:1.25rem;line-height:1;cursor:pointer;padding:.1rem .4rem;border-radius:var(--radius)}.icon-button:hover{color:var(--danger);background:#fbf1ee}.tag{padding:.05rem .5rem;border-radius:999px;background:var(--paper-deep);color:var(--ink-soft);font-size:.75rem}.family{margin-top:2.5rem}.family-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(22rem,100%),1fr));gap:1rem}.family-group{padding:.75rem 1rem 1rem;background:var(--card);border:1px solid var(--line);border-radius:var(--radius)}.family-group h3{margin:0 0 .5rem;font-size:1.15rem}.family-group ul{list-style:none;margin:0 0 .75rem;padding:0}.relative-row{display:flex;align-items:center;flex-wrap:wrap;gap:.3rem .6rem;padding:.3rem 0;border-bottom:1px dotted var(--line)}.relative-row:last-child{border-bottom:none}.relative-row .icon-button{margin-left:auto}.relative-row .link-button{margin-left:auto;font-size:.85rem;color:var(--accent-deep)}.relative-row .link-button+.icon-button{margin-left:0}.relative-link{display:inline-flex;align-items:baseline;gap:.5rem;color:var(--ink);text-decoration:none}.relative-link:hover .relative-name{text-decoration:underline}.relative-link .sex-mark{align-self:center}.relative-name{font-family:var(--serif);font-size:1.1rem}.relative-years{color:var(--ink-soft);font-size:.85rem}.partnership-line{flex-basis:100%;padding-left:1.1rem;color:var(--ink-soft);font-size:.85rem}.group-label{margin:.4rem 0 .1rem;color:var(--ink-soft);font-size:.8rem;font-style:italic}.modal-backdrop{position:fixed;inset:0;z-index:10;display:grid;place-items:center;padding:1rem;background:#2a272373}.modal{width:min(40rem,100%);max-height:calc(100vh - 2rem);max-height:calc(100dvh - 2rem);overflow:auto;padding:1.25rem 1.5rem 1.5rem;background:var(--card);border-radius:10px;box-shadow:0 20px 50px #0003}.modal-head{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1rem}.modal-head h2{margin:0;font-size:1.4rem}.modal-head .icon-button{margin-left:auto}.mode-choice{display:flex;flex-wrap:wrap;margin-bottom:.75rem}.picker-results{list-style:none;margin:0 0 .75rem;padding:0;max-height:16rem;overflow:auto;border:1px solid var(--line);border-radius:var(--radius)}.picker-option{display:flex;align-items:baseline;gap:.6rem;width:100%;padding:.5rem .75rem;border:none;border-bottom:1px solid var(--line);background:#fff;font:inherit;text-align:left;cursor:pointer}.picker-option:hover{background:var(--paper-deep)}.picked{display:flex;align-items:center;gap:1rem;margin-bottom:.75rem;padding:.5rem .75rem;border:1px solid var(--accent);border-radius:var(--radius);background:#f3f6f0}.relative-form .sex-choice{grid-column:1 / -1;border:none;padding:0;margin:0 0 .75rem}.shell-main:has(.chart-page){max-width:none}.chart-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.5rem 1rem}.chart-title{display:flex;flex-wrap:wrap;align-items:baseline;gap:.25rem .75rem}.chart-title h1{margin:0;font-size:1.45rem}.chart-count{margin:0;color:var(--ink-soft);font-size:.875rem}.chart-canvas{position:relative}.chart-floating{position:absolute;left:.6rem;bottom:.6rem;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.4rem;padding:.35rem;background:#fffdf8d1;border:1px solid var(--line);border-radius:var(--radius);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.view-menu{position:relative}.view-menu-panel{position:absolute;left:0;top:calc(100% + .4rem);z-index:20;display:grid;gap:.25rem;min-width:14rem;padding:.75rem;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 10px 24px #00000024}.view-menu-panel .field:last-child{margin-bottom:0}@media(max-width:40rem){.chart-title h1{font-size:1.4rem}.chart-page .person-actions .button{padding:.4rem .7rem}}.chart-controls{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .5rem;margin:.75rem 0 .5rem}.chart-toolbar{margin:.75rem 0 0;padding:.4rem .6rem;background:var(--card);border:1px solid var(--line);border-radius:var(--radius) var(--radius) 0 0;border-bottom-color:var(--line)}.chart-toolbar+.chart-body .chart-viewport{border-top-left-radius:0;border-top-right-radius:0}.chart-toolbar .button,.chart-toolbar .chart-search{height:2.1rem;padding:0 .7rem;font-size:.85rem}.toolbar-end{display:flex;flex-wrap:wrap;gap:.4rem}.chart-controls .chart-find .field{flex-direction:row;align-items:center;gap:.5rem;margin-bottom:0}.chart-controls .chart-find input{width:min(15rem,28vw);min-width:9rem}.chart-controls .field{margin-bottom:0}.zoom{display:flex;align-items:center;gap:.25rem;margin-left:auto}.zoom-at{min-width:3.1rem;color:var(--ink-soft);font-size:.85rem;font-variant-numeric:tabular-nums;text-align:center}.chart-viewport{height:min(calc(100vh - 14rem),44rem);min-height:20rem;overflow:auto;border:1px solid var(--line);border-radius:var(--radius);background:radial-gradient(circle at 1px 1px,rgba(98,91,80,.14) 1px,transparent 0) 0 0 / 22px 22px,var(--paper)}.family-chart{display:block;margin:0 auto 3.5rem}.family-chart .card-face{filter:drop-shadow(0 5px 14px rgb(30 43 34 / 7%))}.family-chart .chart-card:hover .card-face{filter:drop-shadow(0 9px 24px rgb(30 43 34 / 13%))}.chart-minimap{position:absolute;right:.6rem;bottom:.6rem;padding:.25rem;background:#fffdf8e0;border:1px solid var(--line);border-radius:var(--radius);cursor:pointer}.chart-minimap:hover,.chart-minimap:focus-visible{border-color:var(--accent)}.chart-minimap svg{display:block}.chart-hint{position:absolute;right:12.5rem;bottom:.6rem;margin:0;padding:.2rem .5rem;color:var(--ink-soft);font-size:.8rem;background:#fffdf8d1;border:1px solid var(--line);border-radius:var(--radius)}.chart-viewport.chart-panning{cursor:grabbing}@media(max-width:40rem){.chart-hint,.chart-minimap{display:none}}.family-chart g[role=link]:focus{outline:none}.family-chart g[role=link]:focus>rect:first-of-type,.family-chart g[role=link]:hover>rect:first-of-type{stroke:var(--accent);stroke-width:2}.relative-form .sex-choice legend,.relative-form .shared-parents legend{padding:0;margin-bottom:.3rem;color:var(--ink-soft);font-size:.85rem}.relative-form .shared-parents{border:none;padding:0;margin:0 0 .75rem}.shared-parents .choice{display:flex}.public-inner .public-title+.public-inner .signin-lead{margin-top:0}.signin-links{margin:.75rem 0 0;font-size:.9rem;color:var(--ink-soft)}.public-inner .notice{text-align:left}.signin-form textarea{width:100%}.notice-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;padding:.6rem 1.5rem;background:#fff4cf;border-bottom:1px solid #e7d18d}.notice-bar p{margin:0}.request-list,.member-list{display:grid;gap:.75rem;list-style:none;margin:0 0 1.5rem;padding:0}.request,.member{padding:.9rem 1rem;background:var(--card);border:1px solid var(--line);border-radius:var(--radius)}.request-who,.member-who{display:flex;flex-wrap:wrap;align-items:baseline;gap:.3rem .75rem}.request-name,.member-name{font-family:var(--serif);font-size:1.2rem;font-weight:600}.request-email,.member-email{color:var(--ink-soft);font-size:.9rem;overflow-wrap:anywhere}.request-note{margin:.5rem 0 .25rem;font-style:italic}.member-table td{padding:.55rem .4rem}.member-cell{display:flex;flex-direction:column;gap:.1rem;min-width:0}.member-table .member-who{display:flex;flex-wrap:wrap;align-items:baseline;gap:.2rem .5rem}.member-table .member-name{font-size:1.05rem}.member-when{white-space:nowrap}.member-seen{display:inline-flex;align-items:center;gap:.35rem;color:var(--ink-soft);font-size:.85rem}.member-dot{width:.5rem;height:.5rem;border-radius:50%;background:var(--accent);box-shadow:0 0 0 2px #3e5a3c2e}.member-card{display:flex;flex-direction:column;gap:.2rem}.member-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .6rem}.member-actions .link-button{color:var(--accent-deep);font-size:.9rem}.member-actions .member-remove{color:var(--danger)}@media(max-width:40rem){.member{grid-template-columns:1fr;align-items:start}.member-actions{justify-content:flex-start}.notice-bar{padding:.6rem 1rem}}.bell,.letter{position:relative;display:inline-flex;align-items:center;padding:.2rem;border-radius:var(--radius);color:inherit}.bell:hover,.bell[aria-current=page],.letter:hover,.letter[aria-current=page]{background:#ffffff1f}.bell-count,.letter-count{position:absolute;top:-.35rem;right:-.5rem;min-width:1.15rem;height:1.15rem;padding:0 .3rem;border-radius:999px;background:var(--gold);color:#fff;font-size:.7rem;font-weight:600;line-height:1.15rem;text-align:center}.notification-list{list-style:none;margin:1rem 0;padding:0;border-top:1px solid var(--line)}.notification{border-bottom:1px solid var(--line)}.notification a{position:relative;display:flex;flex-direction:column;gap:.15rem;padding:.75rem .75rem .75rem 1.4rem;color:var(--ink);text-decoration:none}.notification a:hover{background:var(--paper-deep)}.notification-unread a{background:var(--card)}.notification-unread a:before{content:"";position:absolute;left:.5rem;top:1.2rem;width:.45rem;height:.45rem;border-radius:50%;background:var(--gold)}.notification-unread .notification-text{font-weight:600}.notification-reason{font-style:italic;color:var(--ink-soft)}.notification-when{color:var(--ink-soft);font-size:.8rem}.notice-sent{border-color:#b9ccb4;background:#f3f6f0}.person>.notice,.form-notice{max-width:48rem;margin:0 0 1rem}.proposal-list{display:grid;gap:.75rem;list-style:none;margin:0 0 1.5rem;padding:0}.proposal{padding:.9rem 1rem;background:var(--card);border:1px solid var(--line);border-radius:var(--radius)}.proposal-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.3rem .75rem}.proposal-title{flex:1;min-width:0;margin:0;font-size:1.15rem}.proposal-compact{padding:.6rem .9rem}.proposal-compact .proposal-title{font-size:1rem}.proposal .hint{margin:.2rem 0}.proposal-cards{display:flex;flex-wrap:wrap;gap:.25rem 1rem;margin:.25rem 0;font-size:.9rem}.proposal-cards:empty{display:none}.proposal-line{margin:.5rem 0}.proposal-reason{margin:.5rem 0 0;font-style:italic}.proposal .form-actions{margin-top:.75rem}.status-pending{background:#f6ecd7;color:#7a5b1e}.status-approved{background:#e3eee0;color:var(--accent-deep)}.status-rejected{background:#f6e3df;color:var(--danger)}.tag-warning{margin-left:.5rem;background:#f6ecd7;color:#7a5b1e}.table-scroll{overflow-x:auto;margin:.5rem 0}.diff{width:100%;border-collapse:collapse;font-size:.9rem}.diff th,.diff td{padding:.35rem .5rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.diff thead th,.diff tbody th{color:var(--ink-soft);font-weight:400}.diff td{white-space:pre-wrap;overflow-wrap:anywhere}.diff-new{background:#f3f6f0}.portrait-change{display:flex;flex-wrap:wrap;align-items:flex-start;gap:1rem;margin:.5rem 0}.portrait-change figure{display:flex;flex-direction:column;align-items:center;gap:.3rem;margin:0;color:var(--ink-soft);font-size:.8rem}.couple-change{display:grid;grid-template-columns:max-content 1fr;gap:.25rem 1rem;margin:.5rem 0;font-size:.9rem}.couple-change dt{color:var(--ink-soft)}.couple-change dd{margin:0}.shell-footer{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1.25rem;max-width:64rem;margin:-2rem auto 0;padding:0 1.5rem 2rem;color:var(--ink-soft);font-size:.85rem}.shell-footer .link-button,.shell-footer a{color:var(--ink-soft)}.shell-footer [role=status]{flex-basis:100%;margin:0;color:var(--accent-deep)}.bug-list{display:grid;gap:.75rem;list-style:none;margin:0 0 1.5rem;padding:0}.bug{padding:.9rem 1rem;background:var(--card);border:1px solid var(--line);border-radius:var(--radius)}.bug-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:.3rem .75rem}.bug-title{margin:0;font-size:1.15rem}.bug .hint{margin:.2rem 0 .5rem}.bug-facts{display:grid;grid-template-columns:max-content 1fr;gap:.25rem 1rem;margin:0;font-size:.9rem}.bug-facts dt{color:var(--ink-soft)}.bug-facts dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.bug-browser{color:var(--ink-soft);font-size:.8rem}.bug .form-actions{margin-top:.75rem}.bug-filter{margin:0}.status-open{background:#f6ecd7;color:#7a5b1e}.status-accepted{background:#e2ebf3;color:#2d4f73}.status-closed{background:#e3eee0;color:var(--accent-deep)}@media(max-width:30rem){.shell-header{padding:.75rem 1rem}.shell-main{padding:1.5rem 1rem 3rem}.button{white-space:normal;text-align:center}.person-head h1{font-size:2rem}.facts{grid-template-columns:1fr;gap:0}.facts dd{margin-bottom:.6rem}.person-form>fieldset{padding:.75rem .9rem .25rem}.date-parts{display:grid;grid-template-columns:4rem minmax(0,1fr) 5rem;width:100%}.date-parts input,.date-parts select{width:100%}.modal{padding:1rem 1.1rem 1.25rem}}.chart-body{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem}.chart-body-open{grid-template-columns:minmax(0,1fr) minmax(18rem,24rem)}.family-chart g.chart-card-selected>rect:first-of-type{stroke:var(--accent);stroke-width:3}.family-chart .card-chips{visibility:hidden}.family-chart .chart-card:hover .card-chips,.family-chart .chart-card:focus-within .card-chips,.family-chart .chart-card-selected+.card-chips,.family-chart g[aria-current=true]+.card-chips{visibility:visible}.family-chart .chart-slot:hover>rect,.family-chart .chart-slot:focus-visible>rect{stroke-width:2}.family-chart .card-chips [role=button]:hover>circle,.family-chart .card-chips [role=button]:focus-visible>circle{stroke:var(--accent);stroke-width:2}.match-badge{display:inline-flex;gap:.25rem;align-items:center;padding:.05rem .45rem;color:var(--accent);font-size:.8rem;font-variant-numeric:tabular-nums;background:var(--card);border:1px solid var(--accent);border-radius:999px;cursor:pointer}.match-badge svg{fill:none;stroke:currentcolor;stroke-width:1.6}.match-badge:hover,.match-badge:focus-visible{color:var(--card);background:var(--accent)}.match-badge.match-possible{color:var(--ink-soft);border-color:var(--line)}.match-badge.match-possible:hover,.match-badge.match-possible:focus-visible{color:var(--card);background:var(--ink-soft)}.tag-likely{color:var(--card);background:var(--accent)}.tag-possible{color:var(--ink-soft);background:var(--paper-deep)}.family-chart .card-match:hover>rect,.family-chart .card-match:focus-visible>rect{stroke-width:2.4}.people-table .person-cell{display:flex;gap:.5rem;align-items:center}.people-table .person-cell .person-row{flex:1;min-width:0}.match-list{margin:0;padding:0;list-style:none}.match-list>li{padding:.75rem 0;border-top:1px solid var(--line)}.match-heads{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.match-card{display:flex;gap:.5rem;align-items:center}.match-card p{margin:0}.match-why{margin:.25rem 0 .5rem;padding-left:1.1rem;color:var(--ink-soft);font-size:.9rem}.matches h3,.merge h3{margin:.75rem 0 .25rem;font-size:1rem}.chart-find{position:relative}.chart-find-results{position:absolute;z-index:10;top:100%;left:0;min-width:100%;max-height:16rem;overflow-y:auto;margin:.2rem 0 0;padding:.3rem 0;list-style:none;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 6px 18px #0000001f}.chart-find-results li{padding:.15rem .7rem;white-space:nowrap}.chart-page:fullscreen{overflow:auto;padding:1rem;background:var(--paper)}.chart-page:fullscreen .chart-viewport{height:calc(100vh - 12rem)}.chart-panel{position:relative;max-height:75vh;overflow-y:auto;padding:1rem 1.1rem;background:var(--card);border:1px solid var(--line);border-radius:var(--radius)}.panel-close{position:absolute;top:.4rem;right:.4rem}.panel-head{display:flex;gap:.9rem;align-items:center;padding-right:1.5rem}.panel-head h2{margin:0;font-size:1.4rem}.panel-facts{margin:.75rem 0}.panel-facts dt{display:flex;gap:.4rem;align-items:baseline}.fact-mark{color:var(--gold)}.panel-head .kinship{display:inline-block;margin:.3rem 0 0;padding:.05rem .5rem;color:var(--accent-deep);font-size:.8rem;background:#eef3ea;border:1px solid var(--accent);border-radius:999px}.panel-completeness{margin:.75rem 0}.progress-label{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem}.completeness-bar{overflow:hidden;height:6px;background:var(--paper-deep);border-radius:999px}.completeness-bar>span{display:block;height:100%;background:var(--accent)}.panel-completeness p{margin:.25rem 0 0}.panel-handle{display:none}.panel-actions,.panel-roles{display:flex;flex-wrap:wrap;gap:.4rem;margin:.75rem 0}.chart-panel h3{margin:1rem 0 .4rem;font-size:1rem}.chart-panel h4{margin:.5rem 0 .2rem;color:var(--ink-soft);font-size:.85rem;font-weight:600}.panel-family ul,.panel-events{margin:0;padding:0;list-style:none}.panel-relative{display:flex;gap:.5rem;align-items:baseline;width:100%;padding:.2rem 0;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.panel-relative:hover .relative-name{text-decoration:underline}.panel-events li{display:grid;grid-template-columns:7.5rem minmax(0,1fr);gap:.5rem;padding:.25rem 0;border-bottom:1px dotted var(--line)}.event-when{color:var(--ink-soft);font-size:.85rem}.panel-notes{white-space:pre-line}@media(max-width:40rem){.chart-body-open{grid-template-columns:minmax(0,1fr)}.panel-handle{display:block;width:2.5rem;height:.3rem;margin:0 auto .5rem;padding:0;background:var(--line);border:0;border-radius:999px;cursor:grab;touch-action:none}.chart-panel{position:fixed;right:0;bottom:0;left:0;z-index:20;max-height:var(--panel-height, 45vh);padding-bottom:calc(1rem + env(safe-area-inset-bottom,0px));border-radius:12px 12px 0 0;box-shadow:0 -8px 24px #0000002e;animation:panel-rise .18s ease-out}}@keyframes panel-rise{0%{transform:translateY(100%)}to{transform:translateY(0)}}.import-counts{display:grid;grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));gap:.6rem;margin:1rem 0}.import-counts>div{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:.5rem .75rem}.import-counts dt{color:var(--ink-soft);font-size:.85rem}.import-counts dd{margin:0;font-family:var(--serif);font-size:1.6rem}.import-difference{border-top:1px solid var(--line);padding:.75rem 0 .25rem}.import-difference h3{margin:0 0 .5rem;font-size:1.05rem}.import-choice{min-width:0;margin:0 0 .75rem;padding:0;border:0}.import-choice legend{padding:0;font-weight:600}.import-choice label{display:flex;gap:.5rem;align-items:baseline;padding:.15rem 0;overflow-wrap:anywhere}.import-section{margin:1rem 0}.import-section summary{cursor:pointer;font-weight:600}.import-people{columns:2 16rem;padding-left:1.2rem}.import-people .person-years,.import-filled .tag{margin-left:.5rem}
