.fp-index{padding-top:var(--s-7)}.fp-index h1{margin-bottom:var(--s-3)}.fp-lead{font-family:var(--font-read);font-size:var(--fs-lead);max-width:64ch;line-height:1.55}.fp-tree{gap:var(--s-4);margin-top:var(--s-6);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.fp-branch{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--s-5);gap:var(--s-2);flex-direction:column;display:flex}.fp-branch h2{margin-bottom:var(--s-2);font-size:1.5rem}.fp-branch h2 a{color:var(--color-text);text-decoration:none}.fp-branch h2 a:hover{text-decoration:underline}.fp-leaf{align-items:center;gap:var(--s-3);min-height:var(--control-h);padding:0 var(--s-3);background:var(--color-surface-sunken);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);font-weight:500;text-decoration:none;display:flex}.fp-leaf .dom-spine{width:8px;height:26px}.fp-n{color:var(--color-text-muted);font-family:var(--font-mono);margin-left:auto;font-size:.75rem}.fp-head{background:var(--color-surface);color:var(--color-on-brand);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);box-shadow:inset 4px 0 0 var(--spine)}.fp-head-inner{padding-block:var(--s-8);gap:var(--s-4);flex-direction:column;display:flex}.fp-head h1{font-size:var(--fs-display);color:var(--color-text)}.fp-head .fp-lead{color:var(--color-text)}.fp-note{font-family:var(--font-mono);color:var(--color-text-muted);max-width:70ch;font-size:.75rem}.fp-section{padding-top:var(--s-8)}.fp-section h2{margin-bottom:var(--s-4)}.fp-kids{gap:var(--s-2);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.fp-kids .fp-leaf{background:var(--color-surface)}.fp-leaf:hover{background:var(--color-surface-raised);border-color:var(--spine);text-decoration:none}.fp-people{gap:var(--s-2);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.fp-people li{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--s-4);gap:var(--s-3);flex-direction:column;display:flex}.fp-people a{gap:var(--s-3);color:var(--color-text);align-items:center;text-decoration:none;display:flex}.fp-people a:hover .fp-pname{text-decoration:underline}.fp-pname{font-family:var(--font-sans);font-size:1.1875rem;font-weight:600;display:block}.fp-psub{font-size:var(--fs-small);color:var(--color-text-muted);display:block}.fp-basis{font-size:var(--fs-small);gap:var(--s-2);align-items:flex-start;line-height:1.5;display:flex}.fp-empty{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--s-5)}.fp-tl .dom-tl-axis{position:static}.fp-more{margin-top:var(--s-3);font-weight:600}.fp-works{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);margin:0;padding:0;list-style:none;overflow:hidden}.fp-works li{gap:var(--s-4);padding:var(--s-3) var(--s-5);border-bottom:1px solid var(--color-border);grid-template-columns:72px minmax(0,1fr);display:grid}.fp-works li:nth-child(2n){background:var(--color-surface-quiet)}.fp-works li:last-child{border-bottom:0}.fp-year{font-family:var(--font-mono);color:var(--color-accent);font-size:.9375rem;font-weight:500}.fp-wtitle{font-family:var(--font-sans);font-weight:600;display:block}@media (max-width:1100px){.fp-tree{grid-template-columns:repeat(2,minmax(0,1fr))}.fp-people{grid-template-columns:minmax(0,1fr)}}@media (max-width:760px){.fp-tree,.fp-kids{grid-template-columns:minmax(0,1fr)}.fp-tl{overflow-x:auto}.fp-tl .dom-tl-axis,.fp-tl .dom-tl-lane{min-width:640px}}
