.directory-filters{display:flex;flex-wrap:wrap;gap:20px;padding:24px;background:var(--panel);border:1px solid var(--border);align-items:end}
.directory-filters label{flex:1;min-width:180px}label{display:block}label input,label select{display:block;width:100%;margin-top:8px}
input,select,button{background:#20242b;color:var(--text);border:1px solid #79613d;border-radius:3px;padding:10px 14px;max-width:100%}button{cursor:pointer}button:disabled{opacity:.45;cursor:default}
.directory-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.directory-card{border-bottom:1px solid var(--border);padding:24px 0}.directory-card h2{margin:8px 0}.directory-card p{color:var(--muted);font-size:.94rem;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.directory-pager{margin:32px 0}
.dossier-section{display:block;border-top:1px solid #655234;padding:28px 0;scroll-margin-top:calc(var(--header-h,100px) + 16px)}.complete-dossier{max-width:78ch}.dossier-section p{white-space:pre-line}.dossier-section h3{font-size:1rem;color:var(--muted);margin-top:24px}.dossier-item{border-left:1px solid var(--border);padding-left:18px;margin:16px 0}.dossier-toc{padding:24px 0;gap:12px 24px}.dossier-section a{overflow-wrap:anywhere}.study-context,.coverage-note{padding:20px;border-left:3px solid var(--accent);background:var(--panel);margin:24px 0}.study-context a{display:block}
.family-view{margin:32px 0}.family-level{position:relative;border-bottom:1px solid #76613e;padding:24px;background:var(--panel)}.family-level+.family-level:before{content:'↓';position:absolute;top:-18px;left:50%;color:var(--accent);font-size:24px}.family-level h2{font-size:1rem;color:var(--muted)}.family-nodes{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.family-nodes button{min-width:110px}.family-view+div details{padding:16px;border-bottom:1px solid var(--border)}summary{cursor:pointer;color:var(--accent)}
@media(max-width:700px){.directory-results{grid-template-columns:1fr}.directory-filters{padding:16px}.family-level{padding:16px}.dossier-toc{font-size:.85rem}}

/* Compact dossiers with a second, independently sticky navigation row. */
.alphabet-nav{gap:4px;padding:8px 0 16px;flex-wrap:wrap}
.alphabet-nav a,.alphabet-nav span{display:inline-block;text-align:center;min-width:30px;padding:3px 6px}
.alphabet-nav span{color:var(--muted);opacity:.45}
.alphabet-group{display:block;padding:10px 0;border-top:1px solid var(--border);scroll-margin-top:calc(var(--header-h,100px) + 12px)}
.alphabet-group h2{font-size:1.3rem;color:var(--accent);margin:0 0 6px}
.alphabet-group ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:2px 24px}
.alphabet-group li{margin:0;padding:0}.alphabet-group li a{display:block;padding:4px 0}
body[data-reference="people"] .directory-filters,body[data-reference="places"] .directory-filters{padding:12px 16px;gap:16px}
body[data-reference="dossier"] main{padding-top:20px}
body[data-reference="dossier"] main>h1{margin:8px 0 16px;font-size:2.2rem}
body[data-reference="dossier"] main>.eyebrow{margin-bottom:4px}
body[data-reference="dossier"] main>p:empty{display:none}
body[data-reference="dossier"] #reference-root>.eyebrow{margin:6px 0 16px}
.dossier-toc{position:sticky;top:var(--header-h,100px);z-index:35;display:flex;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;gap:4px;margin:0;padding:7px max(16px,calc((100vw - 1152px)/2));background:var(--panel);border-bottom:1px solid #655234;max-width:100%;box-sizing:border-box}
.dossier-toc a{flex:none;white-space:nowrap;padding:5px 10px;font-size:.82rem;line-height:1.5;text-decoration:none}
.dossier-toc a:hover,.dossier-toc a:focus-visible{background:var(--accent-soft);color:var(--text)}
.dossier-section{padding:14px 0;scroll-margin-top:calc(var(--header-h,100px) + var(--dossier-nav-h,48px) + 10px)}
.dossier-section h2{font-size:1.35rem;margin:0 0 10px}
.dossier-section h3{margin:12px 0 4px;font-size:.94rem}
.dossier-section p{margin:6px 0;line-height:1.65}
.dossier-item{margin:8px 0;padding-left:12px}
body[data-reference="dossier"] .study-context{margin:14px 0;padding:14px}
@media(max-width:700px){body[data-reference="dossier"] main>h1{font-size:1.9rem}.dossier-toc{padding:6px 12px}.dossier-section{padding:12px 0}}
