/* Layout revision: one branch selector, then an observation overview above full-width loci. */
.clade-search-panel[hidden]{display:none}
.clade-search-panel{margin:0 0 22px;padding:14px 18px;border:1px solid var(--line);background:var(--panel-2);scroll-margin-top:105px}
.clade-search-panel .section-head{display:flex;flex-direction:row;align-items:end;gap:14px;margin:0}
.clade-search-panel .clade-search-label{flex:1;max-width:620px}
.clade-search-panel #clade-match-count{margin-left:auto;font-size:11px}
.clade-search-panel .clade-gallery:empty{display:none}
.clade-search-panel .clade-gallery{grid-template-columns:repeat(3,minmax(0,1fr));max-height:320px;overflow:auto;gap:0 16px}
.clade-search-panel .clade-card{grid-template-columns:44px minmax(0,1fr);grid-template-rows:auto auto;column-gap:11px;align-items:center;padding:10px 6px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent}
.clade-search-panel .clade-card:hover,.clade-search-panel .clade-card.selected{background:var(--hover)}
.clade-search-panel .clade-card-image{grid-column:1;grid-row:1/3;background:none}
.clade-search-panel .clade-card-silhouette{width:40px;height:30px}
.clade-search-panel .clade-card-name{margin:0;font-size:12px}
.clade-search-panel .clade-card-representative{margin:3px 0 0;font-size:10px}
#clade-search-toggle{white-space:nowrap;align-self:end}

.le-workbench{display:flex;flex-direction:column;align-items:stretch;gap:28px}
.le-workbench>.le-distribution{display:block;width:100%;border:0;padding:0}
.le-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.75fr);column-gap:32px;align-items:center}
.le-heading>.eyebrow,.le-heading>h3,.le-heading>.meta{grid-column:1;margin-top:0}
.le-heading>.le-core-picker{grid-column:2;grid-row:1/4;display:flex;flex-direction:column;align-items:stretch;gap:7px;margin:0}
.le-heading .le-core-select{width:100%;font-size:13px}
.le-overview-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(340px,.8fr);gap:32px 52px;align-items:center;max-width:1560px;margin:12px auto 0}
.le-tree-stage{min-width:0}
.le-tree-stage .le-tree-wrap{width:100%;max-width:760px;margin:0 auto}
.le-tree-stage .le-legend{justify-content:center;font-size:12px;margin:0 0 12px}
.le-tree-stage .le-inference{text-align:center;font-size:12px}
.le-distribution-context{min-width:0;border-left:1px solid var(--line);padding-left:34px}
.le-distribution-context h4{font:500 25px var(--sans);margin:0 0 10px;color:var(--ink)}
.le-distribution-context>.meta{font-size:12px;line-height:1.6;margin:0 0 16px}
.le-distribution-context .le-summary-label{font-size:11px;margin:10px 0}
.le-distribution-context .le-clade-summary{grid-template-columns:34px minmax(135px,1fr) minmax(50px,.7fr) 80px 10px;gap:10px;padding:11px 0;font-size:13px}
.le-distribution-context .le-clade-summary img{width:32px;height:24px}
.le-distribution-context .le-clade-summary i,.le-distribution-context .le-clade-summary b{height:7px}
.le-distribution-context .le-all{font-size:13px;padding:15px 0}
.le-distribution-context .le-coverage{font-size:11px!important;line-height:1.6}
.le-workbench>.le-tracks{width:100%;border-top:1px solid var(--line);padding-top:16px;scroll-margin-top:105px}
.le-tracks .le-track-heading h3{margin:0 0 18px}
.le-tracks .rs-controls{gap:9px 12px}
.le-tracks .rs-controls select{max-width:260px;font-size:12px}
.le-tracks .rs-controls button{font-size:12px;padding:8px 12px}
.le-tracks .rs-scroll{max-height:none}
.le-tracks .rs-plot{min-width:1000px}
.le-tracks .rs-legend{font-size:12px;gap:10px 22px}

.branch-answer{margin-top:14px;font-size:12px;line-height:1.7;color:var(--muted)}
.branch-answer .ba-strong{font:500 22px var(--sans);color:var(--ink);margin-right:8px}
.branch-answer-pending{color:var(--orange);font-weight:600}
.branch-answer.is-fresh .ba-strong{animation:lp-refresh .4s ease-out both}

/* Block section: one header band, no repeat of the page eyebrow. */
#evolution-block-view>.section-head{align-items:end;margin-bottom:14px}
.bw-head-text{min-width:0}
.bw-head-text .eyebrow{display:block;margin:0 0 4px}
.bw-head-text h2{margin:0}
.bw-head-text .meta{display:block;margin-top:6px}

