/* The Meghan explorer is an independent, dataset-scoped publication surface. */
:root{--mt-ink:#303f3d;--mt-muted:#596b64;--mt-rust:#a25247;--mt-border:#d7ddd6;--mt-cream:#f7f7f2;--mt-dark:#303f3d;--mt-sans:system-ui,-apple-system,"Segoe UI",sans-serif;--mt-serif:Georgia,"Times New Roman",serif}
.meghan-tree-page{background:#f7f8f4;color:var(--mt-ink);font-family:var(--mt-sans)}
.meghan-tree-page *{box-sizing:border-box}
.meghan-tree-page button,.meghan-tree-page select,.meghan-tree-page input{font:inherit}
.meghan-tree-page a:focus-visible,.meghan-tree-page button:focus-visible,.meghan-tree-page input:focus-visible,.meghan-tree-page select:focus-visible,.meghan-tree-page [tabindex]:focus-visible{outline:3px solid var(--mt-rust);outline-offset:3px}
.meghan-tree-wrap{width:min(1180px,calc(100% - 44px));margin:0 auto}
.tree-family-switch{background:#fff;border-bottom:1px solid #e2e5dc}
.tree-family-switch-inner{display:flex;gap:11px;align-items:center;flex-wrap:wrap;padding:11px 0}
.tree-family-switch-inner strong{margin-right:auto;font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#65746f}
.tree-family-switch a{font-size:12px;font-weight:800;color:#39544d;border:1px solid #bdcfc5;border-radius:999px;padding:9px 14px;text-decoration:none}
.tree-family-switch a:hover{background:#f1f5f1}
.tree-family-switch a[aria-current=page]{background:#334841;color:#fff;border-color:#334841}
.mt-hero{background:#344943;color:#fff;padding:clamp(65px,7.4vw,102px) 0 73px}
.mt-kicker{font-weight:850;letter-spacing:.13em;text-transform:uppercase;font-size:11px;color:#b15b4b;margin:0 0 20px}
.mt-hero .mt-kicker{color:#eed1b3}
.mt-hero h1{font:400 clamp(45px,7vw,94px)/.99 var(--mt-serif);letter-spacing:-.056em;margin:0 0 28px;max-width:950px}
.mt-hero h1 em{font-weight:400;color:#f1c8ad}
.mt-lede{font:clamp(19px,2.1vw,26px)/1.55 var(--mt-serif);color:#f0f5ed;max-width:820px;margin:0 0 21px}
.mt-caution{font:13px/1.75 var(--mt-sans);color:#d5e1d8;max-width:760px;margin-bottom:25px}
.mt-jump{display:inline-block;color:#ffe2cc;text-decoration:underline;text-underline-offset:6px;font-size:13px;font-weight:800}
.mt-explorer-section{padding:70px 0 75px}
.mt-heading{display:grid;grid-template-columns:1.1fr .9fr;gap:55px;align-items:end;margin-bottom:27px}
.mt-heading h2,.mt-further h2{font:400 clamp(39px,5.3vw,67px)/1.05 var(--mt-serif);letter-spacing:-.05em;margin:0}
.mt-heading h2 em,.mt-further h2 em{color:var(--mt-rust);font-weight:400}
.mt-heading>p{font:17px/1.7 var(--mt-serif);color:#53645b;max-width:500px;margin:0}
.mt-shell{background:#fff;border:1px solid var(--mt-border);box-shadow:0 14px 45px rgba(31,49,39,.06)}
.mt-controls{display:flex;justify-content:space-between;align-items:end;gap:20px;flex-wrap:wrap;padding:23px 24px;border-bottom:1px solid var(--mt-border)}
.mt-control-label{display:block;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.09em;color:#65776a;margin-bottom:12px}
.mt-roots{display:flex;gap:9px;flex-wrap:wrap}
.mt-roots button{padding:10px 16px;background:#fff;color:var(--mt-ink);border:1px solid #b4c5ba;border-radius:100px;font-size:12px;font-weight:800;cursor:pointer}
.mt-roots button:hover{background:#eff4ef}
.mt-roots button[aria-pressed=true]{background:var(--mt-dark);border-color:var(--mt-dark);color:#fff}
.mt-depth{display:flex;gap:9px;align-items:center;flex-wrap:wrap}
.mt-depth label{font-size:12px;color:var(--mt-muted)}
.mt-depth select,.mt-depth button{border:1px solid #c5d0c7;background:#fff;color:var(--mt-ink);padding:9px 10px;font-size:12px}
.mt-depth button{font-weight:750;cursor:pointer;background:#f0f2ed}
.mt-guidance{padding:15px 24px 17px;border-bottom:1px solid #dbe1d7;background:#fdfdfb}
.mt-guidance p{font-size:12px;line-height:1.6;color:#56685e;margin:0 0 10px}
.mt-legend{display:flex;gap:14px;flex-wrap:wrap;font-size:11px;color:#607268}
.mt-legend span{display:inline-flex;gap:7px;align-items:center}
.mt-key{width:15px;height:12px;background:#fff;border:1px solid #75968a;border-radius:2px}
.mt-unknown-key{background:#e5e8e3;border-style:dashed;border-color:#a4b6aa}
.mt-line-key{height:0;width:21px;border-top:2px solid #95a99a}
.mt-provisional-key{border-top-color:#b87c67;border-top-style:dashed}
.mt-crumb{font-size:12px;color:#51655c;margin-top:11px}
.mt-crumb strong{color:#30463b}
.mt-viewport{width:100%;overflow:auto;min-height:340px;max-height:690px;background:#f1f4ee;overscroll-behavior:contain}
.mt-viewport svg{display:block;max-width:none;height:auto}
.mt-bottom{display:grid;grid-template-columns:1.05fr .95fr;border-top:1px solid var(--mt-border)}
.mt-detail,.mt-search{padding:25px 27px;min-height:290px}
.mt-detail{border-right:1px solid var(--mt-border)}
.mt-smallhead{font-size:10px;letter-spacing:.11em;text-transform:uppercase;color:#8b634c;font-weight:800}
.mt-detail h3{font:400 32px/1.14 var(--mt-serif);letter-spacing:-.03em;margin:13px 0}
.mt-detail p{font:15px/1.65 var(--mt-serif);color:#40584e;max-width:600px;margin:13px 0}
.mt-detail dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 17px;margin:18px 0}
.mt-detail dt{font-size:10px;letter-spacing:.08em;text-transform:uppercase;font-weight:800;color:#78857b}
.mt-detail dd{font-size:13px;line-height:1.5;margin:5px 0 0;overflow-wrap:anywhere}
.mt-detail .mt-evidence{font:12px/1.6 var(--mt-sans);border-left:3px solid #b2c5b5;padding:9px 13px;background:#f5f7f2;color:#55685c}
.mt-detail a{color:#9d4d40;font-size:13px;font-weight:800;text-underline-offset:4px}
.mt-search label{display:block;font:700 22px/1.2 var(--mt-serif);margin-bottom:14px}
.mt-search input{display:block;width:100%;border:1px solid #b9c8bb;padding:12px;font-size:14px;border-radius:3px;color:var(--mt-ink)}
.mt-search p{font-size:12px;color:#66766b;line-height:1.6;margin:10px 0}
.mt-results{display:grid;gap:5px;max-height:280px;overflow-y:auto}
.mt-results button{text-align:left;border:1px solid #e1e6dd;background:#fff;padding:10px 13px;cursor:pointer;color:var(--mt-ink)}
.mt-results button:hover{background:#edf3ea}
.mt-results button strong{font-size:13px;display:block}
.mt-results button small{display:block;font-size:11px;color:#687c70;margin-top:4px}
.mt-footnote{font-size:12px;line-height:1.75;color:#64766d;max-width:960px;margin:22px 0 0}
.mt-further{padding:73px 0 95px;border-top:1px solid #d9e1d8;background:#eaf0ea}
.mt-story-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:33px}
.mt-story-grid a{display:flex;flex-direction:column;gap:18px;min-height:230px;background:#fff;border-top:3px solid #79988a;padding:30px;text-decoration:none;color:var(--mt-ink)}
.mt-story-grid a:hover{box-shadow:0 12px 25px rgba(34,56,43,.09);transform:translateY(-2px)}
.mt-story-grid span{font-size:10px;text-transform:uppercase;letter-spacing:.11em;font-weight:800;color:#965647}
.mt-story-grid strong{font:400 24px/1.25 var(--mt-serif)}
.mt-story-grid small{font-size:12px;font-weight:800;color:#965647;margin-top:auto}
.mt-footer-inner{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:40px 0}
.mt-footer-inner strong{font:700 21px var(--mt-serif)}
.mt-footer-inner p{font-size:12px;color:#c5d4cb}
.mt-footer-inner nav{display:flex;gap:15px;flex-wrap:wrap}
.mt-footer-inner nav a{font-size:12px;color:#fff}
@media(max-width:780px){.mt-heading{grid-template-columns:1fr;gap:15px}.mt-bottom{grid-template-columns:1fr}.mt-detail{border-right:0;border-bottom:1px solid var(--mt-border)}.mt-story-grid{grid-template-columns:1fr}.mt-story-grid a{min-height:170px}.mt-footer-inner{flex-direction:column;align-items:flex-start}.mt-controls{align-items:start}.mt-hero{padding-top:65px}.mt-explorer-section{padding:48px 0}}
@media(max-width:440px){.meghan-tree-wrap{width:calc(100% - 28px)}.mt-controls,.mt-detail,.mt-search{padding:17px}.mt-roots button{padding:9px 12px}.mt-depth{align-items:flex-start}.mt-depth label{width:100%}.mt-detail dl{grid-template-columns:1fr}.tree-family-switch-inner strong{width:100%}}
@media(prefers-reduced-motion:reduce){.mt-story-grid a{transition:none}.mt-story-grid a:hover{transform:none}}

/* Interactive SVG pedigree: all labels are DOM text, never injected markup. */
.mt-edge{fill:none;stroke:#98ad9d;stroke-width:1.7;vector-effect:non-scaling-stroke}
.mt-edge-unknown{stroke:#b6c4b8;stroke-dasharray:4 5}
.mt-edge-provisional{stroke:#b87c67;stroke-dasharray:6 4;stroke-width:2}
.mt-node rect{fill:#fff;stroke:#91ab9b;stroke-width:1.3;transition:stroke-width .1s}
.mt-node[role=button]{cursor:pointer}
.mt-node[role=button]:hover rect,.mt-node[role=button]:focus rect{stroke:#ac574a;stroke-width:2.6}
.mt-node text{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;pointer-events:none}
.mt-node-title{font-size:12px;font-weight:750;fill:#30463b}
.mt-node-subtitle{font-size:10px;fill:#6b7b70}
.mt-node-root rect{fill:#304940;stroke:#304940}
.mt-node-root .mt-node-title{fill:#fff}
.mt-node-root .mt-node-subtitle{fill:#d4e4db}
.mt-node-unknown rect{fill:#e7ebe4;stroke:#b4c2b6;stroke-dasharray:4 4}
.mt-node-unknown .mt-node-title{fill:#718476;font-weight:500}
.mt-node-unknown .mt-node-subtitle{fill:#829287}

/* Meghan-only, provenance-aware places and chronology */
.mt-context{padding:70px 0 75px;background:#f4f6f0;border-top:1px solid #dde5dc}
.mt-context-intro{margin-bottom:26px}
.mt-context-filter{display:flex;gap:24px;align-items:end;justify-content:space-between;flex-wrap:wrap;margin:0 0 25px;padding:20px 24px;background:#e8eee7;border:1px solid #d5dfd6}
.mt-context-filter label{display:block;margin-bottom:9px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.09em;color:#5d7365}
.mt-context-filter select{padding:11px 14px;border:1px solid #9fb7a7;border-radius:3px;color:#30483a;background:#fff;max-width:100%;font-size:13px}
.mt-context-filter p{font-size:12px;color:#5c7265;margin:0 0 4px;line-height:1.6}
.mt-place-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.mt-place-card{padding:27px 28px;background:#fff;border:1px solid #d7e1d9;border-top:3px solid #829f8b;display:flex;flex-direction:column;min-height:230px}
.mt-context-overline{display:block;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#925648;font-weight:850;line-height:1.6}
.mt-place-card h3,.mt-event h3{font:400 clamp(20px,2.6vw,29px)/1.16 Georgia,'Times New Roman',serif;letter-spacing:-.025em;color:#30443b;margin:11px 0 12px}
.mt-place-card p,.mt-event-body>p{font:15px/1.75 Georgia,'Times New Roman',serif;color:#435a4c;margin:0 0 21px}
.mt-context-links{display:flex;gap:14px;flex-wrap:wrap;margin-top:auto}
.mt-context-links a{font:800 12px/1.5 system-ui,sans-serif;color:#935041;text-underline-offset:4px}
.mt-context-links a:hover{color:#653729}
.mt-context-note{font-size:12px;line-height:1.75;color:#66776b;max-width:980px;margin:23px 0 0}
.mt-context-timeline{background:#edf1ec}
.mt-timeline{display:grid;gap:0;border-top:1px solid #cdd9cd;max-width:1000px}
.mt-event{display:grid;grid-template-columns:160px minmax(0,1fr);gap:24px;padding:25px 0;border-bottom:1px solid #cdd9cd}
.mt-event-date{font:800 13px/1.5 system-ui,sans-serif;color:#7c4d3d;padding-top:5px}
.mt-event-body{background:#fff;padding:23px 26px;border-left:3px solid #8eab96}
.mt-event-body h3{margin:5px 0 13px}
.mt-event-body>p{margin-bottom:15px}
.mt-event-body .mt-event-evidence{font:12px/1.65 system-ui,sans-serif;color:#855342;background:#f9f1eb;padding:8px 12px;border-left:2px solid #c59474;margin-bottom:15px}
.mt-context-empty{padding:25px 0;color:#65776a;font:16px/1.6 Georgia,serif}
@media(max-width:780px){.mt-context{padding:50px 0}.mt-place-results{grid-template-columns:1fr}.mt-event{grid-template-columns:105px minmax(0,1fr);gap:13px}.mt-event-body{padding:18px}}
@media(max-width:520px){.mt-event{grid-template-columns:1fr;gap:4px}.mt-event-date{padding-top:0}.mt-context-filter{padding:17px}.mt-place-card{padding:22px}}
