#family-atlas{--ivory:#faf7ef;--chive:#35452b;--pink:#e5a4b4;color:var(--chive);background:#f4f1e8;padding:28px 32px 12px;flex:1;font-family:Arial,sans-serif}
#family-atlas *{box-sizing:border-box}#family-atlas button,#family-atlas input,#family-atlas select{font:inherit}#family-atlas button{cursor:pointer}
.fa-title{display:flex;align-items:center;justify-content:space-between;max-width:1800px;margin:0 auto 24px}.fa-title .fa-eyebrow{font-size:10px;letter-spacing:.2em;margin:0 0 10px}.fa-title h1{font:normal clamp(34px,3.6vw,54px)/1.05 Georgia,serif;margin:0 0 10px;letter-spacing:-1.5px}.fa-title h1 span{color:#b87589}.fa-title p{font-size:14px;margin:0;color:#6a7164}.fa-edition{font-size:9px;letter-spacing:.17em;border:1px solid #b5bcae;padding:9px 12px;border-radius:20px}
.fa-stage{position:relative;height:calc(100dvh - 260px);min-height:570px;max-height:1000px;max-width:1800px;margin:auto;border:1px solid #d5d8cc;border-radius:7px;overflow:hidden;background:#c2d5d0}
#fa-map{position:absolute;inset:0}.fa-panel{position:absolute;top:22px;left:22px;width:300px;background:#faf7eff5;border:1px solid #ffffffb0;border-radius:8px;box-shadow:0 8px 28px #263b3320;padding:18px;z-index:2;max-height:calc(100% - 96px);display:flex;flex-direction:column}
.fa-panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.fa-panel h2{font:normal 21px Georgia,serif;margin:0}.fa-panel button{border:0;background:transparent;color:var(--chive);min-height:44px}#fa-collapse{font-size:23px;min-width:36px}.fa-panel label{display:block;font-size:11px;color:#5b6654}#fa-search{width:100%;border:1px solid #cbd0c2;border-radius:4px;padding:13px 10px;background:#fffef8;color:var(--chive);margin:7px 0 15px;font-size:13px}
.fa-filters{display:grid;grid-template-columns:1fr 1fr;gap:10px}.fa-filters select{width:100%;margin-top:6px;border:1px solid #cbd0c2;border-radius:4px;background:#f6f4ed;padding:10px 5px;font-size:12px;color:var(--chive);height:44px}.fa-results-head{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#687260;margin-top:7px}#fa-reset{text-decoration:underline}
#fa-controls{min-height:0;display:flex;flex-direction:column}#fa-controls[hidden]{display:none}#fa-results{overflow:auto;min-height:0;max-height:285px;border-top:1px solid #d9ddcf}.fa-result{display:block;width:100%;text-align:left;padding:11px 4px!important;border-bottom:1px solid #e1e4d8!important}.fa-result strong{display:block;font-size:13px;font-weight:normal;line-height:1.4}.fa-result small{display:block;font-size:11px;line-height:1.4;color:#6b7464;margin-top:3px}.fa-result:hover,.fa-result[aria-pressed=true]{background:#e9ede1!important}.fa-result span{font-size:9px;letter-spacing:.08em;color:#69775d;text-transform:uppercase}
.fa-map-tools{position:absolute;top:22px;right:55px;display:flex;gap:2px;background:#faf7eff5;border-radius:5px;padding:4px;box-shadow:0 3px 12px #263b3315;z-index:2}.fa-map-tools button{border:0;border-radius:3px;background:transparent;color:var(--chive);padding:10px 13px;min-height:44px;font-size:12px!important}.fa-map-tools button[aria-pressed=true]{background:var(--chive);color:#fff}
.fa-card{position:absolute;bottom:67px;right:22px;width:310px;background:#faf7eff7;border-radius:8px;box-shadow:0 10px 40px #243b3330;padding:23px;z-index:3;max-height:calc(100% - 150px);overflow:auto;border-top:4px solid var(--pink)}.fa-card[hidden]{display:none}.fa-card .fa-close{position:absolute;right:8px;top:5px;border:0;background:transparent;color:var(--chive);font-size:23px;min-width:44px;min-height:44px}.fa-card h2{font:normal 27px/1.15 Georgia,serif;margin:14px 15px 7px 0}.fa-card p{font-size:12px;line-height:1.6;margin:8px 0}.fa-card .fa-life{color:#727967;font-size:11px}.fa-card .fa-event-tag{text-transform:uppercase;letter-spacing:.14em;font-size:10px;color:#8f5b6b;margin-top:18px}.fa-card .fa-place{font:normal 19px/1.35 Georgia,serif}.fa-card .fa-precision{font-size:10px;color:#6b7665;border-top:1px solid #dce0d2;padding-top:10px}.fa-card a.fa-profile{display:block;text-decoration:none;color:#fff;background:var(--chive);border-radius:4px;padding:13px;text-align:center;margin-top:16px;font-size:13px}.fa-card img{width:70px;height:70px;object-fit:cover;border-radius:50%;float:left;margin:0 12px 6px 0}.fa-card .fa-emblem{font:32px Georgia;color:#9eac91}.fa-card .fa-locate{background:#e9ede1;border:1px solid #b8c3ac;padding:10px;border-radius:4px;color:var(--chive);min-height:44px}.fa-caption{position:absolute;left:22px;bottom:29px;max-width:calc(100% - 60px);background:#faf7efe8;border-radius:4px;padding:9px 12px;font-size:11px;z-index:2;display:flex;gap:12px;align-items:center}.fa-caption button{background:none;color:var(--chive);border:0;text-decoration:underline;min-height:30px;font-size:11px}.fa-footnote{max-width:1800px;margin:11px auto 0;font-size:10px;color:#737b6c;line-height:1.5}.fa-footnote span{float:right}
#family-atlas :is(button,a,input,select):focus-visible{outline:3px solid #b96580;outline-offset:2px}.mapboxgl-ctrl-top-right{top:85px}.fa-empty{padding:14px 0;font-size:12px;line-height:1.5;color:#6c7467}
@media(max-width:760px){#family-atlas{padding:18px 10px 10px}.fa-title{margin-bottom:16px}.fa-title h1{font-size:35px}.fa-title .fa-eyebrow{font-size:8px}.fa-title p{font-size:12px}.fa-edition{display:none}.fa-stage{height:calc(100dvh - 230px);min-height:580px}.fa-panel{top:12px;left:12px;width:calc(100% - 24px);padding:10px 14px;max-height:47%}.fa-panel-head{margin:0}.fa-panel h2{font-size:20px}#fa-results{max-height:140px}.fa-map-tools{top:auto;bottom:65px;right:12px}.fa-map-tools button{padding:8px 10px;font-size:11px!important}.mapboxgl-ctrl-top-right{top:calc(47% + 8px)}.fa-card{bottom:122px;right:12px;width:calc(100% - 24px);max-height:43%;padding:14px 18px}.fa-card h2{font-size:23px;margin-top:4px}.fa-card .fa-event-tag{margin-top:9px}.fa-card .fa-profile{padding:10px!important}.fa-card p{margin:5px 0}.fa-caption{left:10px;bottom:29px;max-width:calc(100% - 20px);padding:7px 9px;font-size:10px;gap:5px}.fa-footnote span{float:none;display:block}#family-atlas input{font-size:16px!important}}

#family-atlas{padding-top:120px}.fa-leaf-marker{background:none;border:0}.fa-leaf-marker :is(button,span){display:block;border:3px solid #fff9ed;box-shadow:0 3px 10px #243b3340;background:#35452b;color:#fff;border-radius:50%;padding:0;cursor:pointer}.fa-bubble{width:42px;height:42px;font-size:12px!important}.fa-pin{width:24px;height:24px}.fa-active{background:#e5a4b4!important;box-shadow:0 0 0 11px #e5a4b450!important}.leaflet-control-container .leaflet-top{top:86px}.leaflet-pane{z-index:1}.leaflet-top,.leaflet-bottom{z-index:2}.leaflet-control-attribution{font-size:9px!important}.leaflet-tile-pane{filter:sepia(.35) saturate(.55)}.fa-stage:has(#fa-satellite[aria-pressed=true]) .leaflet-tile-pane{filter:none}@media(max-width:760px){#family-atlas{padding-top:105px}.leaflet-control-container .leaflet-top{top:48%}}

#fa-map{z-index:0}#family-atlas .fa-title h1,#family-atlas .fa-panel h2,#family-atlas .fa-card h2,#family-atlas .fa-card .fa-place{font-family:Georgia,serif!important;font-weight:400!important}#family-atlas .fa-stage{min-height:570px;height:calc(100dvh - 295px)}

@media(max-width:760px){#family-atlas .fa-panel{max-height:65%}#family-atlas #fa-results{min-height:82px;max-height:120px}#family-atlas .fa-filters{flex-shrink:0}#family-atlas .fa-panel-head{flex-shrink:0}#family-atlas #fa-search{margin-bottom:8px}#family-atlas .fa-results-head{min-height:36px;flex-shrink:0}}

@media(max-width:760px){#family-atlas .fa-card{max-height:52%}#family-atlas .fa-card #fa-photo:has(.fa-emblem){display:none}}

.fa-show-person{display:block;width:100%;border:1px solid #db2464;border-radius:5px;background:#fff0f5;color:#a11749;padding:12px;margin-top:14px;min-height:44px}
#fa-person-focus{background:#fce6ee;border-left:4px solid #db2464;padding:10px 12px;margin-bottom:12px;font-size:12px;flex-shrink:0}
#fa-person-focus[hidden]{display:none}#fa-person-name{display:block;color:#a11749}#fa-person-focus small{display:block;margin:5px 0}
#fa-exit-person{font-size:11px!important;text-decoration:underline}
.fa-person-marker button{background:#db2464!important;box-shadow:0 0 0 9px #db246430!important}.fa-muted{opacity:.18;pointer-events:none}
.fa-panel:has(#fa-person-focus:not([hidden])) .fa-filters{display:none}