.lineage-profile{margin-top:22px;scroll-margin-top:105px}
.lineage-profile h2{margin-bottom:10px}
.lp-live{display:flex;flex-wrap:wrap;align-items:baseline;gap:3px 10px;margin:0 0 6px}
.lp-live .eyebrow{margin:0}
.lp-live-dot{width:7px;height:7px;border-radius:50%;background:var(--orange);flex:none}
.lp-live-branch{font:500 19px var(--sans);color:var(--ink)}
.lp-live-meta{font-size:11px;color:var(--muted)}
.lineage-profile.lp-updating .lp-blocks,.lineage-profile.lp-updating #lp-breadth{opacity:.35}
.lp-blocks,#lp-breadth{transition:opacity .2s ease}
@keyframes lp-refresh{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}
.lineage-profile.lp-refresh .lp-block{animation:lp-refresh .38s ease-out both}
@media(prefers-reduced-motion:reduce){
 .lineage-profile.lp-refresh .lp-block,.branch-answer.is-fresh .ba-strong{animation:none}
}
.lp-blocks{display:grid;gap:4px;min-width:0}
.lp-block{min-width:0}
.lp-block+.lp-block{margin-top:24px}
.lp-block-head{margin-bottom:12px}
.lp-block-head h3{margin:0 0 5px}
.lp-block-head .meta{margin:0;max-width:820px}
.lp-headline{font-size:16px;line-height:1.65;max-width:980px;color:var(--ink);margin:0 0 18px}
.lp-headline a{color:var(--teal);font-weight:600}
.lp-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:0}
.lp-kpi{border:0;border-radius:0;background:transparent;padding:13px 16px;text-align:left}
.lp-kpi+.lp-kpi{border-left:1px solid var(--line)}
.lp-kpi strong{display:block;font:500 30px var(--sans);color:var(--ink);line-height:1.1}
.lp-kpi span{display:block;font-size:12px;color:var(--muted);margin-top:6px}
.lp-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px}
.lp-col{min-width:0}
.lp-col+.lp-col{border-left:1px solid var(--line);padding-left:32px}
.lp-grid-single{grid-template-columns:minmax(0,1fr)}
#lp-genes-col{max-width:820px}
#lp-blocks-col .section-head{margin-bottom:12px}
#lp-blocks-col .section-head .meta{max-width:560px;text-align:right}
#lp-blocks-col .block-filter-tools{margin:2px 0 12px}
#lp-blocks-col>.evidence-notes{margin-bottom:0}
#lp-genes{display:grid;gap:2px}
#lp-genes>.meta{margin-top:10px;line-height:1.6}
.lp-gene{display:grid;grid-template-columns:minmax(70px,.55fr) minmax(40px,1fr);grid-template-rows:auto auto;gap:2px 12px;align-items:center;padding:8px 4px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;text-align:left;font-size:13px}
.lp-gene:hover{background:var(--hover)}
.lp-gene-name{font-weight:600;color:var(--teal);overflow-wrap:anywhere}
.lp-gene-bar{height:8px;background:var(--track);border-radius:1px;overflow:hidden}
.lp-gene-bar i{display:block;height:100%;background:var(--teal)}
.lp-gene-count{grid-column:1/3;font-size:11px;color:var(--muted)}
.lp-gene-block{grid-column:1/3;font-size:11px;color:var(--muted)}
#lp-genes-export{margin-top:12px;font-size:12px;padding:7px 12px}
.lp-block .branch-mini-go{margin:0;padding:0;border:0}
.branch-mini-go h4{margin:0 0 10px}
.branch-mini-go .go-jump,.go-jump{display:flex;justify-content:space-between;align-items:baseline;gap:14px;width:100%;padding:8px 4px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;text-align:left;font-size:13px}
.go-jump:hover{background:var(--hover)}
.go-jump>span:first-child{color:var(--teal);font-weight:600}
.branch-mini-go .go-jump-stat,.go-jump-stat{display:inline;margin-left:auto;padding-left:14px;color:var(--muted);font-size:11px;white-space:nowrap}
.lp-breadth{margin-top:26px;border-top:1px solid var(--line);padding-top:20px}
.lp-breadth:empty{display:none;margin:0;padding:0;border:0}
.lp-breadth summary{cursor:pointer;font-size:16px;font-weight:600;color:var(--ink);list-style:revert}
.lp-breadth[open] summary{margin-bottom:12px}
.lp-hist{display:flex;align-items:flex-end;gap:3px;height:90px;max-width:720px}
.lp-hist-bin{flex:1;background:var(--orange);min-height:2px;border-radius:1px 1px 0 0}
.lp-hist-labels{position:relative;max-width:720px;height:16px;font-size:11px;color:var(--muted);margin-top:4px}
.lp-hist-labels span{position:absolute;transform:translateX(-50%)}
.lp-hist-labels span:first-child{left:0;transform:none}
.lp-hist-labels span:last-child{left:auto;right:0;transform:none}
.lp-breadth-caption{font-size:13px;color:var(--ink);margin:8px 0 4px;max-width:720px}
.lp-breadth .meta{max-width:720px;line-height:1.6}
/* These two evidence tables are the densest on the page; keep them tighter than
   the site default so the branch inventory and GO table do not dominate the scroll. */
