@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fraunces-vietnamese-400-normal-CvGt0Ybw.woff2) format("woff2"),url(/assets/fraunces-vietnamese-400-normal-B65MOf9T.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fraunces-latin-ext-400-normal-D8gbi3Gu.woff2) format("woff2"),url(/assets/fraunces-latin-ext-400-normal-UihxqfOe.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fraunces-latin-400-normal-6IfK1voy.woff2) format("woff2"),url(/assets/fraunces-latin-400-normal-NUPT2cO8.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fraunces-vietnamese-600-normal-BjlAJixd.woff2) format("woff2"),url(/assets/fraunces-vietnamese-600-normal-DlAl5EAR.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fraunces-latin-ext-600-normal-BtzmzP0X.woff2) format("woff2"),url(/assets/fraunces-latin-ext-600-normal-B0Dy4lqi.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fraunces-latin-600-normal-BFCDtZfi.woff2) format("woff2"),url(/assets/fraunces-latin-600-normal-DL5QCzvS.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/space-grotesk-vietnamese-400-normal-B7xT_GF5.woff2) format("woff2"),url(/assets/space-grotesk-vietnamese-400-normal-BIWiOVfw.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/space-grotesk-latin-ext-400-normal-CfP_5XZW.woff2) format("woff2"),url(/assets/space-grotesk-latin-ext-400-normal-DRPE3kg4.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/space-grotesk-latin-400-normal-CJ-V5oYT.woff2) format("woff2"),url(/assets/space-grotesk-latin-400-normal-BnQMeOim.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/space-grotesk-vietnamese-500-normal-BmEvtly_.woff2) format("woff2"),url(/assets/space-grotesk-vietnamese-500-normal-BTqKIpxg.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/space-grotesk-latin-ext-500-normal-DUe3BAxM.woff2) format("woff2"),url(/assets/space-grotesk-latin-ext-500-normal-3dgZTiw9.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/space-grotesk-latin-500-normal-lFbtlQH6.woff2) format("woff2"),url(/assets/space-grotesk-latin-500-normal-CNSSEhBt.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:light;--paper: #f3ecdf;--ink: #1c1712;--muted: #6a5e52;--rule: rgba(28, 23, 18, .14);--moss: #1d6b45;--slate: #3c4b60;--clay: #9a5730;--card: rgba(255, 250, 242, .78);--serif: "Fraunces", "Iowan Old Style", Palatino, serif;--sans: "Space Grotesk", "Avenir Next", system-ui, sans-serif;--proven: var(--moss);--inferred: var(--slate);--supposed: var(--clay);--bg: var(--paper);--mute: var(--muted);--line: var(--rule)}*{box-sizing:border-box}html,body,#root{min-height:100%}html{background:var(--paper)}body{margin:0;color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.5;background:radial-gradient(60% 40% at 100% 0%,rgba(29,107,69,.08),transparent 55%),radial-gradient(40% 30% at 0% 100%,rgba(154,87,48,.06),transparent 50%),var(--paper)}body:before{content:"";position:fixed;inset:0 auto 0 0;width:2.4rem;pointer-events:none;border-right:1px solid rgba(28,23,18,.08)}button,input{font:inherit;color:inherit}a{color:inherit}h1,h2,h3{font-family:var(--serif);font-weight:560;letter-spacing:-.03em;margin:0}p{margin:0}button{cursor:pointer}:focus-visible{outline:2px solid var(--moss);outline-offset:3px}.sr,.skip{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.skip:focus{position:fixed;left:1rem;top:1rem;z-index:20;width:auto;height:auto;clip:auto;background:var(--ink);color:var(--paper);padding:.6rem .9rem}.bar{position:sticky;top:0;z-index:5;background:color-mix(in srgb,var(--paper) 82%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.bar__in{min-height:4.2rem;display:flex;align-items:center;gap:1.2rem;padding:.6rem 1.6rem .6rem 3rem;max-width:1180px;margin:0 auto}.brand span{font-family:var(--serif);font-size:1.55rem;font-weight:560;letter-spacing:-.04em}.nav{display:flex;gap:.15rem}.nav a{color:var(--muted);padding:.35rem .7rem;border-radius:999px;text-decoration:none}.nav a.active,.nav a[aria-current=page]{color:var(--ink);background:#fffaf2e6}.searchbox{flex:1;max-width:22rem}.searchbox input,.search__box input,.intake form input{width:100%;border:0;border-bottom:1px solid var(--rule);background:transparent;border-radius:0;padding:.55rem .1rem}.view-toggle,.btn,.texte,.tools button,.zoom button,.stepper button{border:1px solid var(--rule);background:transparent;border-radius:999px;padding:.45rem .85rem;text-decoration:none}.btn--accent,.view-toggle.on{background:var(--ink);color:var(--paper);border-color:var(--ink)}.scene{height:calc(100vh - 4.2rem)}.page{max-width:980px;margin:0 auto;padding:2.2rem 1.6rem 6rem 3rem}.kicker{color:var(--moss);font-size:.82rem;letter-spacing:.08em;text-transform:none}.lede{max-width:36rem;font-size:1.15rem;color:var(--muted)}.opening h1,.narrative h1,.record h1,.search h1,.places h1{font-size:clamp(3rem,7vw,5.4rem);line-height:.92;max-width:12ch;margin:.4rem 0 1rem}.prose{max-width:38rem;display:flex;flex-direction:column;gap:.9rem}.prose p{font-family:var(--serif);font-size:1.45rem;line-height:1.35}.map-link{margin:1.4rem 0 0}.map-link a{color:var(--moss)}.invitation{margin-top:2.6rem;padding-top:1.2rem;border-top:1px solid var(--rule);max-width:34rem}.invitation h2{font-size:2.4rem;margin:.3rem 0 .4rem}.invitation a{text-decoration:none}.name-thread{margin-top:3rem}.name-thread h2,.bloc h2,.side h2,.timeline h2,.gaps h2,.intake h2,.person-records h2{font-size:1.7rem;margin-bottom:.8rem}.name-thread ol{list-style:none;margin:0;padding:0;display:flex;gap:1.2rem;overflow-x:auto;padding-bottom:.4rem}.name-thread a{text-decoration:none;display:flex;flex-direction:column;min-width:9rem}.name-thread strong{font-family:var(--serif);font-size:1.25rem}.name-thread span,.findings a{color:var(--muted)}.bloc{margin-top:2.4rem}.findings,.simple,.choices,.thread,.path-list{list-style:none;margin:0;padding:0}.findings a,.findings p{display:block;padding:.7rem 0;border-top:1px solid var(--rule);text-decoration:none}.chip{display:inline-flex;align-items:center;gap:.35rem;font-family:var(--sans);font-size:.78rem;line-height:1;border-radius:999px;padding:.28rem .55rem;border:1px solid currentColor;text-decoration:none;vertical-align:middle}.chip:before{content:"";width:.42rem;height:.42rem;border-radius:99px;background:currentColor}.chip-proven{color:var(--moss)}.chip-inferred{color:var(--slate)}.chip-supposed{color:var(--clay)}.intake{margin-top:4rem}.intake form{display:flex;gap:.8rem;align-items:end;margin-top:1rem}.intake form input{flex:1;font-size:1.15rem}.thread{display:flex;flex-direction:column;gap:.7rem}.bubble,.proposal-card{background:var(--card);border:1px solid var(--rule);border-radius:1.3rem 1.3rem 1.3rem .35rem;padding:.9rem 1.05rem;max-width:36rem;animation:monter .4s ease both}.bubble.mine{align-self:end;background:var(--ink);color:var(--paper);border-radius:1.3rem 1.3rem .35rem}.proposal-card h3{font-size:2rem;margin:.25rem 0 .45rem}.supposed,.ask-record{color:var(--clay);margin-top:.4rem}.choices button{width:100%;text-align:left;border:0;border-top:1px solid var(--rule);background:transparent;padding:.7rem 0;display:flex;flex-direction:column}.narrative__head{display:flex;flex-direction:column;align-items:flex-start;gap:.8rem}.life-dates{display:flex;flex-direction:column;gap:.15rem;font-family:var(--serif);font-size:1.35rem}.narrative__body{display:grid;grid-template-columns:1.35fr .75fr;gap:2.5rem;margin-top:2rem}.phrase{font-family:var(--serif);font-size:1.4rem;line-height:1.4;margin:0 0 1rem}.path-list li{padding:.35rem 0 .35rem .8rem;border-left:1px solid var(--rule)}.simple li{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center;padding:.5rem 0;border-top:1px solid var(--rule)}.simple span{color:var(--muted);min-width:4.5rem}.gaps{margin-top:1.4rem}.gaps li{color:var(--muted);margin:.3rem 0}.timeline ol,.person-records ul{list-style:none;margin:0;padding:0}.timeline li,.person-records li{display:grid;grid-template-columns:4.6rem 1fr auto;gap:.9rem;align-items:center;padding:.85rem 0;border-top:1px solid var(--rule)}.timeline time,.person-records time{display:block;color:var(--moss);font-variant-numeric:tabular-nums}.timeline strong,.person-records strong{font-family:var(--serif);font-size:1.25rem}.timeline em{display:block;color:var(--muted);font-style:normal}.person-records a{display:contents;text-decoration:none}.thumb{width:4.4rem;height:5.6rem;object-fit:cover;border-radius:.45rem;background:#fffaf2;box-shadow:0 10px 24px #1c17121f}.thumb--empty{display:block;box-shadow:none;border:1px dashed var(--rule)}.reading{font-size:1.08rem;max-width:40rem;white-space:pre-wrap;font-family:var(--serif)}.record figure{margin:1.4rem 0}.record img{width:min(100%,420px);border-radius:.6rem;background:#fffaf2}.places__scene{display:grid;grid-template-columns:1fr 280px;gap:1rem;margin-top:1.2rem;min-height:28rem}.places__map{min-height:28rem;border-radius:1.2rem;overflow:hidden}.tiles{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.6rem}.tile{width:100%;text-align:left;border:1px solid var(--rule);background:var(--card);border-radius:1rem;padding:.85rem .95rem;display:flex;flex-direction:column;gap:.15rem}.tile.on{border-color:var(--ink)}.tile strong{font-family:var(--serif);font-size:1.35rem}.tile span,.tile em,.unplaced{color:var(--muted);font-style:normal}.pin{width:.9rem;height:.9rem;border-radius:99px;border:2px solid var(--paper);background:var(--ink);box-shadow:0 0 0 1px var(--ink)}.unplaced{margin-top:.8rem}.tree{height:100%;position:relative}.viewport{height:100%;overflow:hidden;cursor:grab;touch-action:none}.viewport:active{cursor:grabbing}.world{position:relative;transform-origin:0 0;width:0;height:0}.links{position:absolute;left:0;top:0;overflow:visible}.links path{stroke:#1c171247;stroke-width:1.1}.card{position:absolute;display:flex;flex-direction:column;justify-content:center;gap:.05rem;background:#fffaf2f0;border:1px solid var(--rule);border-radius:16px;padding:.7rem .85rem;text-decoration:none}.card:hover{transform:translateY(-3px)}.card strong{font-family:var(--serif);font-size:1.12rem;font-weight:560}.card .given,.card .lieu,.card .meta{color:var(--muted);font-size:.82rem}.card .lieu{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card.sex-M{box-shadow:inset 3px 0 0 var(--slate)}.card.sex-F{box-shadow:inset 3px 0 0 var(--clay)}.card.is-active{box-shadow:0 0 0 1px var(--ink)}.card.sex-masked{border-style:dashed}.badge{font-size:.72rem;color:var(--muted);border:1px solid var(--rule);border-radius:999px;padding:.05rem .4rem;width:fit-content;margin-top:.2rem}.tools{position:absolute;z-index:3;top:.8rem;left:1rem;right:5rem;display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;pointer-events:none}.tools>*{pointer-events:auto}.segmented,.stepper{display:flex;background:#fffaf2e6;border:1px solid var(--rule);border-radius:999px;overflow:hidden}.segmented button,.stepper button{border:0;border-radius:0}.segmented button[aria-selected=true]{background:var(--ink);color:var(--paper)}.stepper span{display:grid;place-items:center;min-width:4rem;font-size:.85rem}.count{margin-left:auto;color:var(--muted);background:#fffaf2d9;border-radius:999px;padding:.35rem .7rem;font-size:.85rem}.legend{position:absolute;left:1rem;bottom:.8rem;z-index:3;display:flex;gap:.8rem;color:var(--muted);font-size:.8rem;background:#f3ecdfeb;border-radius:999px;padding:.35rem .7rem}.legend span{display:inline-flex;align-items:center;gap:.3rem}.pu{width:.45rem;height:.45rem;border-radius:99px;background:var(--muted);display:inline-block}.pu.m{background:var(--slate)}.pu.f{background:var(--clay)}.focus-name{color:var(--ink)}.zoom{position:absolute;right:1rem;bottom:.8rem;z-index:3;display:flex;flex-direction:column;gap:.3rem}.zoom button{width:2.2rem;height:2.2rem;padding:0;background:#fffaf2}.search__box{display:flex;gap:.8rem;align-items:end;margin:1.2rem 0}.check{display:flex;gap:.45rem;align-items:center;margin:.4rem 0 1rem}.hit{display:grid;grid-template-columns:auto 1fr auto;gap:.7rem;align-items:center;padding:.8rem 0;border-bottom:1px solid var(--rule);text-decoration:none}.hit strong{font-family:var(--serif);font-size:1.3rem;font-weight:560}.empty{padding:3rem 1.4rem}.profile__head{display:flex;justify-content:space-between;gap:1rem;align-items:end}.person-link{display:flex;flex-direction:column;text-decoration:none;padding:.35rem 0}.muted,.small{color:var(--muted)}.raw{white-space:pre-wrap;font-family:var(--sans);font-size:.92rem}@keyframes monter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@media(max-width:860px){body:before{display:none}.bar__in,.page{padding-left:1rem}.bar__in{flex-wrap:wrap}.searchbox{order:5;flex-basis:100%;max-width:none}.narrative__body,.places__scene,.timeline li,.person-records li{grid-template-columns:1fr}.intake form,.search__box{flex-direction:column;align-items:stretch}.count{margin-left:0}}@media(prefers-reduced-motion:reduce){.bubble,.proposal-card,.card{animation:none;transition:none}}
