:root{--ink:#142e37;--paper:#f8f7f3;--muted:#61727a;--line:#d9e0e0;--navy:#102c37;--navy2:#183e49;--gold:#edba70;--teal:#58bea8;--blue:#78afe3;--rose:#ec9087;--purple:#bbabdd;--place:#d0c18c;--font:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*{box-sizing:border-box}html,body{margin:0;height:100%;font-family:var(--font);color:var(--ink);background:var(--paper);font-size:16px}button,input,select{font:inherit}button{cursor:pointer;color:inherit}button,a,input,select,summary{touch-action:manipulation}button{border:0;background:transparent}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #0f999b;outline-offset:3px}button:disabled{opacity:.35;cursor:default}a{color:inherit;text-underline-offset:3px}h1,h2,h3,p{margin-top:0}h1{font-size:1.2rem;letter-spacing:-.04em}h2{font:400 2.15rem/1.15 Georgia,"Times New Roman",serif;letter-spacing:-.025em}h3{font-size:1rem;line-height:1.4}.muted{color:var(--muted)}.small{font-size:.8rem;line-height:1.65}.hidden{display:none!important}.masthead{height:92px;display:flex;align-items:center;padding:0 30px;border-bottom:1px solid var(--line);gap:38px;background:#fff}.wordmark{text-decoration:none;font:500 2.5rem/.92 Georgia,serif;letter-spacing:.04em}.wordmark span{font:500 .75rem var(--font);letter-spacing:.21em;display:block;margin-top:9px}.bookline{border-left:1px solid var(--line);padding-left:32px;font:1rem Georgia,serif}.bookline small{display:block;font:.8rem var(--font);margin-top:6px;color:var(--muted)}.masthelp{margin-left:auto;font-size:.88rem}.masthelp span{margin-left:12px}.app-shell{display:grid;grid-template-columns:285px minmax(350px,1fr) 350px;height:calc(100dvh - 92px);overflow:hidden}.directory{display:flex;flex-direction:column;border-right:1px solid var(--line);background:#fff;min-height:0}.directory-head{padding:24px 20px 0;display:flex;align-items:center;justify-content:space-between}.searchbox{display:flex;align-items:center;gap:6px;margin:0 18px 15px;border:1px solid #bdc9cc;background:#fff;border-radius:5px;padding:9px 10px}.searchbox>span{font-size:1.6rem;line-height:1}.searchbox input{border:0;outline:none;background:none;width:100%;min-width:0;font-size:.88rem;color:var(--ink)}kbd{border:1px solid var(--line);border-radius:3px;padding:1px 4px;color:#7e8f94;font-size:.75rem}.type-tabs{display:flex;margin:0 18px 20px;border-bottom:1px solid var(--line);gap:10px}.type-tabs button{font-size:.82rem;padding:8px 0;border-bottom:2px solid transparent;color:var(--muted)}.type-tabs button.active{color:var(--ink);border-color:var(--ink);font-weight:650}.field-label{margin:0 20px 7px;font-size:.77rem;font-weight:600;color:var(--muted)}select{border:1px solid #c9d5d7;border-radius:4px;background:#fff;color:var(--ink);padding:8px;font-size:.85rem;max-width:100%}#chapterFilter{margin:0 18px 12px;width:calc(100% - 36px)}.directory-options{padding:0 20px;font-size:.78rem;display:flex;flex-direction:column;gap:9px;color:var(--muted)}input[type=checkbox]{accent-color:#1a6f76;margin:0 6px 0 0}.linkbutton{text-align:left;font-size:.78rem;color:var(--muted);padding:0}.linkbutton:hover{text-decoration:underline}.list-summary{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:15px 20px 9px;margin-top:16px;font-size:.77rem;color:var(--muted)}.entity-list{overflow:auto;flex:1;min-height:0;padding:0 9px}.entity-row{width:100%;display:flex;text-align:left;gap:10px;align-items:center;border-radius:5px;padding:12px 10px;border-bottom:1px solid #edf0ee}.entity-row:hover{background:#f0f5f4}.entity-row.selected{background:#e6efed;box-shadow:inset 3px 0 #2b7b77}.entity-icon{height:27px;width:27px;flex:0 0 27px;display:grid;place-items:center;font:600 .75rem var(--font);background:#f1e4d0;border-radius:50%;color:#85602b}.entity-icon.place{background:#e3eeec;color:#357d76;border-radius:5px}.entity-icon.organization{background:#e3eaf3;color:#4b6c8e;border-radius:5px}.entity-row-text{flex:1;min-width:0}.entity-row strong{font-size:.87rem;font-weight:560;line-height:1.3;display:block}.entity-row small{display:block;font-size:.75rem;color:var(--muted);margin-top:3px}.entity-count{font:400 .75rem var(--font);color:#829097;font-variant-numeric:tabular-nums}.pagination{display:flex;justify-content:space-between;align-items:center;padding:6px 18px;font-size:.77rem;color:var(--muted);border-top:1px solid var(--line)}.quiet{padding:8px 12px;border:1px solid #c9d3d4;border-radius:5px;background:transparent}.quiet:hover{background:#eaf0ee}.directory-footer{display:flex;align-items:center;gap:10px;padding:14px 20px;background:#f1f4f2;font-size:.75rem;text-align:left;line-height:1.5}.mini-sigil{font:1.6rem Georgia,serif;border:1px solid #b6c6c4;padding:0 7px}.directory-footer>span:nth-child(2){flex:1}.workspace{display:flex;flex-direction:column;min-width:0;position:relative;background:#f4f6f4}.workspace-toolbar{height:60px;flex:0 0 60px;display:flex;align-items:center;gap:12px;padding:0 24px;border-bottom:1px solid var(--line);background:#fff}.view-tabs{display:flex;gap:22px;height:100%;align-items:center}.view-tabs button{height:100%;font-size:.87rem;color:var(--muted);border-bottom:3px solid transparent;padding:0}.view-tabs button.active{color:var(--ink);border-color:#1b666c;font-weight:650}.scope-label{font-size:.75rem;letter-spacing:.12em;color:var(--muted);margin-left:auto;white-space:nowrap}.view{display:none;flex:1;min-height:0;position:relative;overflow:hidden}.view.active{display:block}.canvas-heading{position:absolute;left:30px;top:28px;right:24px;z-index:1;display:flex;justify-content:space-between;gap:15px;pointer-events:none}.canvas-heading>*{pointer-events:auto}.eyebrow{font-size:.75rem;font-weight:600;letter-spacing:.16em;margin-bottom:10px;line-height:1.5}.canvas-heading h2{font-size:1.9rem;margin-bottom:0}.compact-field{font-size:.75rem;display:flex;flex-direction:column;gap:7px;align-items:flex-end}.compact-field select{font-size:.76rem;background:#21424b;color:#eaf2f3;border-color:#43606a;max-width:210px}#networkView{background:radial-gradient(ellipse at 50% 50%,#1c414b 0%,#102c37 75%);color:#e8f1f2}#networkSvg{display:block;width:100%;height:100%;touch-action:none}.network-footer{position:absolute;left:28px;right:20px;bottom:50px;pointer-events:none;display:flex;justify-content:space-between;align-items:end;gap:20px}.legend{display:flex;flex-wrap:wrap;gap:10px 18px;font-size:.75rem;color:#cedcde;max-width:460px}.legend span{display:flex;align-items:center;gap:6px}.legend i{height:7px;width:7px;border-radius:50%;background:var(--gold)}.legend i.business{background:var(--blue)}.legend i.philanthropy{background:var(--teal)}.legend i.critics{background:var(--rose)}.legend i.place{background:var(--place)}#graphCount{font-size:.75rem;color:#b0c3c7;text-align:right}.canvas-note{position:absolute;bottom:19px;left:28px;right:70px;font-size:.75rem;color:#9db8bd;pointer-events:none}.zoom-controls{position:absolute;bottom:96px;right:20px;display:flex;flex-direction:column;background:#254650;border:1px solid #49636b;border-radius:5px;overflow:hidden}.zoom-controls button{color:#dfeaec;padding:7px 12px;border-bottom:1px solid #49636b}.zoom-controls button:hover{background:#3a5d65}.zoom-controls button:last-child{border:0}.canvas-empty{position:absolute;top:42%;left:15%;right:15%;text-align:center}.canvas-empty p{font-size:.9rem;color:#b5c8cc;line-height:1.6}.primary{background:#19676c;color:white;padding:11px 17px;border-radius:5px;font-size:.88rem;font-weight:600}.primary:hover{background:#0f5056}.graph-node{cursor:pointer}.graph-node text{pointer-events:none;font-family:var(--font);font-size:12px;fill:#e5eef0;paint-order:stroke;stroke:#14323b;stroke-width:4px;stroke-linecap:round;stroke-linejoin:round}.graph-node.center text{font-size:14px;font-weight:600}.graph-edge{cursor:pointer}.graph-edge:hover{stroke-opacity:1;stroke-width:3!important}.node-halo{fill:none;stroke-opacity:.25}.detail{border-left:1px solid var(--line);background:#fff;overflow:auto}.detail-top{height:48px;padding:18px 24px 0;display:flex;justify-content:space-between;align-items:center}.detail-kicker{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.detail-header{padding:20px 24px 24px;border-bottom:1px solid var(--line)}.detail-symbol{width:54px;height:54px;display:grid;place-items:center;border-radius:50%;background:#eedfc7;color:#70542f;font:1.4rem Georgia,serif;margin-bottom:18px}.detail-symbol.place{border-radius:8px;background:#dcebe6;color:#277268}.detail-symbol.organization{border-radius:8px;background:#e4edf5;color:#3b6994}.detail h2{font-size:1.8rem;line-height:1.15;margin-bottom:12px}.detail-description{font-size:.9rem;line-height:1.75;color:#526770;margin-bottom:16px}.badge{display:inline-block;font-size:.75rem;border:1px solid #cfdedb;color:#42645f;background:#f2f8f4;padding:4px 7px;border-radius:3px;margin:0 3px 4px 0}.badge.candidate{color:#866234;background:#fff6e9;border-color:#e1c89d}.detail-facts{display:flex;gap:20px;margin-top:17px}.detail-facts strong{font:1.4rem Georgia,serif;display:block}.detail-facts span{font-size:.75rem;display:block;color:var(--muted);margin-top:3px}.detail-section{padding:20px 24px;border-bottom:1px solid var(--line)}.section-title{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:13px}.section-title h3{font-size:.8rem;margin:0}.section-title small{font-size:.75rem;color:var(--muted)}.detail-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:15px}.detail-actions button{font-size:.75rem;padding:7px 10px}.alias-text{font-size:.8rem;line-height:1.65;color:var(--muted)}.relationship{border:1px solid #dce3e2;border-radius:5px;padding:10px 12px;margin-bottom:8px;background:#fff}.relationship-label{font-size:.75rem;color:#678079;display:flex;justify-content:space-between;margin-bottom:4px;gap:8px}.relationship-label button{font-size:.75rem;text-decoration:underline;color:#3c6b6a;padding:0;white-space:nowrap}.relationship-name{font-size:.85rem;font-weight:600;text-align:left;padding:2px 0}.relationship-name:hover{text-decoration:underline}.relationship-note{font-size:.75rem;line-height:1.5;color:var(--muted);margin-top:5px;margin-bottom:0}.chapter-chips{display:flex;flex-wrap:wrap;gap:5px}.chapter-chip{border:1px solid #d8e1e1;padding:5px 8px;border-radius:3px;font-size:.75rem;background:#f6f9f8}.chapter-chip:hover{background:#dbeae4}.reference-card{display:block;text-align:left;width:100%;border:1px solid #dce3e2;border-left:3px solid #bcc8b2;padding:13px 12px;margin-bottom:10px;border-radius:4px}.reference-card:hover{background:#f7f8f4}.reference-card .reference-label{font-size:.75rem;letter-spacing:.02em;color:#637d77;margin-bottom:8px;display:block}.reference-card p{font:1rem/1.65 Georgia,serif;color:#405761;margin:0}.empty-text{font-size:.85rem;color:var(--muted);line-height:1.7}.detail details{font-size:.83rem;line-height:1.7}.detail details summary{cursor:pointer;font-weight:550}.tooltip{position:fixed;z-index:30;max-width:280px;background:#fff;border:1px solid #ccd7d8;box-shadow:0 6px 25px #0003;border-radius:5px;padding:10px 13px;font-size:.78rem;color:var(--ink);pointer-events:none;line-height:1.5}.tooltip strong{display:block;margin-bottom:3px}.tooltip small{color:var(--muted)}#mapView{background:#e3edef}#mapSvg{width:100%;height:100%;display:block;touch-action:none}.map-presets{display:flex;gap:5px;align-items:start}.map-presets button{font-size:.75rem;background:#faffffb8;padding:8px 10px;border:1px solid #bdcdce;border-radius:4px}.map-presets button.active{background:#173f47;color:#fff;border-color:#173f47}.map-point{cursor:pointer}.map-label{font-family:var(--font);font-size:11px;fill:#163e46;paint-order:stroke;stroke:#f4f8f5;stroke-width:3px;pointer-events:none}.map-controls{position:absolute;bottom:52px;left:24px;right:24px;display:flex;justify-content:space-between;gap:14px;background:#fffffff0;border:1px solid #c9d4d1;border-radius:5px;padding:12px 14px;font-size:.76rem}.map-note{font-size:.75rem;color:#687d80;position:absolute;bottom:12px;left:24px;line-height:1.5;max-width:80%}.map-reset{position:absolute;bottom:105px;right:20px;background:#fff;font-size:.75rem}.scrolling{overflow:auto!important}.reading-head{padding:35px 32px 15px}.reading-head>p:not(.eyebrow){color:var(--muted);font-size:.9rem;line-height:1.7}.chapter-grid{padding:0 32px 32px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.chapter-card{padding:22px 20px;border:1px solid #d5dfdc;background:#fff;border-radius:5px;position:relative;text-align:left;min-height:165px;display:flex;flex-direction:column}.chapter-card:hover{border-color:#4b8d81;box-shadow:0 3px 10px #173a3b0b}.chapter-number{font:.8rem var(--font);color:#6c847b;margin-bottom:12px;letter-spacing:.05em}.chapter-card h3{font:1.35rem Georgia,serif;margin-bottom:15px}.chapter-card p{font-size:.77rem;line-height:1.6;color:#70827f;margin:0}.chapter-card .chapter-names{margin-top:9px;color:#375951}.passage-search{display:flex;gap:10px}.passage-search input{flex:1;min-width:0;border:1px solid #c0ccca;padding:10px 12px;border-radius:4px;font-size:.9rem}.passage-results{padding:0 32px 25px}.passage-result{padding:20px 0;border-top:1px solid var(--line)}.passage-result .reference-label{font-size:.75rem;color:#2a716a;font-weight:600}.passage-result p{font:1.05rem/1.8 Georgia,serif;margin-top:10px}.passage-result button{font-size:.76rem}.passage-result mark,mark{background:#fae4a9;color:#243a3f;border-radius:2px}#morePassages{margin:0 32px 30px}dialog{border:1px solid #becdcb;border-radius:8px;padding:28px 32px;max-width:760px;width:calc(100vw - 40px);max-height:88dvh;color:var(--ink);background:#fff;box-shadow:0 20px 80px #0004}dialog::backdrop{background:#09212bc4;backdrop-filter:blur(4px)}.dialog-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.dialog-head .eyebrow{margin:0}.iconbtn{font-size:1.7rem;line-height:1;padding:3px 8px}.dialog-source{font-size:.75rem;color:var(--muted);line-height:1.6;word-break:break-word}.evidence-text{font:1.15rem/1.9 Georgia,serif;margin:20px 0}.evidence-neighbors{display:flex;justify-content:space-between;gap:12px;margin-top:22px;border-top:1px solid var(--line);padding-top:16px}.evidence-names{display:flex;gap:6px;flex-wrap:wrap}.evidence-names button{font-size:.75rem;background:#edf3f1;border:1px solid #ccdcd4;border-radius:3px;padding:6px 8px}.evidence-relation{border-left:3px solid #a5bdad;padding:11px 14px;background:#f0f5f1;font-size:.87rem;line-height:1.6}.coverage-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:25px 0}.coverage-stats div{background:#edf3f0;border-radius:5px;padding:16px}.coverage-stats strong{display:block;font:1.8rem Georgia,serif}.coverage-stats span{font-size:.75rem;color:var(--muted)}#aboutDialog>p{font-size:.9rem;line-height:1.8}#aboutDialog h3{margin:24px 0 9px}#aboutDialog details{border:1px solid var(--line);padding:14px;border-radius:5px}#aboutDialog summary{font-size:.88rem;cursor:pointer}#aboutDialog .searchbox{margin:15px 0 10px}#indexResults{max-height:300px;overflow:auto;font-size:.8rem;line-height:1.65}#indexResults>div{border-top:1px solid var(--line);padding:9px 0}.about-actions{display:flex;gap:10px;margin-top:22px;flex-wrap:wrap}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:99;background:#163f42;color:#fff;border-radius:5px;padding:13px 20px;font-size:.85rem;box-shadow:0 5px 20px #0003}.mobile-directory,.mobile-close{display:none}
@media(min-width:1700px){.app-shell{grid-template-columns:310px minmax(450px,1fr) 390px}.detail-header,.detail-section{padding-left:30px;padding-right:30px}.canvas-heading h2{font-size:2.2rem}}
@media(max-width:1280px){.app-shell{grid-template-columns:245px minmax(320px,1fr) 295px}.masthead{height:80px;padding:0 23px}.app-shell{height:calc(100dvh - 80px)}.directory-head{padding-left:16px}.searchbox{margin-left:12px;margin-right:12px}.type-tabs{margin-left:14px;margin-right:14px;gap:9px}.type-tabs button{font-size:.75rem}.detail-header,.detail-section{padding:19px}.detail h2{font-size:1.65rem}.canvas-heading{left:22px;right:18px;flex-wrap:wrap;gap:12px}.canvas-heading h2{font-size:1.7rem}.compact-field{align-items:flex-start;gap:3px}.compact-field select{padding:6px}.workspace-toolbar{padding:0 18px}.view-tabs{gap:15px}.view-tabs button{font-size:.8rem}.scope-label{display:none}.canvas-note{font-size:.75rem;left:20px}.network-footer{left:20px}.legend{gap:7px 10px;font-size:.75rem}.chapter-grid{grid-template-columns:1fr}.map-presets button{font-size:.75rem}.map-controls{flex-direction:column;gap:7px}.bookline{font-size:.9rem}}
@media(max-width:1050px){.app-shell{grid-template-columns:minmax(350px,1fr) 310px}.directory{display:none;position:fixed;left:0;top:80px;bottom:0;width:300px;z-index:20;box-shadow:10px 0 40px #0004}.directory.open{display:flex}.mobile-directory,.mobile-close{display:block}.mobile-directory{padding:6px 9px;font-size:.8rem}.canvas-heading{flex-wrap:nowrap}.compact-field{align-items:flex-end}.view-tabs{gap:18px}.map-presets{flex-wrap:wrap;max-width:130px}}

@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

.field-label,.type-tabs button,.view-tabs button,.directory-options,.linkbutton,.compact-field select,.map-presets button,.map-controls{font-size:.875rem}.type-tabs{gap:10px}.type-tabs button{letter-spacing:-.025em}#networkTitle{max-width:350px}.map-label{font-size:12px}.graph-node text{font-size:12px}@media(max-width:1280px){.type-tabs{gap:8px}.type-tabs button{font-size:.79rem}}

.index-pages details{border:1px solid #d8dedb;border-radius:6px;margin:8px 0;padding:10px 14px}.index-pages pre{font:14px/1.6 ui-monospace,monospace;white-space:pre-wrap;overflow-wrap:anywhere;max-height:440px;overflow:auto;color:#33464b}.index-pages summary{cursor:pointer;font-weight:600}
#mapView{background:#f8faf7;isolation:isolate}#mapView .canvas-heading{position:absolute;top:0;left:0;right:0;padding:22px 28px;pointer-events:auto}#mapView .canvas-heading h2{font-size:25px}#geoMap{position:absolute;inset:145px 0 87px;background:#dfe9e9;z-index:1;font-family:inherit}.map-place-search{position:absolute;top:87px;left:28px;right:28px;display:flex;gap:8px;z-index:4}.map-place-search input{flex:1;min-width:0;border:1px solid #cbd7d2;border-radius:6px;padding:10px 13px;font:inherit;font-size:15px;background:#fff}.map-place-search button{padding:8px 15px}.map-place-search #mapSearchMessage{position:absolute;top:45px;left:0;background:#fff;font-size:13px;color:#a43121}.map-controls{bottom:48px;left:20px;right:20px;z-index:5;font-size:14px;display:flex;gap:8px;flex-wrap:wrap;align-items:center}.map-note{bottom:7px;left:20px;right:20px;max-width:none;font-size:12px;line-height:1.35;display:flex;gap:8px;justify-content:space-between;z-index:5;color:#51636a}.map-reset{z-index:410;bottom:130px;right:12px;background:#fff;box-shadow:0 1px 5px #16303822;font-size:13px}.leaflet-container .leaflet-control-attribution{font-size:12px;line-height:1.6;max-width:90%;color:#354a50;background:#fffE}.leaflet-control-attribution a{color:#1b625d}.leaflet-control-scale{margin-bottom:8px!important}.leaflet-control-scale-line{font-size:12px}.atlas-place{background:none;border:0;display:flex;align-items:center;justify-content:center}.atlas-place>span{width:13px;height:13px;border:2px solid #fff;border-radius:50%;background:#18776e;box-shadow:0 0 0 1px #1a5548,0 2px 4px #173c3a55}.atlas-place.is-approximate>span{background:#fff;border:3px solid #287e79;box-shadow:0 0 0 1px #fff}.atlas-place.is-selected>span{width:19px;height:19px;background:#de9c42;border:3px solid #fff;box-shadow:0 0 0 3px #ab762c88}.atlas-cluster{background:none;border:0;border-radius:0;box-shadow:none;font-family:inherit;overflow:visible}.atlas-cluster::before{content:"";position:absolute;left:8px;top:8px;width:8px;height:8px;border:2px solid #fff;box-sizing:border-box;border-radius:50%;background:#236f68;box-shadow:0 0 0 1px #236f6860;z-index:2}.atlas-cluster-pill{position:absolute;left:12px;top:12px;display:flex;align-items:center;gap:8px;width:max-content;max-width:240px;min-height:34px;box-sizing:border-box;padding:6px 9px 6px 11px;border:1px solid #14574f;border-radius:6px;background:#236f68;color:#fff;box-shadow:0 2px 7px #183c3d36;font:600 14px/1.3 system-ui,sans-serif;transform:translate(-50%,-130%);z-index:3}.atlas-cluster-name{font:inherit;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.atlas-cluster-count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;padding:2px 5px;border-radius:4px;background:#ffffff26;color:#f1fbf7;font:600 12px/1.25 system-ui,sans-serif;flex-shrink:0}.atlas-cluster-stem{position:absolute;left:12px;top:12px;height:1px;background:#236f68a0;transform-origin:0 50%;pointer-events:none;z-index:1}.atlas-cluster:hover .atlas-cluster-pill,.atlas-cluster:focus .atlas-cluster-pill{background:#154f49;border-color:#e4b66e;box-shadow:0 0 0 2px #e4b66e55}.atlas-map-label{font-family:inherit;font-size:14px;line-height:1.35;border:1px solid #cad9d1;background:#fffffff5;box-shadow:0 2px 6px #28423a14;color:#183937;max-width:265px;white-space:normal}.leaflet-tooltip-right.atlas-map-label:before{border-right-color:#cad9d1}.map-popup{font-family:inherit;font-size:14px;line-height:1.5;color:#263e40}.map-popup>strong{display:block;font-family:Georgia,serif;font-size:21px;line-height:1.3;margin:5px 0}.map-popup .eyebrow{font-size:12px;letter-spacing:.05em}.map-popup p{margin:7px 0!important}.map-popup .quiet{font-size:14px;margin-top:5px}.map-cluster-list{position:absolute;z-index:450;left:12px;top:157px;width:260px;max-height:calc(100% - 280px);padding:13px;background:#fff;border:1px solid #cbd7d2;border-radius:8px;box-shadow:0 6px 24px #17393e26;overflow:auto}.map-cluster-list>div:first-child{display:flex;justify-content:space-between;align-items:center}.map-cluster-list>p{font-size:13px;margin:0 0 9px;color:#586b6c}.map-cluster-list .iconbtn{width:28px;height:28px}#mapClusterNames button{display:block;width:100%;text-align:left;background:#fff;border:0;border-top:1px solid #e1e7e2;padding:9px 2px;color:#244b46;font:inherit;font-size:14px}#mapClusterNames button:hover{background:#edf4ef}#mapClusterNames small{display:block;color:#667973;font-size:12px;margin-top:3px}#mapZoomLevel{white-space:nowrap;color:#386c62}
@media(max-width:1050px){#geoMap{inset:150px 0 108px}.map-controls{bottom:63px}.map-note{bottom:9px;max-width:none}.map-reset{bottom:148px}}

/* Keep the working surface in the viewport; open supporting panels on demand. */
.phone-label,.mobile-dock,.mobile-panel-head{display:none}
.network-tools,.map-surface{display:contents}
.panel-backdrop{position:fixed;inset:0;z-index:600;background:#09212ba8;backdrop-filter:blur(2px)}
.directory,.detail,.workspace{min-width:0;min-height:0}
.detail h2,.detail-description,.relationship-note,.alias-text,.evidence-text,.evidence-relation,.passage-result,.chapter-card{overflow-wrap:anywhere}
.map-controls label{display:flex;align-items:center;gap:4px}
.map-controls input{flex:none}
.map-presets{min-width:0}
.map-reset{white-space:nowrap}
@media(max-width:1050px){
 .directory{z-index:650;width:min(360px,100vw);max-height:calc(100dvh - 80px)}
 .directory-head{flex:none}
 .directory-head h1{margin-bottom:0}
 .directory-head .iconbtn{width:44px;height:44px;flex:none}
 .workspace-toolbar{gap:10px;padding:0 12px}
 .view-tabs{gap:14px;min-width:0}
 .view-tabs button{font-size:14px}
 .mobile-directory{flex:none;min-height:44px}
}
@media(max-width:760px),(max-width:1050px) and (max-height:520px){
 html{height:100%;overflow:hidden}
 body{height:100vh;height:100dvh;display:flex;flex-direction:column;overflow:hidden;overscroll-behavior:none}
 .masthead{height:auto;min-height:58px;flex:none;padding:8px max(14px,env(safe-area-inset-right)) 8px max(14px,env(safe-area-inset-left));padding-top:max(8px,env(safe-area-inset-top));gap:16px}
 .wordmark{font-size:29px;display:flex;align-items:center;gap:12px}
 .wordmark span{margin:0;font-size:10px;letter-spacing:.15em;max-width:85px;line-height:1.5}
 .bookline{display:none}
 .masthelp{min-height:44px;font-size:14px;padding:8px 10px;white-space:nowrap}
 .masthelp span{display:none}
 .app-shell{display:flex;flex-direction:column;flex:1;height:auto;min-height:0;overflow:hidden;padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}
 .workspace{height:auto;min-height:0;flex:1;overflow:hidden}
 .workspace-toolbar{height:auto;min-height:48px;flex:0 0 auto;padding:0 10px;display:block}
 .workspace-toolbar .mobile-directory{display:none}
 .view-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;width:100%;height:48px}
 .view-tabs button{font-size:14px;letter-spacing:-.025em;padding:0 2px;min-width:0}
 .wide-label{display:none}
 .phone-label{display:inline}
 .view{min-height:0}
 .mobile-dock{display:flex;align-items:stretch;flex:none;min-height:64px;padding:5px max(10px,env(safe-area-inset-right)) max(5px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));gap:10px;background:#fff;border-top:1px solid var(--line);z-index:10}
 .mobile-dock button{min-height:52px;font-size:14px;border-radius:5px}
 #openDirectoryMobile{padding:8px 10px;display:flex;gap:7px;align-items:center;border:1px solid #c9d3d4;flex:none}
 #openDetails{display:flex;align-items:center;gap:12px;flex:1;min-width:0;text-align:left;padding:5px 3px}
 .dock-selection{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}
 .dock-selection small{font-size:10px;letter-spacing:.12em;color:var(--muted)}
 .dock-selection strong{font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 .dock-detail-label{flex:none;font-size:13px;color:#19676c;font-weight:600}
 .directory,.detail{display:none;position:fixed;inset:0;width:100%;max-width:100%;max-height:none;height:100vh;height:100dvh;z-index:650;border:0;overflow:auto;overscroll-behavior:contain;padding:0 env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);background:#fff;box-shadow:none;-webkit-overflow-scrolling:touch;scroll-padding-top:calc(72px + env(safe-area-inset-top))}
 .directory.open,.detail.open{display:block}
 .directory-head,.mobile-panel-head{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:60px;padding:8px 16px;padding-top:max(8px,env(safe-area-inset-top));background:#fff;border-bottom:1px solid var(--line)}
 .directory-head{margin-bottom:16px}
 .mobile-panel-head{font-size:14px;font-weight:600}
 .directory-head h1{font-size:20px;margin:0}
 .mobile-close{display:block}
 .iconbtn,.map-cluster-list .iconbtn{min-width:44px;min-height:44px;width:44px;height:44px;flex:none}
 .directory .searchbox{margin:0 16px 8px;padding:0 10px}
 .searchbox input{height:46px;font-size:16px}
 .searchbox kbd{display:none}
 .type-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin:0 16px 14px}
 .type-tabs button{min-height:44px;font-size:14px;letter-spacing:-.025em}
 .field-label{display:block;margin:0 18px 6px;font-size:14px}
 #chapterFilter{margin:0 16px 8px;width:calc(100% - 32px);height:44px;font-size:16px}
 .directory-options{padding:0 18px;gap:0;font-size:14px}
 .directory-options label{display:flex;align-items:center;min-height:44px}
 input[type=checkbox]{width:18px;height:18px;flex:none}
 .directory-options .linkbutton{min-height:44px;font-size:14px}
 .list-summary{margin:0;padding:0 18px;min-height:48px;align-items:center;font-size:14px}
 .list-summary button{min-height:44px;font-size:14px}
 .entity-list{overflow:visible;flex:none;padding:0 8px}
 .entity-row{min-height:60px}
 .entity-row strong{font-size:16px;overflow-wrap:anywhere}
 .pagination{padding:8px 16px;font-size:14px}
 .pagination button{min-width:44px;min-height:44px}
 .directory-footer{width:100%;font-size:13px}
 .detail-top{height:auto;min-height:52px;padding:4px 18px;gap:10px}
 .detail-top button{min-height:44px;font-size:14px}
 .detail-header,.detail-section{padding:20px 18px}
 .detail h2{font-size:30px}
 .detail-description,.reference-card p,.evidence-text,.passage-result p{font-size:16px;line-height:1.75}
 .detail-symbol{float:left;margin:0 14px 10px 0}
 .detail-description{clear:both;padding-top:12px}
 .detail-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
 .detail-facts span{line-height:1.5}
 .detail-actions{gap:8px}
 .detail-actions button,.detail-section>.quiet{font-size:14px;min-height:44px}
 .section-title{align-items:flex-start}
 .section-title h3{font-size:14px}
 .section-title small{flex:none}
 .relationship-label{align-items:center;flex-wrap:wrap;gap:4px 8px}
 .relationship-label button{font-size:14px;min-height:44px}
 .relationship-name{font-size:16px;min-height:44px;overflow-wrap:anywhere}
 .relationship-note,.alias-text,.empty-text,.detail details,.detail .small{font-size:14px;line-height:1.65}
 .detail details summary{padding:10px 0;min-height:44px}
 .chapter-chip{min-width:44px;min-height:44px;font-size:14px}
 #networkView.active,#mapView.active{display:flex;flex-direction:column}
 #networkView .canvas-heading{position:static;flex:none;display:flex;flex-direction:column;align-items:stretch;padding:14px 16px 4px;gap:8px;pointer-events:auto}
 #networkView .canvas-heading .eyebrow{display:none}
 #networkTitle{max-width:none;font-size:23px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:0;line-height:1.2}
 .compact-field{max-width:none;display:block;font-size:0}
 .compact-field select{font-size:16px;min-height:44px;width:100%;max-width:none;padding:8px}
 #networkSvg{flex:1;min-height:0;height:0;width:100%;overflow:hidden}
 .network-tools{display:flex;flex:none;align-items:center;gap:8px;padding:4px 12px}
 .network-footer{position:static;flex:1;min-width:0;display:block}
 .legend{gap:5px 9px;font-size:12px;line-height:1.3}
 .legend span{gap:5px}
 .legend i{flex:none}
 #graphCount{display:none}
 .zoom-controls{position:static;display:flex;flex-direction:row;flex:none}
 .zoom-controls button{width:44px;height:44px;font-size:20px;padding:0;border:0;border-right:1px solid #49636b}
 .canvas-note{position:static;flex:none;padding:4px 14px 10px;font-size:12px;line-height:1.45}
 .canvas-empty{top:45%;left:20px;right:20px}
 .canvas-empty h3{font-size:18px}
 .canvas-empty p{font-size:14px}
 #mapView .canvas-heading{position:static;flex:none;padding:6px 12px;display:block}
 .map-heading-title{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
 .map-presets{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));max-width:none;gap:6px;width:100%}
 .map-presets button{font-size:14px;min-height:44px;padding:6px;white-space:nowrap}
 .map-presets #fitMap{position:static;box-shadow:none;min-height:44px;font-size:14px;border-color:#bdcdce;background:#fff}
 .map-place-search{position:relative;inset:auto;display:flex;flex:none;margin:0 12px 8px;gap:6px}
 .map-place-search input{font-size:16px;height:44px;padding:8px 10px}
 .map-place-search button{font-size:14px;min-height:44px;padding:8px 14px}
 .map-place-search #mapSearchMessage{top:44px;padding:2px 5px;z-index:500}
 .map-place-search #mapSearchMessage:empty{display:none}
 .map-surface{display:block;position:relative;flex:1;min-height:0;isolation:isolate}
 #geoMap{position:absolute;inset:0}
 .map-controls{position:static;flex:none;display:flex;flex-direction:column;align-items:stretch;gap:0;margin:0;padding:0 12px 5px;border:0;border-radius:0;border-top:1px solid var(--line);background:#f8faf7;font-size:14px}
 .map-controls label{min-height:40px}
 #mappedCount{font-size:12px;line-height:1.4;color:var(--muted)}
 .map-note{position:static;max-width:none;flex:none;padding:0 12px 8px;display:block;font-size:12px;line-height:1.4}
 #mapZoomLevel{display:none}
 .map-cluster-list{top:8px;bottom:8px;left:8px;width:min(290px,calc(100% - 70px));max-width:none;max-height:none;display:flex;flex-direction:column;padding:8px 12px;overflow:hidden}
 .map-cluster-list>div:first-child{flex:none;font-size:14px}
 .map-cluster-list>p{font-size:12px;line-height:1.5;flex:none}
 #mapClusterNames{overflow:auto;overscroll-behavior:contain;min-height:0}
 #mapClusterNames button{min-height:52px;font-size:14px}
 .leaflet-touch .leaflet-bar a,.leaflet-bar a{width:44px;height:44px;line-height:44px}
 .leaflet-container a.leaflet-popup-close-button{width:44px;height:44px;font-size:24px;line-height:44px}
 .leaflet-popup-content{max-width:calc(100vw - 88px);margin:16px 20px;font-size:14px}
 .map-popup .quiet{min-height:44px;font-size:14px}
 .map-popup>strong{padding-right:12px;overflow-wrap:anywhere}
 .leaflet-control-scale{margin-bottom:5px!important}
 .leaflet-container .leaflet-control-attribution{font-size:10px;line-height:1.5;max-width:100%}
 .atlas-cluster-pill{min-height:44px;max-width:210px;font-size:14px}
 .atlas-map-label{max-width:210px}
 .scrolling{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scroll-padding-top:16px}
 .reading-head{padding:24px 18px 12px}
 .reading-head h2{font-size:28px;overflow-wrap:anywhere}
 .reading-head>p:not(.eyebrow){font-size:16px;line-height:1.65}
 .chapter-grid{grid-template-columns:1fr;padding:0 18px 24px;gap:12px}
 .chapter-card{padding:20px;min-height:0}
 .chapter-card h3{font-size:23px}
 .chapter-card p{font-size:14px}
 .passage-search{gap:6px}
 .passage-search input{font-size:16px;min-height:44px;padding:8px 10px}
 .passage-search button{font-size:14px;padding:8px 12px;min-height:44px}
 .passage-results{padding:0 18px 24px}
 .passage-result button,#morePassages{font-size:14px;min-height:44px}
 #morePassages{margin:0 18px 24px}
 dialog{width:calc(100vw - 16px - env(safe-area-inset-left) - env(safe-area-inset-right));max-width:760px;max-height:calc(100dvh - 16px - env(safe-area-inset-top) - env(safe-area-inset-bottom));padding:0 18px 18px;margin:auto;overflow:auto;overscroll-behavior:contain;scroll-padding-top:70px}
 .dialog-head{position:sticky;top:0;z-index:2;background:#fff;min-height:64px;padding:8px 0;margin:0 0 12px;gap:10px}
 .dialog-head .eyebrow{font-size:12px;letter-spacing:.08em}
 dialog h2{font-size:28px;overflow-wrap:anywhere}
 .evidence-neighbors{flex-wrap:wrap;gap:8px}
 .evidence-neighbors button{flex:1;min-width:120px;font-size:14px;min-height:44px;white-space:normal}
 .evidence-names button{font-size:14px;min-height:44px;max-width:100%;overflow-wrap:anywhere}
 .coverage-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .coverage-stats div{padding:14px}
 .coverage-stats strong{font-size:26px}
 #aboutDialog>p{font-size:16px;line-height:1.7}
 #aboutDialog summary{font-size:14px;min-height:44px;padding:6px 0}
 #aboutDialog details{padding:10px}
 .about-actions button{min-height:44px;font-size:14px}
 .toast{bottom:calc(76px + env(safe-area-inset-bottom));width:max-content;max-width:calc(100vw - 28px);font-size:14px;text-align:center}
}
@media(max-width:360px){
 .wordmark span{display:none}
 .mobile-dock{gap:8px;padding-left:8px;padding-right:8px}
 #openDirectoryMobile{padding:8px}
 #openDetails{gap:6px}
 .dock-detail-label{font-size:12px}
 .network-tools{align-items:flex-end}
}
@media(min-width:520px) and (max-width:1050px) and (max-height:520px){
 .masthead{display:none}
 .workspace-toolbar,.view-tabs{min-height:44px;height:44px}
 .mobile-dock{min-height:52px;padding-top:2px;padding-bottom:max(2px,env(safe-area-inset-bottom))}
 .mobile-dock button{min-height:44px}
 .dock-selection small{display:none}
 #mapView.active{display:grid;grid-template-columns:minmax(250px,1fr) minmax(220px,.8fr);grid-template-rows:54px minmax(0,1fr) auto auto}
 #mapView .canvas-heading{grid-column:1;grid-row:1}
 .map-place-search{grid-column:2;grid-row:1;margin:6px 12px 4px 0;align-self:start}
 .map-surface{grid-column:1/-1;grid-row:2}
 .map-controls{grid-column:1/-1;grid-row:3;flex-direction:row;align-items:center;justify-content:space-between;gap:8px;padding-bottom:0}
 .map-note{grid-column:1/-1;grid-row:4;padding-bottom:4px}
 #networkView .canvas-heading{flex-direction:row;align-items:center;padding:6px 14px;gap:16px}
 #networkView .canvas-heading>div{flex:1;min-width:0}
 .compact-field{width:240px}
 .network-tools{padding:0 12px}
 .canvas-note{padding-bottom:4px}
}