#evolution-results th,#evolution-results td,#evolution-go th,#evolution-go td{padding:9px 12px}
#inventory-definition,#direct-go-summary{margin:10px 0}

/* Direct GO: passing terms grouped into one box per GO slim term (PIR slim).
   Shared fold scale across boxes; bubble colour encodes within-branch q. */
#evolution-go{margin-top:6px}
.go-facet-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(255px,1fr));align-items:start;gap:12px;margin:4px 0 2px}
.go-facet{border:1px solid var(--line);border-radius:4px;background:var(--panel-2);padding:9px 10px 7px;min-width:0}
.go-facet-head{display:flex;align-items:baseline;gap:7px;flex-wrap:wrap;margin-bottom:4px}
.go-facet-ns{font-size:10px;font-weight:700;letter-spacing:.6px;color:var(--teal);background:var(--soft);border-radius:3px;padding:2px 5px}
.go-facet-name{font-size:13px;font-weight:600;color:var(--ink);overflow-wrap:anywhere}
.go-facet-meta{margin-left:auto;font-size:11px;color:var(--muted);white-space:nowrap}
.go-facet-svg{display:block;width:100%;height:auto;overflow:visible}
.go-facet-svg .go-axis-line{stroke:var(--line-2);stroke-width:1}
.go-facet-svg .go-gridline{stroke:var(--panel);stroke-width:1;stroke-dasharray:2 3}
.go-facet-svg .go-tick{font-size:8.5px;fill:var(--muted)}
.go-bubble{cursor:pointer;stroke:var(--panel);stroke-width:1}
.go-bubble:hover,.go-bubble:focus-visible{stroke:var(--orange);stroke-width:2;outline:none}
.go-legend{display:flex;align-items:center;gap:9px;flex-wrap:wrap;font-size:11px;color:var(--muted);margin:9px 0 0}
.go-legend-ramp{display:inline-block;width:88px;height:9px;border-radius:2px;border:1px solid var(--line)}
.go-legend-dot{display:inline-block;border-radius:50%;background:#5f9a93;vertical-align:middle;margin-right:-4px}
.go-legend-dot-sm{width:8px;height:8px}
.go-legend-dot-lg{width:18px;height:18px;margin-left:-3px}
.go-caption{margin:6px 0 10px;max-width:860px;line-height:1.6}
.go-full-list{margin-top:14px}
.go-full-list>summary{cursor:pointer;font-size:13px;color:var(--muted);padding:8px 0;border-top:1px solid var(--line)}
.go-full-list[open]>summary{margin-bottom:8px}
.go-chart[hidden]{display:none}

@media(max-width:1150px){
 .go-facet-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}
 .le-overview-grid{grid-template-columns:minmax(0,1.1fr) minmax(285px,.9fr);gap:25px}
 .le-distribution-context{padding-left:20px}
 .le-distribution-context .le-clade-summary{grid-template-columns:25px minmax(95px,1fr) minmax(25px,.5fr) 68px 8px;gap:6px;font-size:11px;padding:9px 0}
 .le-distribution-context .le-clade-summary img{width:24px;height:20px}
 .le-distribution-context h4{font-size:23px}
 .le-tree-stage .le-legend{font-size:11px;gap:8px}
 .clade-search-panel .clade-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:1000px){
 .lp-grid{grid-template-columns:minmax(0,1fr)}
 .lp-col+.lp-col{border-left:0;padding-left:0;border-top:1px solid var(--line);padding-top:20px;margin-top:20px}
 .lp-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
 .lp-kpi:nth-child(odd){border-left:0}
 .lp-kpi:nth-child(n+3){border-top:1px solid var(--line)}
}
@media(max-width:700px){
 .go-facet-grid{grid-template-columns:minmax(0,1fr);gap:10px}
 .go-caption,.go-legend{font-size:11px}
 .le-heading{display:block}
 .le-heading>.le-core-picker{margin:15px 0 4px}
 .le-overview-grid{grid-template-columns:minmax(0,1fr);gap:16px;margin-top:5px}
 .le-distribution-context{padding:0;border:0}
 .le-distribution-context .le-clade-summary{font-size:12px;grid-template-columns:26px minmax(110px,1fr) minmax(28px,.55fr) 70px 8px}
 .le-distribution-context h4{font-size:23px}
 .le-workbench{gap:20px}
 .clade-search-panel{padding:12px;margin-bottom:18px}
 .clade-search-panel .section-head{flex-wrap:wrap;gap:10px}
 .clade-search-panel .clade-search-label{flex:1 1 100%;max-width:none}
 .clade-search-panel #clade-match-count{margin:0 auto 0 0}
 .clade-search-panel .clade-gallery{grid-template-columns:minmax(0,1fr)}
}
