.public-portal-header{position:relative;z-index:20;display:flex;align-items:center;gap:1.2rem;border-bottom:1px solid var(--line)}
.public-main-nav{display:flex;align-items:center;gap:.45rem;margin-left:auto}
.public-main-nav>a{padding:.45rem .6rem;color:var(--ink);font-size:.82rem;font-weight:700;text-decoration:none;border-radius:999px}
.public-main-nav>a:hover{background:var(--cream);color:var(--olive-dark)}
.public-maps-menu{position:relative}.public-maps-menu>summary{list-style:none;cursor:pointer;padding:.45rem .6rem;border-radius:999px;color:var(--ink);font-size:.82rem;font-weight:700;white-space:nowrap}.public-maps-menu>summary::-webkit-details-marker{display:none}.public-maps-menu>summary::after{content:'⌄';margin-left:.3rem;color:var(--olive-dark);font-size:.7rem}.public-maps-menu>summary:hover,.public-maps-menu[open]>summary{background:var(--cream);color:var(--olive-dark)}.public-maps-menu>div{position:absolute;z-index:100;top:2.05rem;left:0;display:none;min-width:10rem;padding:.35rem;border:1px solid var(--line);border-radius:.4rem;background:#fffdf8;box-shadow:0 .7rem 1.7rem rgba(45,38,20,.18)}.public-maps-menu[open]>div,.public-maps-menu:hover>div,.public-maps-menu:focus-within>div{display:grid}.public-maps-menu>div a{padding:.5rem .6rem;border-radius:.25rem;color:var(--ink);font-size:.78rem;font-weight:700;text-decoration:none;white-space:nowrap}.public-maps-menu>div a:hover,.public-maps-menu>div a:focus-visible{background:var(--cream);outline:none}
.portal-facebook,.user-facebook{display:inline-flex!important;align-items:center;justify-content:center;gap:.28rem;color:#fff!important;background:#1877f2!important;font-family:system-ui,sans-serif!important;font-weight:800!important;text-decoration:none!important}.portal-facebook{width:1.72rem;height:1.72rem;padding:0!important;font-size:1.16rem;line-height:1}.portal-facebook:hover{background:#0d65d9!important}.user-facebook{padding:.28rem .5rem!important;border-radius:.28rem;font-size:.75rem}.user-facebook b{font-size:.78rem;line-height:1;color:#fff}
.public-languages{margin-left:.1rem}
.languages a{display:inline-flex;align-items:center;gap:4px}
.language-flag{display:block;width:20px;height:14px;object-fit:cover;border:1px solid rgba(55,45,22,.18);border-radius:2px;box-shadow:0 1px 1px rgba(30,22,8,.12)}
.language-code{font-size:10px}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;clip-path:inset(50%)}
@media(max-width:850px){.public-portal-header{flex-wrap:wrap;padding-bottom:.8rem}.public-main-nav{order:3;width:100%;margin-left:0}.public-languages{margin-left:auto}}
@media(max-width:520px){.public-portal-header .brand strong{font-size:1.25rem}.public-main-nav{overflow-x:auto}.public-languages a{font-size:.65rem;padding:4px}.public-languages .language-code{display:none}}
.tree-chooser{position:relative}.tree-chooser summary{list-style:none;cursor:pointer;color:var(--muted);font-size:11px;font-weight:700;padding:7px 8px;border-radius:20px}.tree-chooser summary::-webkit-details-marker{display:none}.tree-chooser summary:hover{background:var(--olive);color:#fff}.tree-chooser>div{position:absolute;right:0;top:32px;z-index:20;min-width:210px;padding:12px;background:var(--white);border:1px solid var(--line);box-shadow:0 12px 28px rgba(44,38,29,.16);display:grid;gap:4px}.tree-chooser>div strong{padding:2px 8px 6px;color:var(--olive-dark);font-size:11px}.tree-chooser>div a{border-radius:3px;padding:7px 8px}.tree-chooser>div a:hover{background:var(--cream);color:var(--ink)}
.user-workspace-bar{position:relative;z-index:19;background:#f0ebdb;border-bottom:1px solid var(--line);font-family:system-ui,sans-serif}.user-workspace-inner{display:flex;align-items:center;gap:.2rem;max-width:1240px;margin:0 auto;padding:.35rem 1.15rem;min-height:2.55rem}.user-workspace-inner>a{padding:.32rem .48rem;color:var(--ink);font-size:.76rem;font-weight:700;text-decoration:none;border-radius:.28rem;white-space:nowrap}.user-workspace-inner>a:hover{background:#fff9e9}.user-workspace-label{margin-right:.35rem;color:#766d4a;font-size:.66rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.user-tree-chooser summary{padding:.32rem .48rem;color:var(--ink);font-size:.76rem;border-radius:.28rem}.user-tree-chooser summary:hover{background:#fff9e9;color:var(--ink)}.user-logout{margin:0 0 0 auto}.user-logout button{border:0;background:transparent;color:#5e5533;padding:.32rem .48rem;font:700 .76rem system-ui,sans-serif;cursor:pointer;text-decoration:underline;text-underline-offset:2px;white-space:nowrap}.user-logout button:hover{color:#322d1b}@media(max-width:850px){.user-workspace-inner{overflow-x:auto}.user-workspace-label{display:none}.user-logout{margin-left:.2rem}}

/* Compact tree browser. Kept with the shared header so it cannot render as a raw link list. */
.user-tree-browser{position:relative}.user-tree-browser>summary{list-style:none;cursor:pointer}.user-tree-browser>summary::-webkit-details-marker{display:none}.user-tree-browser[open]>summary{background:#827916;color:#fff}.user-tree-browser>.tree-browser-panel{box-sizing:border-box;position:fixed!important;left:var(--tree-panel-left,12px)!important;right:auto!important;top:var(--tree-panel-top,56px)!important;z-index:1000!important;width:var(--tree-panel-width,min(620px,calc(100vw - 24px)))!important;min-width:0!important;padding:12px!important;display:block!important;background:#fffdf7!important;border:1px solid #d4ccb3!important;border-radius:10px!important;box-shadow:0 14px 36px rgba(47,40,24,.22)!important}.tree-browser-panel>strong{display:block;padding:1px 3px 8px;color:#665e31;font-size:.68rem;letter-spacing:.06em;text-transform:uppercase}.tree-filter{display:block;margin:0 0 8px}.tree-filter input{box-sizing:border-box;width:100%;height:36px;padding:7px 10px;border:1px solid #cfc5a8;border-radius:6px;background:#fff;color:#2f2a20;font:500 .78rem system-ui,sans-serif}.tree-filter input:focus{outline:2px solid rgba(130,121,22,.22);border-color:#827916}.tree-browser-list{box-sizing:border-box;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 8px;max-height:min(58vh,430px);overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior:contain;scrollbar-gutter:stable;padding:2px 4px 2px 0}.tree-browser-list>a{box-sizing:border-box;display:flex!important;align-items:center;justify-content:space-between;gap:9px;width:100%;min-width:0;margin:0!important;padding:8px 9px!important;border:1px solid #eee9da!important;border-radius:5px!important;background:#fff;color:#3c372b!important;font:600 .78rem/1.25 system-ui,sans-serif!important;text-decoration:none!important}.tree-browser-list>a:hover{border-color:#d8cfb4!important;background:#f1eddd!important;color:#302b20!important}.tree-browser-list>a span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-browser-list>a small{flex:none;padding:2px 6px;border-radius:9px;background:#e9e5d3;color:#68612f;font-size:.55rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.tree-browser-list>a[aria-current="page"]{border-color:#827916!important;background:#827916!important;color:#fff!important}.tree-browser-list>a[aria-current="page"] small{background:#fff;color:#665e31}.tree-filter-empty{margin:6px 0 0;padding:10px;text-align:center;color:#756e5d;font-size:.72rem}@media(max-width:620px){.tree-browser-list{grid-template-columns:1fr}.user-tree-browser>.tree-browser-panel{padding:10px!important}}
.tree-browser-list>a[hidden]{display:none!important}
.user-page-chooser>.user-page-menu-panel{box-sizing:border-box;left:0;right:auto;top:31px;width:280px;min-width:0;padding:9px;background:#fffdf7;border:1px solid #d4ccb3;border-radius:8px;box-shadow:0 12px 28px rgba(47,40,24,.2);gap:0}.user-page-chooser>.user-page-menu-panel>strong{display:block;padding:2px 7px 7px;color:#665e31;font-size:.66rem;letter-spacing:.05em;text-transform:uppercase}.user-page-menu-list{max-height:min(52vh,350px);overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding-right:3px}.user-page-menu-list>a{box-sizing:border-box;display:block;width:100%;padding:7px 8px!important;border-bottom:1px solid #eee9da;border-radius:3px;color:#3c372b!important;font:600 .76rem/1.25 system-ui,sans-serif;text-decoration:none!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-page-menu-list>a:last-child{border-bottom:0}.user-page-menu-list>a:hover,.user-page-menu-list>a:focus-visible{background:#f1eddd;color:#302b20!important;outline:none}
.user-account{display:inline-flex!important;align-items:center;gap:.35rem}.user-account>span,.user-account>img{display:grid;width:1.35rem;height:1.35rem;place-items:center;border:1px solid #a99d72;border-radius:50%;background:#e4dec8;color:#5d5915;font-size:.65rem;object-fit:cover}.user-account b{font:inherit}

/* Nested public archive menu. */
.public-submenu{position:relative}.public-submenu>summary,.public-menu-pending{box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;padding:.5rem .6rem;border-radius:.25rem;color:var(--ink);font-size:.78rem;font-weight:700;white-space:nowrap}.public-submenu>summary{list-style:none;cursor:pointer}.public-submenu>summary::-webkit-details-marker{display:none}.public-submenu>summary::after{content:'›';color:var(--olive-dark);font-size:1rem}.public-submenu>summary:hover,.public-submenu[open]>summary{background:var(--cream)}.public-submenu>div{display:none;margin:.1rem 0 .2rem .55rem;padding-left:.3rem;border-left:2px solid #d8d0b6}.public-submenu[open]>div,.public-submenu:hover>div,.public-submenu:focus-within>div{display:grid}.public-submenu>div a{padding:.45rem .55rem!important}.public-menu-pending{color:#827d6c;cursor:default}.public-menu-pending small{font-size:.6rem;font-weight:600;color:#99917b}

/* One compact GEDCOM entry; hover/focus exposes import and export. */
.user-gedcom-menu>.gedcom-menu-panel{left:0;right:auto;top:30px;min-width:150px;padding:6px;border-radius:7px;background:#fffdf7}
.user-gedcom-menu:hover>.gedcom-menu-panel,.user-gedcom-menu:focus-within>.gedcom-menu-panel,.user-gedcom-menu[open]>.gedcom-menu-panel{display:grid!important}
.gedcom-menu-panel>a,.gedcom-menu-action>summary{box-sizing:border-box;display:block;width:100%;padding:8px 10px!important;border-radius:4px!important;color:#302b20!important;font:700 .76rem/1.2 system-ui,sans-serif!important;text-decoration:none!important;white-space:nowrap}
.gedcom-menu-panel>a:hover,.gedcom-menu-panel>a:focus-visible,.gedcom-menu-action>summary:hover,.gedcom-menu-action>summary:focus-visible{background:#f1eddd!important;color:#302b20!important;outline:none}
.gedcom-menu-action{position:relative}.gedcom-menu-action>summary::after{content:'›';float:right;margin-left:18px;color:#827916;font-size:1rem;line-height:.75}.gedcom-menu-action[open]>summary::after{content:'⌄'}
.gedcom-menu-action>div{position:static!important;min-width:210px!important;margin:2px 0 4px;padding:5px!important;border:0!important;border-left:2px solid #d4ccb3!important;box-shadow:none!important;background:#faf7ee!important;max-height:min(45vh,300px);overflow-y:auto}
.gedcom-menu-action>div>strong{display:block;padding:3px 7px 5px!important;font-size:.64rem!important}.gedcom-menu-action>div>a{display:block;padding:6px 8px!important;font-size:.73rem!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* Public dropdowns close cleanly after the pointer leaves them. */
.public-maps-menu:not([open]):not(:hover)>div,.public-submenu:not([open]):not(:hover)>div{display:none}
