.prose[data-page=tree]{max-width:120rem}.prose[data-page=tree]>h1,.prose[data-page=tree]>.lede,.prose[data-page=tree]>.page-foot{max-width:44rem}.tree-app{margin-top:32px}html:has(.tree-app){scroll-padding-top:calc(var(--bar-h) + 24px)}.tree-app .tree-tools{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;margin:0 0 16px}.tree-app .tools-filters,.tree-app .tools-zoom{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.tbtn{font-family:var(--body);font-size:15px;font-variant-caps:small-caps;letter-spacing:.06em;line-height:1.2;min-height:40px;padding:8px 14px;color:var(--mist);border:1px solid var(--iron);border-radius:0;background:none}.tbtn:hover{color:var(--frost);border-color:var(--mist)}.tbtn[aria-pressed=true]{color:var(--frost);border-color:var(--frost)}.tbtn[aria-pressed=false]{border-style:dashed}.tbtn:disabled{color:var(--iron);border-color:var(--iron);cursor:default}.tbtn.tzoom{min-width:40px;padding:8px 0;font-size:21px;font-variant-caps:normal;letter-spacing:0}.tree-app .zoom-val{min-width:3.6em;text-align:center;color:var(--mist);font-size:14px;font-variant-numeric:tabular-nums}@media(pointer:coarse){.tbtn{min-height:44px}.tbtn.tzoom{min-width:44px}}.tree-app .tree-hint{display:none;margin:0 0 12px;font-size:14.5px;color:var(--mist)}.tree-app .tree-layout{display:grid;grid-template-columns:minmax(0,1fr) 18rem;gap:28px;align-items:start}.tree-stage{position:relative;overflow:auto;border:1px solid var(--iron);background:var(--charcoal);cursor:grab;overscroll-behavior-x:contain;touch-action:pan-x pan-y pinch-zoom}.tree-stage.is-capped{max-height:max(520px,82vh)}.tree-stage.is-drag{cursor:grabbing;user-select:none}.tree-stage:focus-visible{outline:1px solid var(--frost);outline-offset:4px}.tree-svg{display:block;margin:0 auto;max-width:none;user-select:none;-webkit-user-select:none}.tree-app .tree-wait{margin:0;padding:96px 24px;text-align:center;color:var(--mist);font-variant-caps:small-caps;letter-spacing:.06em}.tree-measure{position:absolute;left:0;top:0;width:0;height:0;overflow:hidden;visibility:hidden;pointer-events:none}.tree-svg text,.tree-measure text{font-family:var(--body);fill:var(--frost)}.tree-svg .t-name,.tree-svg .t-bname,.tree-measure .t-name,.tree-measure .t-bname{font-family:var(--display);font-weight:400;letter-spacing:.08em;fill:var(--frost)}.tree-svg .t-title,.tree-svg .t-label,.tree-svg .t-ctl,.tree-svg .t-link,.tree-measure .t-title,.tree-measure .t-label,.tree-measure .t-ctl,.tree-measure .t-link{font-variant-caps:small-caps;letter-spacing:.06em}.tree-svg .t-title,.tree-svg .t-label,.tree-svg .t-note{fill:var(--mist)}.tree-svg .t-link{fill:var(--frost);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.22em;text-decoration-color:#e9eef373}.tree-svg a:focus-visible .t-link{text-decoration-thickness:2px;text-decoration-color:var(--frost)}.tree-svg a{outline:none}.tree-svg .ln,.tree-svg .ln-tie,.tree-svg .ln-before{fill:none;vector-effect:non-scaling-stroke}.tree-svg .ln{stroke:var(--mist);stroke-opacity:.55;stroke-width:1}.tree-svg .ln-tie{stroke:var(--mist);stroke-opacity:.85;stroke-width:1;stroke-dasharray:6 5}.tree-svg .ln-before{stroke:var(--mist);stroke-opacity:.85;stroke-width:1.6;stroke-dasharray:1 6;stroke-linecap:round}.tree-svg .person,.tree-svg .fold{outline:none;cursor:pointer}.tree-svg .person .frame{fill:transparent;stroke:var(--mist);stroke-width:1;vector-effect:non-scaling-stroke}.tree-svg .person .ring,.tree-svg .fold .ring{fill:none;stroke:var(--frost);stroke-width:1;vector-effect:non-scaling-stroke;display:none}.tree-svg .person:focus-visible .ring,.tree-svg .fold:focus-visible .ring{display:block}.tree-svg .person:hover .frame,.tree-svg .person:focus-visible .frame{stroke:var(--frost)}.tree-svg .person.is-open .frame{stroke:var(--weirwood);stroke-width:2}.tree-svg .fold .hit{fill:transparent}.tree-svg .fold .t-act{fill:var(--mist)}.tree-svg .fold .t-count{fill:var(--frost)}.tree-svg .fold:hover .t-act,.tree-svg .fold:focus-visible .t-act{fill:var(--frost)}.tree-svg .fold .t-act{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.22em;text-decoration-color:#a9b3bd80}.tree-app .tree-panel{position:sticky;top:calc(var(--bar-h) + 24px);min-height:12rem;max-height:calc(100vh - var(--bar-h) - 48px);overflow-y:auto;padding:2px 0 2px 24px;border-left:1px solid var(--iron);scroll-margin-top:calc(var(--bar-h) + 16px)}.tree-app .panel-house{margin:0 0 6px;font-size:14px;font-variant-caps:small-caps;letter-spacing:.08em;color:var(--mist)}.tree-app .panel-name:focus{outline:none}.tree-app .panel-name{margin:0 0 8px;font-family:var(--display);font-weight:400;font-size:28px;line-height:1.1;letter-spacing:.04em;color:var(--frost);text-wrap:balance}.tree-app .panel-title{margin:0 0 14px;font-size:15px;font-variant-caps:small-caps;letter-spacing:.06em;color:var(--mist)}.tree-app .panel-note{margin:0 0 18px;font-size:16px;line-height:1.55;color:#dbe2e9;max-width:31rem}.tree-app .panel-dates{display:flex;flex-wrap:wrap;gap:4px 24px;margin:0 0 14px}.tree-app .panel-dates div,.tree-app .panel-kin div,.tree-app .panel-key div{margin:0 0 12px}.tree-app .panel-dates dt,.tree-app .panel-kin dt,.tree-app .panel-key dt{margin:0 0 2px;font-size:13.5px;font-variant-caps:small-caps;letter-spacing:.08em;color:var(--mist)}.tree-app .panel-dates dd,.tree-app .panel-kin dd,.tree-app .panel-key dd{margin:0;font-size:15.5px;line-height:1.5;color:var(--frost)}.tree-app .panel-kin{margin:0 0 12px}.tree-app .panel-lore{margin:0 0 20px;font-size:16px}.tree-app .panel-lore a{color:var(--frost)}.tree-app .linkish{font:inherit;color:var(--frost);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.22em;text-decoration-color:#e9eef373}.tree-app .linkish:hover{color:var(--mist)}.tree-app .panel-key{margin:18px 0 0}.roll{max-width:44rem;margin-top:72px}.roll h2{margin-top:0}.roll h3{font-family:var(--body);font-weight:500;font-size:1.05rem;margin:2em 0 .6em}.roll ol{margin:0;padding-left:1.6em}.roll li{margin:0 0 .7em}.roll li strong{font-weight:500;color:var(--frost)}@media(max-width:859px){.tree-app .tree-layout{grid-template-columns:minmax(0,1fr);gap:24px}.tree-app .tree-panel{position:static;max-height:none;min-height:0;padding:24px 0 0;border-left:0;border-top:1px solid var(--iron)}.tree-app .tools-zoom{width:100%}.tree-app .tree-hint{display:block}}@media print{.tree-stage{overflow:visible;border:0}.tree-svg .person .frame{stroke:#000}}
