.navigator-page{height:calc(100vh - 64px);padding:var(--space-4) var(--space-6) var(--space-2);box-sizing:border-box;flex-direction:column;max-width:1440px;margin:0 auto;display:flex}.navigator-page-heading{font-family:var(--font-serif);font-size:var(--text-2xl);font-weight:var(--weight-bold);color:var(--color-navy-700);letter-spacing:var(--tracking-tight);margin:0 0 var(--space-1);flex-shrink:0}.fnav-root{gap:var(--space-4);border:1px solid var(--color-neutral-200);border-radius:var(--radius-lg);background:var(--color-white);flex:1;min-height:0;display:flex;overflow:hidden}@media (max-width:768px){.fnav-root{flex-direction:column;height:auto;overflow:visible}}.fnav-tree-pane{min-width:0;padding:var(--space-3);border-inline-end:1px solid var(--color-neutral-200);flex:45%;overflow-y:auto}@media (max-width:768px){.fnav-tree-pane{border-inline-end:none;border-bottom:1px solid var(--color-neutral-200);max-height:45vh}}.fnav-direction-toggle{border:1px solid var(--color-neutral-300);border-radius:var(--radius-full);margin-bottom:var(--space-3);padding:2px;display:inline-flex}.fnav-toggle-btn{font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-neutral-700);border-radius:var(--radius-full);padding:var(--space-1) var(--space-4);cursor:pointer;transition:background var(--duration-fast) var(--ease-default);background:0 0;border:none;min-height:32px}.fnav-toggle-btn[aria-pressed=true]{background:var(--color-navy-700);color:var(--color-white)}.fnav-branches-heading{font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-neutral-600);margin:0 0 var(--space-2)}.fnav-branches{gap:var(--space-3);flex-direction:column;display:flex}.fnav-branches .fnav-tree-root--branch:not(:first-child){padding-top:var(--space-2);border-top:1px dashed var(--color-neutral-200)}.fnav-tree-root,.fnav-children{margin:0;padding:0;list-style:none}.fnav-row{align-items:center;gap:var(--space-2);border-radius:var(--radius-sm);min-height:36px;display:flex}.fnav-chevron,.fnav-chevron-spacer{flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;display:flex}.fnav-chevron{color:var(--color-neutral-500);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none}.fnav-chevron:hover{color:var(--color-navy-700);background:var(--color-neutral-100)}.fnav-chevron-icon{transition:transform var(--duration-fast) var(--ease-default)}.fnav-row-names{flex:1;align-items:center;min-width:0;display:flex;overflow:hidden}.fnav-spouse-pair{flex:0 auto;align-items:center;min-width:0;display:flex}.fnav-spouse-amp{color:var(--color-neutral-400);font-family:var(--font-sans);font-size:var(--text-sm);padding:0 var(--space-1);flex-shrink:0}.fnav-row-name--spouse{color:var(--color-neutral-600)}.fnav-tree-empty{font-family:var(--font-sans);font-size:var(--text-sm);color:var(--color-neutral-600);padding:var(--space-3) var(--space-2)}.fnav-row-name{align-items:center;gap:var(--space-2);text-align:start;min-width:0;font-family:var(--font-sans);font-size:var(--text-sm);color:var(--color-neutral-900);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;flex:0 auto;display:flex}.fnav-row-name:hover{background:var(--color-neutral-100)}.fnav-row-name[aria-current=true]{background:var(--color-navy-50);color:var(--color-navy-700);font-weight:var(--weight-semibold)}.fnav-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.fnav-name--unknown{color:var(--color-neutral-500);font-style:italic}.fnav-row-name--unknown{color:var(--color-neutral-500)}.fnav-node-icon{color:var(--color-neutral-500);flex-shrink:0}.fnav-node-icon--folder{color:var(--color-primary)}.fnav-node-icon--unknown{color:var(--color-neutral-400)}.fnav-dates{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-neutral-500);flex-shrink:0;margin-inline-start:auto;padding-inline-end:var(--space-2)}.fnav-detail-panel{min-width:0;padding:var(--space-4);flex:55%;overflow-y:auto}.fnav-detail-card{gap:var(--space-4);flex-direction:column;display:flex}.fnav-detail-header{align-items:center;gap:var(--space-3);display:flex}.fnav-avatar{border-radius:var(--radius-full);background:var(--color-navy-50);width:56px;height:56px;color:var(--color-navy-700);font-family:var(--font-serif);font-weight:var(--weight-bold);font-size:var(--text-lg);flex-shrink:0;justify-content:center;align-items:center;display:flex;overflow:hidden}.fnav-avatar-img{object-fit:cover;width:100%;height:100%}.fnav-detail-heading{min-width:0}.fnav-detail-name{font-family:var(--font-serif);font-size:var(--text-xl);font-weight:var(--weight-bold);color:var(--color-navy-700);margin:0}.fnav-detail-dates{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-neutral-500);margin:var(--space-1) 0 0}.fnav-profile-link{align-items:center;gap:var(--space-1);width:-moz-fit-content;width:fit-content;font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-primary);text-decoration:none;display:inline-flex}.fnav-profile-link:hover{text-decoration:underline}.fnav-detail-section{border-top:1px solid var(--color-neutral-100);padding-top:var(--space-3)}.fnav-detail-label{font-family:var(--font-sans);font-size:var(--text-xs);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--color-neutral-500);margin-bottom:var(--space-2);display:block}.fnav-detail-empty{font-family:var(--font-sans);font-size:var(--text-sm);color:var(--color-neutral-500);margin:0;font-style:italic}.fnav-chip-list{gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.fnav-chip{font-family:var(--font-sans);font-size:var(--text-sm);color:var(--color-navy-700);background:var(--color-navy-50);border-radius:var(--radius-full);padding:var(--space-1) var(--space-3);cursor:pointer;min-height:32px;transition:background var(--duration-fast) var(--ease-default), border-color var(--duration-fast) var(--ease-default);border:1px solid #0000}.fnav-chip:hover{background:var(--color-navy-100);border-color:var(--color-navy-700)}.fnav-chip--unknown{color:var(--color-neutral-500);background:var(--color-neutral-100);font-style:italic}.fnav-chevron:focus-visible,.fnav-row-name:focus-visible,.fnav-chip:focus-visible,.fnav-toggle-btn:focus-visible{outline:var(--focus-width) solid var(--focus-color);outline-offset:var(--focus-offset)}
