:root{--bg:#101e20;--panel:#142426;--ink:#e5e8dd;--muted:#93a5a0;--gold:#c7ad78;--border:#30403b;--serif:'Cormorant Garamond',Georgia,serif;--sans:'Inter',sans-serif}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden}body{font-family:var(--sans);font-size:16px;color:var(--ink);background:var(--bg)}button,input,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;background:none;border:0}button:focus-visible,a:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--gold);outline-offset:4px}button:hover{color:#f6deb1}a{color:inherit}button:disabled{opacity:.4;cursor:default}.masthead{height:88px;border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 32px;gap:36px;background:#122123;position:relative;z-index:20}.brand{display:flex;gap:14px;align-items:center;text-decoration:none;font:500 34px var(--serif);min-width:285px;letter-spacing:.02em}.brandmark{color:var(--gold);font-size:38px;border:1px solid #846f48;border-radius:50%;width:47px;height:47px;display:grid;place-items:center;outline:1px solid #5d553d;outline-offset:4px}.brand small{display:block;font:500 9px var(--sans);letter-spacing:.23em;color:var(--gold);margin-top:1px}.masthead nav{display:flex;height:100%;gap:28px;align-items:center}.nav-btn{font-size:14px;height:100%;position:relative;color:#a3b1ab;white-space:nowrap}.nav-btn.active{color:var(--gold)}.nav-btn.active:after{content:'';position:absolute;height:2px;background:var(--gold);bottom:0;left:0;right:0}.edition{margin-left:auto;font-size:11px;letter-spacing:.12em;color:var(--muted);white-space:nowrap}.edition span{padding:0 8px;color:var(--gold)}main{height:calc(100dvh - 88px);display:flex;position:relative}.sidebar{width:302px;flex-shrink:0;border-right:1px solid var(--border);padding:28px 23px 18px;display:flex;flex-direction:column;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#46574c transparent;background:linear-gradient(150deg,#192a28,#122123 65%);position:relative;z-index:10}.eyebrow{font-size:10px;font-weight:550;letter-spacing:.15em;color:var(--gold)}.side-heading h1{font:400 45px/.98 var(--serif);letter-spacing:-.03em;margin:21px 0 15px}.side-heading h1 em{font-weight:400;color:#d2b77e}.side-heading p{font-size:12px;line-height:1.7;color:var(--muted);margin:0 0 23px}.searchbox{border:1px solid #455448;border-radius:4px;display:flex;align-items:center;gap:8px;padding:10px;background:#0f1b1c;flex-shrink:0}.searchbox>span{font-size:22px;color:var(--gold);line-height:1}.searchbox input{min-width:0;width:100%;background:none;color:var(--ink);border:0;outline:none;font:12px var(--sans)}.searchbox input::placeholder{color:#8a9c96}.searchbox kbd{font:11px var(--sans);color:var(--muted);border:1px solid var(--border);padding:2px 5px;border-radius:3px}.filter-head{display:flex;align-items:center;justify-content:space-between;margin:28px 0 10px}.text-button{font-size:11px;text-decoration:underline;color:var(--muted)}.families{display:flex;flex-direction:column;gap:1px}.family{width:100%;display:flex;align-items:center;gap:10px;font-size:12px;text-align:left;padding:8px 10px;border-radius:3px;color:#b8c4bc;flex-shrink:0;position:relative}.family:hover,.family.active{background:#283c34;color:#eee9d7}.family.active{box-shadow:inset 2px 0 var(--family-color)}.family-dot{width:6px;height:6px;border-radius:50%;background:var(--family-color);box-shadow:0 0 7px color-mix(in srgb,var(--family-color) 30%,transparent)}.family-count{margin-left:auto;font-size:10px;color:#93a398}.discovery{padding-top:22px;margin-top:auto}.discovery .eyebrow{font-size:9px}.discovery button{border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin-top:10px;padding:15px 0;font:italic 17px var(--serif);display:flex;width:100%;align-items:center;text-align:left;gap:10px}.discovery button span{color:var(--gold);margin-left:auto;font-size:24px}.sidebar-foot{display:flex;gap:14px;align-items:center;margin-top:18px;color:var(--muted)}.sidebar-foot .tiny-compass{font-size:30px;color:var(--gold)}.sidebar-foot p{font-size:10px;line-height:1.7;margin:0}.sidebar-foot strong{font-weight:500;color:#c2c7b9}.atlas{flex:1;min-width:0;display:flex;flex-direction:column;position:relative}.atlas-toolbar{display:flex;justify-content:space-between;align-items:center;padding:24px 28px 20px;gap:15px;border-bottom:1px solid #2c3c36;background:#132224;flex-shrink:0}.atlas-toolbar h2{font:400 27px var(--serif);margin:5px 0 0;letter-spacing:-.015em}.view-controls{display:flex;align-items:center;gap:13px}.segment{border:1px solid #435047;padding:3px;border-radius:5px;display:flex}.segment button{font-size:11px;color:var(--muted);padding:7px 11px;border-radius:3px;white-space:nowrap}.segment button.selected{background:#354439;color:#e5d3ac}.icon-button{font-size:24px;padding:5px;color:#c4b78f}.map-wrap{flex:1;min-height:250px;position:relative;overflow:hidden;background:radial-gradient(ellipse at 60% 20%,#20362d50,transparent 65%),#101e20}#map{height:100%;width:100%;display:block;cursor:grab;touch-action:none}#map.dragging{cursor:grabbing}.map-watermark{position:absolute;right:25px;bottom:64px;pointer-events:none;text-align:center;opacity:.16;display:flex;flex-direction:column;align-items:center;color:var(--gold)}.map-watermark>span{font-size:46px;line-height:1}.map-watermark em{font:36px var(--serif)}.map-watermark small{font-size:7px;letter-spacing:.2em;margin-top:3px}.map-caption{position:absolute;bottom:20px;left:24px;display:flex;align-items:center;gap:8px;color:#91a297;font-size:10px;background:#101e20dc;padding:8px;border-radius:3px;pointer-events:auto}.map-caption button{font-size:10px;color:#bdaf88;text-decoration:underline;margin-left:10px}.legend-line{display:inline-block;width:22px;border-top:1px solid #bdaf88}.legend-line.dashed{border-top-style:dashed;margin-left:10px}.zoom-controls{position:absolute;bottom:23px;right:24px;display:flex;align-items:center;border:1px solid #445248;background:#182926;border-radius:4px;box-shadow:0 5px 20px #0003}.zoom-controls button{width:33px;height:34px;font-size:21px;font-weight:400}.zoom-controls span{font-size:10px;color:#acb9aa;min-width:40px;text-align:center}.map-status{position:absolute;top:14px;left:24px;font-size:10px;letter-spacing:.03em;color:#84988d;pointer-events:none}.timeline-footer{border-top:1px solid var(--border);padding:20px 25px 21px;background:#142325;flex-shrink:0}.timeline-footer>.eyebrow{font-size:9px}.eras{display:flex;justify-content:space-between;gap:12px;margin-top:16px;position:relative}.eras:before{content:'';position:absolute;top:-6px;width:100%;height:1px;background:#3f4c3e}.eras button{font-size:11px;position:relative;text-align:left;color:#95a398;padding-top:11px;white-space:nowrap}.eras button:before{content:'';position:absolute;top:-9px;left:0;width:5px;height:5px;background:#172928;border:1px solid #7c8769;transform:rotate(45deg)}.eras button.active{color:#dfc38a}.eras button.active:before{background:var(--gold);box-shadow:0 0 7px #c8a25e66}.eras small{display:block;font-size:9px;margin-top:6px;color:#7d9388}.eras button.active small{color:#b3b8a3}.node{cursor:pointer;outline:none}.node-card{fill:#192b28;stroke-width:1;transition:fill .15s}.node:hover .node-card,.node:focus .node-card{fill:#2c4033;stroke-width:1.8}.node-label{fill:#e0e4d5;font:500 13px var(--sans);pointer-events:none}.node-year{font:10px var(--sans);fill:#9cafa0;pointer-events:none}.node-family{font:9px var(--sans);fill:#b4bc9d;pointer-events:none}.edge{fill:none;stroke-width:1.3;opacity:.48;transition:opacity .2s}.edge.faded{opacity:.07}.edge.highlight{opacity:.96;stroke-width:2.4}.node.faded{opacity:.2}.node.selected .node-card{stroke:#f0d49b;stroke-width:2;fill:#334132}.era-label{font:12px var(--serif);fill:#b6aa87;letter-spacing:.1em}.era-sub{font:8px var(--sans);fill:#768e80;letter-spacing:.1em}.lane-label{font:italic 17px var(--serif);opacity:.68}.era-line{stroke:#85986c;stroke-width:.7;stroke-dasharray:2 8;opacity:.2}.detail{width:360px;background:#ece9dc;color:#26332e;border-left:1px solid #bdaf8c;overflow-y:auto;z-index:30;scrollbar-width:thin;position:relative;flex-shrink:0;box-shadow:-12px 0 32px #0002}.detail[hidden]{display:none}.detail-head{padding:27px 26px 23px;background:linear-gradient(135deg,#e9e5d5,#f5f0e1);border-bottom:1px solid #d0c7ae;position:relative}.detail .eyebrow{color:#857044;font-size:9px;display:block;padding-right:25px}.close-detail{position:absolute;right:15px;top:17px;font-size:27px;color:#6e7769;padding:0 7px}.detail h2{font:500 36px/.98 var(--serif);margin:16px 0;color:#203b30}.detail-date{font-size:12px;color:#697567;line-height:1.6;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.detail-date span+span:before{content:'·';margin-right:8px}.detail-body{padding:24px 26px 35px}.detail h3{font:600 21px var(--serif);margin:27px 0 12px;color:#254336}.detail h3:first-child{margin-top:0}.detail p{font-size:13px;line-height:1.8;margin:0;color:#536052}.beliefs{padding-left:18px;margin:0}.beliefs li{font-size:12px;line-height:1.75;margin:7px 0;padding-left:4px;color:#536052}.beliefs li::marker{color:#9e8959;font-size:9px}.relation-card{border:1px solid #c7c5b3;padding:13px 14px;border-radius:3px;margin:9px 0;background:#f2efdf80}.relation-card button{font:600 18px var(--serif);text-align:left;display:block;color:#2c5744}.relation-card .relation-type{font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:#857044;display:block;margin-bottom:6px}.relation-card p{font-size:11px;line-height:1.7;margin-top:5px}.trace-button{width:100%;background:#234333;color:#eee4c7;padding:13px;border:1px solid #234333;font-size:11px;letter-spacing:.04em;margin-top:20px;border-radius:3px}.trace-button:hover{background:#36573f;color:white}.sources{padding-left:17px;margin:0}.sources li{padding:0 0 9px;font-size:11px;line-height:1.6}.sources a{color:#506953;text-decoration-color:#a8ad91;text-underline-offset:3px}.detail-note{font-size:10px!important;color:#8c8c72!important;border-top:1px solid #c8c5af;margin-top:22px!important;padding-top:15px}.search-results{position:relative;background:#20352d;border:1px solid #455448;border-top:0;border-radius:0 0 4px 4px;flex-shrink:0;max-height:290px;overflow:auto}.search-results button{display:block;width:100%;text-align:left;padding:10px 12px;border-bottom:1px solid #3a4c3e;font-size:12px;line-height:1.5}.search-results button small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.search-results p{font-size:12px;padding:10px;line-height:1.6}.search-results[hidden]{display:none}dialog{width:min(640px,calc(100% - 30px));max-height:85dvh;background:#e9e6d8;color:#3f4b40;border:1px solid #b39c66;border-radius:3px;padding:43px 48px;box-shadow:0 30px 120px #0007}dialog::backdrop{background:#051413c9;backdrop-filter:blur(6px)}dialog .eyebrow{color:#827147}dialog h2{font:500 45px/.98 var(--serif);color:#254335;margin:20px 0 25px}dialog h2 em{font-weight:400}dialog h3{font:600 23px var(--serif);margin-top:27px;margin-bottom:8px}dialog p{font-size:14px;line-height:1.8}dialog .dialog-note{font-size:12px;border-top:1px solid #c4bea6;padding-top:17px;color:#7a806b}.dialog-close{position:absolute;right:17px;top:10px;font-size:30px;color:#64705d}#index-view{overflow:auto;padding:25px 30px;flex:1;scrollbar-width:thin}.index-intro{display:flex;gap:10px;justify-content:space-between;align-items:center;margin-bottom:25px;color:var(--muted);font-size:12px}.index-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.index-card{display:block;text-align:left;border:1px solid #34483c;padding:17px;border-radius:3px;background:#182b27;position:relative;min-height:124px}.index-card:before{content:'';position:absolute;top:0;left:0;width:100%;height:2px;background:var(--family-color);opacity:.6}.index-card:hover{background:#253c30}.index-card .index-year{display:block;font-size:10px;color:var(--gold);margin-bottom:10px}.index-card h3{font:500 22px/1.1 var(--serif);margin:0 0 12px}.index-card p{font-size:10px;color:#9bad9c;line-height:1.5;margin:0}.empty-state{padding:30px;color:var(--muted);font-size:14px;line-height:1.8}::selection{background:#bfa874;color:#101e20}@media(min-width:1700px){.sidebar{width:335px;padding:32px}.side-heading h1{font-size:53px}.family{font-size:14px;padding:10px}.side-heading p{font-size:14px}.searchbox input{font-size:13px}.detail{width:400px}.detail p{font-size:14px}.beliefs li{font-size:14px}.atlas-toolbar{padding:28px 36px}.atlas-toolbar h2{font-size:32px}}@media(max-width:1150px){.masthead{padding:0 22px;gap:15px}.brand{min-width:255px}.masthead nav{gap:20px}.edition{display:none}.sidebar{width:270px;padding:24px 18px}.detail{position:absolute;right:0;top:0;bottom:0;width:340px}.atlas-toolbar{padding:21px 22px}.atlas-toolbar h2{font-size:24px}.segment button{padding:6px 8px}.map-caption{bottom:63px;left:15px}.eras{gap:9px}.eras button{font-size:10px}.eras small{font-size:8px}.timeline-footer{padding:19px}.brand small{font-size:8px}}@media(max-height:850px) and (min-width:760px){.sidebar{padding-top:21px}.side-heading h1{font-size:39px;margin:15px 0 12px}.side-heading p{margin-bottom:17px}.family{padding:6px 9px}.filter-head{margin-top:20px}.discovery{padding-top:17px}.sidebar-foot{margin-top:13px}.timeline-footer{padding-top:15px;padding-bottom:17px}.side-heading .eyebrow{font-size:9px}}@media(max-width:760px){.masthead{height:74px;padding:0 19px;gap:10px;justify-content:space-between}.brand{font-size:28px;min-width:0;gap:11px}.brandmark{width:35px;height:35px;font-size:29px}.brand small{font-size:7px;letter-spacing:.16em}.masthead nav{gap:14px}.nav-btn{font-size:11px}.nav-btn:first-child{display:none}.edition{display:none}main{height:calc(100dvh - 74px);flex-direction:column}.sidebar{width:100%;height:auto;max-height:155px;overflow:visible;flex-shrink:0;padding:14px 16px 0;display:block;border-right:0;border-bottom:1px solid var(--border)}.side-heading,.filter-head,.discovery,.sidebar-foot{display:none}.searchbox{padding:8px 10px}.searchbox input{font-size:13px}.families{flex-direction:row;overflow-x:auto;gap:7px;margin:10px -16px 0;padding:0 16px 11px;scrollbar-width:none}.family{width:auto;white-space:nowrap;font-size:11px;padding:7px 8px;border:1px solid #33483c}.family.active{box-shadow:none;border-color:var(--family-color)}.family-count{font-size:9px;margin-left:2px}.family-dot{width:4px;height:4px}.search-results{position:absolute;top:53px;left:16px;right:16px;z-index:40;max-height:340px}.atlas{min-height:0}.atlas-toolbar{padding:17px 16px;gap:8px}.atlas-toolbar .eyebrow{font-size:8px}.atlas-toolbar h2{font-size:22px;margin-top:5px;max-width:190px;line-height:1}.view-controls{gap:5px}.segment button{font-size:9px;padding:6px}.icon-button{font-size:20px}.map-wrap{min-height:160px}.map-caption{font-size:8px;left:10px;bottom:12px;max-width:calc(100% - 130px);flex-wrap:wrap;gap:5px;line-height:1.4}.map-caption button{font-size:8px;margin:0}.legend-line{width:13px}.map-caption .dashed{margin-left:4px}.zoom-controls{right:12px;bottom:15px}.zoom-controls button{width:29px;height:30px}.zoom-controls span{min-width:33px}.map-watermark{bottom:73px;right:15px}.map-watermark em{font-size:28px}.map-watermark>span{font-size:35px}.map-status{top:10px;left:16px;font-size:8px}.timeline-footer{padding:13px 16px 17px}.eras{overflow-x:auto;gap:22px;justify-content:flex-start;padding-top:9px;margin-top:5px;padding-bottom:4px;scrollbar-width:none}.eras:before{top:8px;width:600px}.eras button{padding-top:13px;flex-shrink:0;font-size:10px}.eras button:before{top:-3px}.eras small{font-size:8px}.timeline-footer>.eyebrow{font-size:8px}.detail{position:fixed;top:auto;bottom:0;width:100%;max-height:80dvh;border-radius:12px 12px 0 0;border-top:1px solid #b7a77c;border-left:0;box-shadow:0 -20px 70px #0008}.detail-head{padding:23px 24px 18px}.detail h2{font-size:33px;margin:15px 0 10px}.detail-body{padding:22px 24px 32px}.detail p{font-size:14px}.beliefs li{font-size:13px}#index-view{padding:20px 16px}.index-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}.index-card{padding:13px}.index-card h3{font-size:20px}dialog{padding:32px 26px}dialog h2{font-size:40px}dialog p{font-size:13px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
/* Legible reference text; small metadata stays secondary. */
.brand small{font-size:10px;letter-spacing:.15em}.eyebrow{font-size:12px}.side-heading p{font-size:14px}.searchbox input{font-size:14px}.family{font-size:14px;padding:8px 9px}.family-count{font-size:12px}.filter-head .eyebrow{font-size:11px}.text-button{font-size:12px}.segment button{font-size:13px}.discovery .eyebrow{font-size:10px}.sidebar-foot p{font-size:12px}.map-status{font-size:12px}.map-caption{font-size:12px}.map-caption button{font-size:12px}.zoom-controls span{font-size:12px}.eras button{font-size:13px}.eras small{font-size:11px}.timeline-footer>.eyebrow{font-size:11px}.node-label{font-size:16px;font-family:var(--serif);font-weight:600}.node-year{font-size:12px}.era-label{font-size:16px}.era-sub{font-size:11px}.detail .eyebrow{font-size:11px}.detail-date{font-size:13px}.detail p{font-size:16px;line-height:1.75}.beliefs li{font-size:15px}.relation-card p{font-size:14px}.relation-card .relation-type{font-size:11px}.trace-button{font-size:14px}.sources li{font-size:14px}.detail-note{font-size:12px!important}.search-results button{font-size:14px}.search-results button small{font-size:12px}.search-results p{font-size:14px}.index-intro{font-size:14px}.index-card .index-year{font-size:12px}.index-card p{font-size:12px}dialog p{font-size:16px}.minimap{position:absolute;right:24px;top:18px;width:160px;height:94px;border:1px solid #53604980;border-radius:3px;background:#132522e8;cursor:crosshair;box-shadow:0 5px 20px #0002;overflow:hidden}.minimap svg{display:block}.minimap span{position:absolute;bottom:4px;left:7px;font-size:7px;letter-spacing:.16em;color:#9dab89;pointer-events:none}.map-watermark{opacity:.11}.map-wrap:after{content:'';position:absolute;pointer-events:none;top:10px;left:10px;width:19px;height:19px;border-top:1px solid #ac93594a;border-left:1px solid #ac93594a}.map-wrap:before{content:'';position:absolute;pointer-events:none;right:10px;bottom:10px;width:19px;height:19px;border-bottom:1px solid #ac93594a;border-right:1px solid #ac93594a}.sidebar{scrollbar-width:thin}.families{flex-shrink:0}.discovery{margin-top:20px}.map-wrap[hidden],#index-view[hidden]{display:none!important}@media(max-width:760px){.brand small{font-size:7px}.family{font-size:12px;padding:7px 8px}.family-count{font-size:10px}.atlas-toolbar .eyebrow{font-size:9px}.segment button{font-size:10px}.minimap{width:110px;height:64px;transform-origin:top right;transform:scale(.85);right:12px;top:12px}.minimap svg{width:110px;height:52px}.minimap span{font-size:6px}.map-status{font-size:9px;max-width:calc(100% - 125px);line-height:1.6}.map-caption,.map-caption button{font-size:9px}.map-caption{max-width:calc(100% - 140px)}.eras button{font-size:12px}.eras small{font-size:10px}.timeline-footer>.eyebrow{font-size:10px}.side-heading p{font-size:14px}.searchbox input{font-size:14px}.detail .eyebrow{font-size:11px}.detail p{font-size:16px}.beliefs li{font-size:15px}.relation-card p{font-size:14px}dialog p{font-size:16px}}
@media(max-width:760px){.nav-btn:first-child{display:block}.masthead .nav-btn{font-size:0}.masthead .nav-btn:before{font-size:12px}.masthead #atlas-tab:before{content:'Atlas'}.masthead #index-tab:before{content:'Index'}.masthead #about-btn:before{content:'About'}.detail{max-height:78dvh}}
@media(max-width:760px) and (max-height:650px){.masthead{height:58px}main{height:calc(100dvh - 58px)}.brand{font-size:25px}.brandmark{width:30px;height:30px;font-size:24px}.sidebar{padding-top:9px}.families{margin-top:7px;padding-bottom:8px}.atlas-toolbar{padding:11px 16px}.atlas-toolbar h2{font-size:19px;max-width:180px}.atlas-toolbar .eyebrow{font-size:8px}.timeline-footer{padding:10px 16px}.timeline-footer>.eyebrow{display:none}.eras{margin-top:0}.map-wrap{min-height:175px}.minimap{top:10px}}
[hidden]{display:none!important}

/* Keep exploration context and return paths within reach. */
.exploration-nav{display:flex;align-items:center;gap:8px;min-height:52px;padding:8px 24px;border-bottom:1px solid var(--border);background:#142426;flex-shrink:0}.exploration-nav button{font-size:14px;border:1px solid #46574c;border-radius:4px;padding:8px 12px;min-height:36px;white-space:nowrap}.exploration-nav button:hover{background:#2a3c32}.exploration-nav #nav-context{font-size:14px;color:#aebcaf;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.exploration-nav #clear-context{margin-left:auto;color:var(--gold)}
#scene.moving{transition:transform 220ms ease-out}.search-active{background:#3b5140;color:#f6deb1}.detail{position:absolute;right:0;top:0;bottom:0;width:min(390px,100%);overscroll-behavior:contain}.detail-head{position:sticky;top:0;z-index:2;padding-top:14px}.detail-navigation{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.detail-navigation button{position:static;font:14px var(--sans);min-height:38px;padding:8px 12px;border:1px solid #aaa58e;border-radius:4px;color:#2b4938}.detail-navigation button:hover{background:#dedac7;color:#1d3f2d}.detail .trace-button{margin:0 0 24px;font-size:14px}.descendants{margin:24px 0}.descendants summary{cursor:pointer;font:600 21px var(--serif);color:#254336;padding:12px 0;border-top:1px solid #c7c5b3;border-bottom:1px solid #c7c5b3}.zoom-controls button{width:42px;height:42px}.map-status{max-width:calc(100% - 215px)}.minimap span{font-size:10px;letter-spacing:.08em}.sidebar .searchbox{position:sticky;top:0;z-index:2}.sidebar .search-results{z-index:3}
@media(max-width:760px){.masthead{height:64px;padding:0 14px}.brand{font-size:26px;gap:9px}.brandmark{width:30px;height:30px;font-size:24px}.brand small{font-size:8px;letter-spacing:.08em}.masthead nav{gap:12px}.masthead .nav-btn:before{font-size:14px}main{height:calc(100dvh - 64px)}.sidebar{padding:10px 12px 0}.searchbox{min-height:42px}.searchbox input{font-size:16px}.families{margin:8px -12px 0;padding:0 12px 10px;scrollbar-width:thin}.family{min-height:40px;font-size:14px}.family-count{font-size:12px}.atlas-toolbar{padding:12px}.atlas-toolbar h2{font-size:23px;max-width:none}.atlas-toolbar .eyebrow{display:none}.segment button{font-size:12px;min-height:34px}.exploration-nav{padding:7px 12px;min-height:48px;gap:6px}.exploration-nav button{padding:7px 9px;font-size:14px}.exploration-nav #nav-context{font-size:12px}.exploration-nav #clear-context{font-size:12px}.detail{position:fixed;top:64px;bottom:0;width:100%;max-height:none;border-radius:0;border-top:0}.detail-head{padding:12px 20px 16px}.detail h2{font-size:34px;margin:12px 0}.detail-body{padding:20px}.map-status{font-size:12px;max-width:calc(100% - 125px)}.minimap{transform:none;width:102px;height:63px;right:10px;top:10px}.minimap span{font-size:9px;letter-spacing:0}.map-caption{font-size:12px;bottom:12px;max-width:calc(100% - 150px);padding:6px;gap:4px}.map-caption button{font-size:12px}.zoom-controls{right:10px;bottom:12px}.zoom-controls button{width:40px;height:40px}.timeline-footer{padding:10px 12px}.timeline-footer>.eyebrow{display:none}.eras button{font-size:14px;min-height:44px}.eras small{font-size:12px}.search-results{left:12px;right:12px;top:52px;max-height:55dvh}.search-results button{min-height:48px}.index-card p{font-size:14px}}
@media(max-width:400px){.brand small{display:none}.atlas-toolbar h2{font-size:20px}.exploration-nav #nav-context{max-width:110px}.map-caption .legend-line,.map-caption .legend-line+span{display:none}}

/* A scrollable canvas, generous type and compact mobile filters. */
.map-stage{position:absolute;inset:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:auto;scrollbar-color:#91a58b #142426;touch-action:pan-x pan-y}
#map{width:auto;height:auto;touch-action:pan-x pan-y}#scene.moving{transition:none}
.node-label{font:500 18px var(--sans);fill:#f2f1e6}.node-year{font:13px var(--sans);fill:#bacbbd}.node-card{fill:#1b302c;stroke-opacity:.8}.edge{stroke-width:1.8;opacity:.62}.node.faded{opacity:.38}.edge.faded{opacity:.14}.lane-label{font-size:20px;opacity:.9}.era-label{fill:#d9c798;font:600 17px var(--sans)}.era-sub{fill:#a7baad;font-size:12px}.node:focus-visible .node-card{stroke:#f4d398;stroke-width:3}
.readable-button,.chart-options button{border:1px solid #52654f;border-radius:4px;padding:8px 11px;font-size:13px;white-space:nowrap;min-height:38px}.readable-button:hover,.chart-options button:hover{background:#2c4236}.chart-options{padding:8px 24px;display:flex;gap:12px;align-items:center;min-height:36px;background:#132224;border-bottom:1px solid var(--border)}.chart-options span{font-size:12px;color:#b3c2b7}.map-status{background:#101e20ee;padding:8px 10px;border-radius:4px;top:8px;left:16px;color:#c1d0c0}.map-caption{bottom:24px;left:16px;color:#c0cabb;border:1px solid #354a3d}.zoom-controls{bottom:24px;right:24px}.zoom-controls span{color:#e0e7d7;min-width:48px}.map-watermark{display:none}.map-wrap:before,.map-wrap:after{display:none}.mobile-filter{display:none}.index-intro{position:sticky;top:-25px;padding:14px 0;background:var(--bg);z-index:2}.index-card h3{font-size:26px}.index-card{min-height:150px}.index-card p{font-size:14px;line-height:1.65}.sidebar,.detail,#index-view{overscroll-behavior:contain;scrollbar-color:#70826b transparent}.detail h3{font-size:25px}.sources a:hover{text-decoration-thickness:2px}.sidebar .side-heading h1{font-size:40px;margin:15px 0 10px}.sidebar .side-heading p{font-size:13px}.atlas-toolbar{padding:18px 24px}.atlas-toolbar h2{line-height:1.15}.minimap{top:52px}
@media(max-width:1100px){.atlas-toolbar{align-items:flex-start;flex-wrap:wrap}.view-controls{gap:8px}.map-caption{bottom:76px}.chart-options{padding:8px 16px}}
@media(max-width:760px){.sidebar{max-height:none;padding:10px 12px;}.sidebar .families{display:none}.mobile-filter{display:flex;align-items:center;gap:10px;font-size:13px;color:#c2cfbf;margin-top:8px}.mobile-filter select{font:14px var(--sans);background:#1b302b;color:#eeeade;border:1px solid #536450;border-radius:4px;min-width:0;flex:1;min-height:40px;padding:8px}.mobile-filter select:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.atlas-toolbar{padding:10px 12px;gap:8px}.atlas-toolbar h2{font-size:22px}.view-controls{width:100%;justify-content:space-between}.segment button{font-size:13px;min-height:38px;padding:7px 12px}.readable-button{font-size:13px}.chart-options{padding:5px 12px;min-height:29px}.chart-options span{font-size:11px}.chart-options button{font-size:12px}.chart-options:has(button:not([hidden])) span{display:none}.map-wrap{min-height:0}.minimap{display:none}.map-status{font-size:11px;max-width:calc(100% - 28px);left:8px;top:6px;padding:6px 8px}.map-caption{bottom:20px;left:8px;max-width:calc(100% - 150px);font-size:10px}.map-caption button{font-size:11px}.zoom-controls{bottom:20px;right:18px}.timeline-footer{padding:6px 12px 10px}.timeline-footer .eras{display:none}.era-filter{margin:0}.index-intro{top:-20px;font-size:13px}.index-grid{grid-template-columns:1fr}.index-card h3{font-size:27px}.index-card{min-height:130px}.detail-navigation{margin-bottom:10px}}

.mobile-map-hint{display:none}.chart-options #navigator-toggle{margin-left:auto;min-height:28px;font-size:12px;padding:4px 9px}.chart-options #lineage-scope{min-height:30px;padding:5px 9px}.map-stage:focus-visible{outline-offset:-3px}
@media(max-width:760px){.chart-options .desktop-map-hint,.chart-options #navigator-toggle{display:none}.chart-options .mobile-map-hint{display:inline}.chart-options:has(button#lineage-scope:not([hidden])) .mobile-map-hint{display:none}}

#index-top{border:1px solid #52654f;border-radius:4px;padding:8px 10px;white-space:nowrap;font-size:12px;min-height:36px}#index-top:hover{background:#2c4236}.index-intro>span{min-width:0}

/* Give the atlas the full viewport while keeping exploration tools and profiles available. */
main.map-expanded,main:fullscreen{position:fixed;inset:0;width:100%;height:100dvh;z-index:100;background:var(--bg);flex-direction:row}
main.map-expanded>.sidebar,main:fullscreen>.sidebar{display:none}
main.map-expanded>.atlas,main:fullscreen>.atlas{width:100%;height:100%;min-height:0}
main.map-expanded .map-wrap,main:fullscreen .map-wrap{min-height:0}
main.map-expanded .detail,main:fullscreen .detail{position:absolute;top:0;bottom:0;right:0;max-height:100%;z-index:110}
#map-fullscreen{color:var(--gold)}
@media(max-width:760px){
 main.map-expanded .atlas-toolbar,main:fullscreen .atlas-toolbar{padding:8px 12px}
 main.map-expanded .atlas-toolbar>div:first-child,main:fullscreen .atlas-toolbar>div:first-child{display:none}
 .view-controls{flex-wrap:wrap}
 #map-fullscreen{font-size:13px;min-height:38px}
}
