.pl-page{max-width:1440px;height:calc(100vh - 64px);padding:var(--space-4) var(--space-6) var(--space-2);box-sizing:border-box;flex-direction:column;margin:0 auto;display:flex}@media (width<=768px){.pl-page{height:auto}}.pl-header{margin-bottom:var(--space-4);flex-shrink:0}.pl-title{font-family:var(--font-serif);font-size:var(--text-4xl);font-weight:var(--weight-bold);letter-spacing:var(--tracking-tight);color:var(--color-navy-700);margin:0 0 var(--space-2)}.pl-subtitle{font-family:var(--font-sans);font-size:var(--text-base);color:var(--color-neutral-600);margin:0}.pl-empty{font-family:var(--font-sans);color:var(--color-neutral-600);padding:var(--space-8) 0}.pl-search{margin-bottom:var(--space-3);align-items:center;display:flex;position:relative}.pl-search-icon{color:var(--color-neutral-400);pointer-events:none;flex-shrink:0;position:absolute;inset-inline-start:var(--space-3)}.pl-search-input{width:100%;padding:var(--space-2) var(--space-8) var(--space-2) 2.5rem;border:1.5px solid var(--color-neutral-300);border-radius:var(--radius-md);font-family:var(--font-sans);font-size:var(--text-base);color:var(--color-neutral-900);background:var(--color-white)}[dir=rtl] .pl-search-input{padding:var(--space-2) 2.5rem var(--space-2) var(--space-8)}.pl-search-input::-webkit-search-cancel-button{display:none}.pl-search-input:focus-visible{outline:var(--focus-width) solid var(--focus-color);outline-offset:var(--focus-offset)}.pl-search-clear{border-radius:var(--radius-full);width:1.5rem;height:1.5rem;color:var(--color-neutral-500);font-size:var(--text-lg);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;line-height:1;display:flex;position:absolute;inset-inline-end:var(--space-2)}.pl-search-clear:hover{background:var(--color-neutral-100);color:var(--color-neutral-900)}.pl-search-clear:focus-visible{outline:var(--focus-width) solid var(--focus-color);outline-offset:var(--focus-offset)}.pl-search-count{font-family:var(--font-sans);font-size:var(--text-sm);color:var(--color-neutral-500);margin:0 0 var(--space-3)}.pl-toggle{align-items:center;gap:var(--space-2);width:fit-content;margin:0 0 var(--space-6);padding:var(--space-1);border:1px solid var(--color-neutral-200);border-radius:var(--radius-full);display:flex}.pl-toggle-legend{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.pl-toggle-label{padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-neutral-600);cursor:pointer;align-items:center;display:inline-flex;position:relative}.pl-toggle-input{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.pl-toggle-label:has(.pl-toggle-input:checked){background:var(--color-navy-700);color:var(--color-white)}.pl-toggle-label:has(.pl-toggle-input:focus-visible){outline:var(--focus-width) solid var(--focus-color);outline-offset:var(--focus-offset)}.pl-person-list--flat{padding-inline-start:var(--space-4)}.pl-jump{gap:var(--space-1);margin-bottom:var(--space-8);background:var(--color-white);padding:var(--space-3) 0;z-index:var(--z-sticky);flex-wrap:wrap;display:flex;position:sticky;top:0}.pl-jump-link{min-width:1.75rem;height:1.75rem;padding:0 var(--space-1);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-navy-500);justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.pl-jump-link:hover{background:var(--color-neutral-100);color:var(--color-navy-700)}.pl-groups{gap:var(--space-2);flex-direction:column;display:flex}.pl-letter-group{border-bottom:1px solid var(--color-neutral-200);scroll-margin-top:var(--space-16)}.pl-letter-summary{align-items:baseline;gap:var(--space-3);padding:var(--space-4) 0;cursor:pointer;list-style:none;display:flex}.pl-letter-summary::-webkit-details-marker{display:none}.pl-letter{font-family:var(--font-serif);font-size:var(--text-3xl);font-weight:var(--weight-bold);color:var(--color-navy-700)}.pl-letter-count{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-neutral-500)}.pl-surnames{padding:0 0 var(--space-4) var(--space-4);gap:var(--space-1);flex-direction:column;display:flex}.pl-surname-group{border-inline-start:2px solid var(--color-neutral-200);padding-inline-start:var(--space-4)}.pl-surname-summary{align-items:baseline;gap:var(--space-2);padding:var(--space-2) 0;cursor:pointer;list-style:none;display:flex}.pl-surname-summary::-webkit-details-marker{display:none}.pl-surname{font-family:var(--font-sans);font-size:var(--text-lg);font-weight:var(--weight-semibold);color:var(--color-neutral-900)}.pl-surname-count{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-neutral-500)}.pl-person-list{gap:var(--space-1);padding:0 0 var(--space-2);flex-direction:column;list-style:none;display:flex}.pl-person-row{display:flex}.pl-person-btn{align-items:center;gap:var(--space-3);width:100%;padding:var(--space-2);border-radius:var(--radius-sm);font:inherit;text-align:start;cursor:pointer;background:0 0;border:none;display:flex}.pl-person-btn:hover{background:var(--color-neutral-50)}.pl-person-btn[aria-current=true]{background:var(--color-navy-50)}.pl-person-btn:focus-visible{outline:var(--focus-width) solid var(--focus-color);outline-offset:var(--focus-offset)}.pl-person-row:has(.pl-person-link):hover{background:var(--color-neutral-50)}.pl-person-row:has(.pl-person-link){align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-2);border-radius:var(--radius-sm)}.pl-avatar{border-radius:var(--radius-full);background:var(--color-navy-50);width:2rem;height:2rem;color:var(--color-navy-600);font-family:var(--font-sans);font-size:var(--text-xs);font-weight:var(--weight-semibold);flex-shrink:0;justify-content:center;align-items:center;display:flex;overflow:hidden}.pl-avatar-img{object-fit:cover;width:100%;height:100%}.pl-avatar--living{background:var(--color-living-surface);color:var(--color-living)}.pl-person-name{font-family:var(--font-sans);font-size:var(--text-base);color:var(--color-neutral-900)}.pl-person-link{font-family:var(--font-sans);font-size:var(--text-base);color:var(--color-neutral-900);text-decoration:none}.pl-person-link:hover{color:var(--color-primary);text-decoration:underline}.pl-person-link--living{color:var(--color-living);font-style:italic}.pl-gender{font-size:var(--text-sm);margin-inline-start:auto}.pl-living-section{margin-top:var(--space-12);padding-top:var(--space-6);border-top:2px solid var(--color-living-surface)}.pl-living-heading{font-family:var(--font-serif);font-size:var(--text-2xl);font-weight:var(--weight-bold);color:var(--color-living);margin:0 0 var(--space-2)}.pl-living-note{font-family:var(--font-sans);font-size:var(--text-sm);color:var(--color-neutral-600);margin:0 0 var(--space-4)}@media (width<=640px){.pl-page{padding:0 var(--space-4)}.pl-title{font-size:var(--text-3xl)}}.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 (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 (width<=768px){.fnav-tree-pane{border-inline-end:none;border-bottom:1px solid var(--color-neutral-200);max-height:45vh}}.fnav-toolbar{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);display:flex}.fnav-direction-toggle{border:1px solid var(--color-neutral-300);border-radius:var(--radius-full);padding:2px;display:inline-flex}.fnav-refresh-btn{align-items:center;gap:var(--space-1);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-neutral-600);border:1px solid var(--color-neutral-300);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), color var(--duration-fast) var(--ease-default), border-color var(--duration-fast) var(--ease-default);background:0 0;flex-shrink:0;display:inline-flex}.fnav-refresh-btn:hover{background:var(--color-neutral-100);color:var(--color-neutral-900);border-color:var(--color-neutral-400)}.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: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-chip--living{color:var(--color-living);background:var(--color-living-surface);font-style:italic}.fnav-chevron:focus-visible,.fnav-row-name:focus-visible,.fnav-chip:focus-visible,.fnav-toggle-btn:focus-visible,.fnav-refresh-btn:focus-visible{outline:var(--focus-width) solid var(--focus-color);outline-offset:var(--focus-offset)}
