
.gah{position:relative;background:linear-gradient(180deg,#1a120c 0%,#241710 60%,#2c1d14 100%);color:#f4ead9;padding:48px 0 56px;overflow:hidden}
.gah__wrap{max-width:1180px;margin:0 auto;padding:0 24px}
.gah__eyebrow{font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:#d2814a;margin:0 0 12px}
.gah__title{font-family:Georgia,'Times New Roman',serif;font-weight:600;font-size:clamp(1.6rem,2.6vw,2.1rem);line-height:1.25;margin:0 0 14px;color:#f4ead9;max-width:46em}
.gah__lede{margin:0 0 22px;color:#d6c6ad;font-size:1rem;line-height:1.55;max-width:60em}
.gah__cite{font-size:.78rem;color:#bda378;font-style:italic;margin:0 0 28px}
.gah__cite::before{content:"— ";color:#8a6a44}
.gah__stats{display:flex;flex-wrap:wrap;gap:28px 36px;margin:0 0 28px;padding:14px 0;border-top:1px solid #3a261a;border-bottom:1px solid #3a261a}
.gah__stat{display:flex;flex-direction:column;gap:2px}
.gah__stat b{font-family:Georgia,serif;font-size:1.85rem;color:#f4ead9;line-height:1}
.gah__stat span{font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:#a78a64}
.gah__grid{display:grid;grid-template-columns:minmax(0,1.62fr) minmax(0,1fr);gap:28px;align-items:start}
@media (max-width:880px){.gah__grid{grid-template-columns:minmax(0,1fr)}}
.gah__map-frame{background:#120b07;border:1px solid #3a261a;border-radius:6px;padding:10px;position:relative}
.gah__map{display:block;width:100%;height:auto}
.gah__map .gah-land{fill:#3a2a1c;stroke:#5a4128;stroke-width:.4}
.gah__map .gah-belt{fill:#1f1409;opacity:.5}
.gah__map .gah-line{stroke:#5a4128;stroke-width:.4;stroke-dasharray:2 3;opacity:.55}
.gah__map .gah-label{fill:#7a5a38;font-size:9px;font-family:Georgia,serif}
.gah__dot{cursor:pointer;transition:opacity .25s ease,r .15s ease,stroke-width .15s ease}
.gah__dot circle{stroke:#0c0805;stroke-width:.6;transition:r .15s ease,stroke-width .15s ease}
.gah__dot:hover circle,.gah__dot:focus circle{stroke:#f4ead9;stroke-width:1.2}
.gah[data-active]:not([data-active=""]) .gah__dot:not(.is-active){opacity:.15}
.gah[data-active]:not([data-active=""]) .gah__dot.is-active circle{r:5}
.gah__legend{margin-top:18px}
.gah__legend-eyebrow{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:#a78a64;margin:0 0 10px}
.gah__chips{display:flex;flex-wrap:wrap;gap:8px}
.gah__chip{appearance:none;background:#231510;color:#f4ead9;border:1px solid #4a3320;border-radius:999px;padding:7px 13px 7px 9px;font:inherit;font-size:.82rem;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:background .15s,border-color .15s,transform .1s}
.gah__chip:hover{background:#2c1c14;border-color:#7a5a38}
.gah__chip:focus-visible{outline:2px solid #d2814a;outline-offset:2px}
.gah__chip[aria-pressed="true"]{background:#3a261a;border-color:#d2814a;transform:translateY(-1px)}
.gah__chip-swatch{width:11px;height:11px;border-radius:50%;flex-shrink:0;border:1px solid rgba(0,0,0,.4)}
.gah__chip-count{color:#a78a64;font-variant-numeric:tabular-nums}
.gah__chip[aria-pressed="true"] .gah__chip-count{color:#f4ead9}
.gah__chip--all{background:transparent;border-style:dashed}
.gah__diagram-frame{background:#120b07;border:1px solid #3a261a;border-radius:6px;padding:18px}
.gah__diagram-eyebrow{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:#a78a64;margin:0 0 10px}
.gah__diagram{display:block;width:100%;height:auto}
.gah__diagram .gah-edge{stroke:#5a4128;stroke-width:1;opacity:.45}
.gah__diagram .gah-bubble{cursor:pointer;transition:opacity .2s,transform .15s}
.gah__diagram .gah-bubble:hover,.gah__diagram .gah-bubble:focus{opacity:1}
.gah[data-active]:not([data-active=""]) .gah__diagram .gah-bubble:not(.is-active){opacity:.25}
.gah__diagram .gah-bubble-label{fill:#f4ead9;font-size:11px;font-family:Georgia,serif;text-anchor:middle;pointer-events:none}
.gah__diagram .gah-bubble-count{fill:#d6c6ad;font-size:9px;text-anchor:middle;pointer-events:none}
.gah__diagram .gah-group-label{fill:#a78a64;font-size:9px;letter-spacing:.12em;text-transform:uppercase;font-family:Georgia,serif}
.gah__diagram-caption{font-size:.78rem;color:#a78a64;line-height:1.5;margin:14px 0 0}
@media (prefers-reduced-motion:reduce){.gah__dot,.gah__chip,.gah__diagram .gah-bubble{transition:none}}



/* /genetics/tree/ — phylogenetic atlas */
.phylo-wrap { max-width: 1080px; margin: 0 auto; padding: 1rem; }
.phylo-controls { display: flex; gap: .5rem; flex-wrap: wrap; align-items: center;
  margin: 1rem 0; }
.phylo-controls button { font: inherit; padding: .45rem .9rem; border: 1px solid #b5896a;
  background: #fbf4ec; color: #4a2f1f; border-radius: 999px; cursor: pointer; }
.phylo-controls button[aria-pressed="true"] { background: #4a2f1f; color: #fbf4ec;
  border-color: #4a2f1f; }
.phylo-controls .phylo-legend { color: #6b4a36; font-size: .9rem; margin-left: auto; }
.phylo-figure { background: #fbf4ec; border: 1px solid #e3d3bf; border-radius: 8px;
  padding: 1rem; overflow: hidden; }
.phylo-figure svg { display: block; width: 100%; height: auto; max-width: 100%; }
.phylo-view { display: none; }
.phylo-view.is-active { display: block; }
.phylo-figure text { font-family: inherit; fill: #3a261a; }
.phylo-figure .phylo-root { font-style: italic; font-weight: 600; font-size: 14px; }
.phylo-figure .phylo-root .phylo-auth { font-style: normal; font-weight: 400; fill: #6b4a36; }
.phylo-figure .phylo-cluster-label { font-size: 13px; font-weight: 600; }
.phylo-figure .phylo-cluster-count { font-size: 11px; fill: #6b4a36; }
.phylo-figure .phylo-branch { stroke: #8a6a4f; stroke-width: 1.2; fill: none; }
.phylo-figure .phylo-branch--main { stroke: #4a2f1f; stroke-width: 1.6; }
.phylo-figure .phylo-cluster-node { fill: #c9925f; stroke: #4a2f1f; stroke-width: 1.2;
  cursor: pointer; }
.phylo-figure .phylo-cluster-node:hover, .phylo-figure .phylo-cluster-node:focus
  { fill: #a36a3a; outline: none; }
.phylo-figure .phylo-leaf { fill: #6b4a36; cursor: pointer; }
.phylo-figure .phylo-leaf:hover, .phylo-figure .phylo-leaf:focus
  { fill: #c9492a; outline: none; }
.phylo-figure .phylo-band { fill-opacity: .10; stroke: none; }
.phylo-figure .phylo-band--upper { fill: #6b8e4e; }
.phylo-figure .phylo-band--lower { fill: #c9925f; }
.phylo-figure .phylo-band--meso { fill: #a3563a; }
.phylo-figure.is-dimmed .phylo-leaf,
.phylo-figure.is-dimmed .phylo-cluster-node,
.phylo-figure.is-dimmed .phylo-cluster-label,
.phylo-figure.is-dimmed .phylo-cluster-count,
.phylo-figure.is-dimmed .phylo-branch { opacity: .25; transition: opacity .15s; }
.phylo-figure.is-dimmed [data-cluster].is-hot,
.phylo-figure.is-dimmed [data-cluster].is-hot * { opacity: 1; }
.phylo-groups { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: .75rem; margin: 1.25rem 0; }
.phylo-group { padding: .75rem .9rem; border-radius: 6px; border-left: 4px solid;
  background: #fbf4ec; }
.phylo-group--upper { border-left-color: #6b8e4e; }
.phylo-group--lower { border-left-color: #c9925f; }
.phylo-group--meso  { border-left-color: #a3563a; }
.phylo-group h3 { margin: 0 0 .25rem; font-size: .95rem; }
.phylo-group p { margin: 0; font-size: .9rem; color: #4a2f1f; }
.phylo-note { font-size: .9rem; color: #4a2f1f; margin: 1rem 0; }
@media (max-width: 640px) {
  .phylo-figure .phylo-cluster-label { font-size: 11px; }
  .phylo-figure .phylo-cluster-count { font-size: 9px; }
}
@media (prefers-reduced-motion: reduce) {
  .phylo-figure.is-dimmed * { transition: none; }
}



/* /trust/ — audit dashboard */
.trust-lede{max-width:64ch;color:var(--ink-2,#5b4a3d);font-size:1.05rem;line-height:1.55;margin:0 0 2rem 0}
.trust-lede a{color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.trust-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.25rem;margin:1.5rem 0 3rem 0}
.trust-panel{background:var(--card,#fbf7f1);border:1px solid var(--rule,#e7dccc);border-radius:6px;padding:1.25rem 1.25rem 1.1rem;display:flex;flex-direction:column;min-width:0}
.trust-panel h3{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;margin:0 0 .35rem 0;color:var(--ink-2,#5b4a3d);font-weight:600}
.trust-panel__lede{font-size:.92rem;color:var(--ink-2,#5b4a3d);line-height:1.5;margin:0 0 1rem 0}
.trust-panel__body{flex:1 1 auto}
.trust-panel__foot{margin-top:1rem;font-size:.82rem;color:var(--ink-3,#8a7763);border-top:1px dashed var(--rule,#e7dccc);padding-top:.7rem}
.trust-panel__empty{font-size:.92rem;color:var(--ink-3,#8a7763);line-height:1.55;font-style:italic}
.trust-mono{font-family:'JetBrains Mono','SF Mono',Menlo,Consolas,'Courier New',monospace;font-size:.82rem;font-variant-ligatures:none}
.trust-table{width:100%;border-collapse:collapse;font-size:.86rem}
.trust-table th,.trust-table td{text-align:left;padding:.35rem .5rem .35rem 0;border-bottom:1px solid var(--rule,#e7dccc);vertical-align:top}
.trust-table th{font-weight:600;color:var(--ink-2,#5b4a3d);font-size:.74rem;text-transform:uppercase;letter-spacing:.05em}
.trust-table tr:last-child td{border-bottom:0}
.trust-table td.trust-mono{word-break:break-all}
.trust-hash{cursor:help}
.trust-roothash{margin-top:.8rem;padding:.6rem .7rem;background:var(--bg-3,#f3ead9);border-radius:4px;font-size:.82rem;display:flex;flex-direction:column;gap:.3rem}
.trust-roothash__label{font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3,#8a7763)}
.trust-roothash__value{word-break:break-all}
.trust-canaries{display:flex;flex-direction:column;gap:.5rem}
.trust-canary{display:flex;align-items:center;gap:.55rem;font-size:.9rem;color:var(--ink-1,#3a2e23)}
.trust-canary__dot{width:.55rem;height:.55rem;border-radius:50%;flex:none;display:inline-block}
.trust-canary__dot--pass{background:#3a7d44}
.trust-canary__dot--fail{background:#9a3a2a}
.trust-canary__dot--unknown{background:#bda58a}
.trust-langs{display:grid;grid-template-columns:1fr auto;gap:.25rem .9rem;font-size:.88rem}
.trust-langs__code{font-family:'JetBrains Mono','SF Mono',Menlo,Consolas,'Courier New',monospace;font-size:.78rem;color:var(--ink-3,#8a7763);margin-right:.4rem}
.trust-langs__name{color:var(--ink-1,#3a2e23)}
.trust-langs__pct{text-align:right;color:var(--ink-2,#5b4a3d);font-variant-numeric:tabular-nums}
.trust-mirrors__count{margin:0 0 .35rem 0;font-size:.92rem;color:var(--ink-1,#3a2e23)}
.trust-mirrors__count strong{font-variant-numeric:tabular-nums;font-weight:600}
.trust-repro pre{background:var(--bg-3,#f3ead9);border-radius:4px;padding:.7rem .8rem;margin:.6rem 0 0 0;overflow-x:auto;font-family:'JetBrains Mono','SF Mono',Menlo,Consolas,'Courier New',monospace;font-size:.82rem;line-height:1.5;color:var(--ink-1,#3a2e23)}
.trust-repro__meta{display:grid;grid-template-columns:auto 1fr;gap:.3rem .8rem;font-size:.88rem;margin:.4rem 0 .2rem 0}
.trust-repro__meta dt{color:var(--ink-3,#8a7763);font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;padding-top:.05rem}
.trust-repro__meta dd{margin:0;color:var(--ink-1,#3a2e23);font-family:'JetBrains Mono','SF Mono',Menlo,Consolas,'Courier New',monospace;font-size:.86rem;word-break:break-all}
.trust-footer-note{margin:1.5rem 0 0 0;font-size:.85rem;color:var(--ink-3,#8a7763);font-style:italic;text-align:center}



/* /verify/ — in-browser integrity verifier */
.verify { max-width: 880px; margin: 0 auto; padding: 1rem; }
.verify .lede { color: #4a2f1f; font-size: 1.02rem; line-height: 1.55; max-width: 60em; }
.verify .verify-zero { background: #fbf4ec; border: 1px solid #e3d3bf; border-left: 3px solid #8a6a4f;
  border-radius: 4px; padding: .9rem 1.1rem; margin: 1.4rem 0 1.8rem; color: #4a2f1f;
  font-size: .94rem; line-height: 1.5; }
.verify h3 { font-family: Georgia, 'Times New Roman', serif; font-weight: 600;
  font-size: 1.15rem; color: #3a261a; margin: 2rem 0 .6rem; }
.verify .verify-card { background: #fbf4ec; border: 1px solid #e3d3bf; border-radius: 6px;
  padding: 1rem 1.1rem; margin: .8rem 0 1.4rem; }
.verify .verify-card p { margin: 0 0 .8rem; color: #4a2f1f; font-size: .95rem; line-height: 1.5; }
.verify button.verify-btn { font: inherit; padding: .55rem 1.1rem; border: 1px solid #4a2f1f;
  background: #4a2f1f; color: #fbf4ec; border-radius: 999px; cursor: pointer;
  font-size: .92rem; }
.verify button.verify-btn:hover { background: #6b4a36; border-color: #6b4a36; }
.verify button.verify-btn:focus-visible { outline: 2px solid #c9925f; outline-offset: 2px; }
.verify button.verify-btn[disabled] { opacity: .55; cursor: progress; }
.verify .verify-origin-form { display: flex; gap: .5rem; flex-wrap: wrap; align-items: center; }
.verify input.verify-input { font: inherit; padding: .5rem .8rem; border: 1px solid #b5896a;
  background: #fff; color: #3a261a; border-radius: 999px; font-size: .92rem; min-width: 16em; }
.verify input.verify-input:focus-visible { outline: 2px solid #c9925f; outline-offset: 2px; }
.verify .verify-result { margin-top: .9rem; font-size: .92rem; color: #4a2f1f; }
.verify .verify-result:empty { display: none; }
.verify .verify-row { display: flex; align-items: baseline; gap: .55rem; padding: .25rem 0;
  border-bottom: 1px dashed #e3d3bf; font-size: .9rem; }
.verify .verify-row:last-child { border-bottom: none; }
.verify .verify-row .verify-file { color: #4a2f1f; flex: 0 1 auto; }
.verify .verify-row .verify-state { margin-left: auto; display: inline-flex; align-items: center; gap: .35rem; }
.verify .verify-dot { display: inline-block; width: .55rem; height: .55rem; border-radius: 50%;
  background: #b5896a; vertical-align: middle; }
.verify .verify-pass .verify-dot { background: #4f7a3a; }
.verify .verify-fail .verify-dot { background: #b3492a; }
.verify .verify-pass { color: #335322; }
.verify .verify-fail { color: #7a2a14; font-weight: 600; }
.verify .verify-pending .verify-dot { background: #b5896a;
  animation: verify-pulse 1.2s ease-in-out infinite; }
@keyframes verify-pulse { 0%,100%{opacity:.35} 50%{opacity:1} }
.verify .verify-summary { margin-top: .7rem; font-weight: 600; color: #3a261a; font-size: .95rem; }
.verify .verify-hash { font-family: ui-monospace, 'SF Mono', Menlo, Consolas, monospace;
  font-size: .82rem; color: #6b4a36; background: #f4ead9; padding: .05rem .35rem;
  border-radius: 3px; cursor: pointer; word-break: break-all; }
.verify .verify-hash[data-expanded="true"] { background: #e8d9c0; color: #3a261a; }
.verify .verify-timing { color: #8a6a4f; font-size: .82rem; margin-left: .35rem; }
.verify pre.verify-cmd { background: #1a120c; color: #f4ead9; padding: .9rem 1.1rem;
  border-radius: 6px; font-family: ui-monospace, 'SF Mono', Menlo, Consolas, monospace;
  font-size: .85rem; line-height: 1.55; overflow-x: auto; margin: .6rem 0 1.4rem; }
.verify pre.verify-cmd .verify-comment { color: #a78a64; }
.verify .verify-pending-banner { background: #f4ead9; border: 1px dashed #b5896a;
  color: #6b4a36; padding: .8rem 1rem; border-radius: 4px; margin: .8rem 0 1.4rem;
  font-size: .92rem; }
.verify .verify-footer-note { color: #6b4a36; font-size: .9rem; margin-top: 2rem;
  padding-top: 1rem; border-top: 1px solid #e3d3bf; }
@media (max-width: 540px) {
  .verify input.verify-input { min-width: 0; flex: 1 1 12em; }
}



.trust-receipt{margin-top:2.4rem;padding-top:1.2rem;border-top:1px solid var(--line);font-size:.84rem;color:var(--fg-dim);}
.trust-receipt > summary{cursor:pointer;list-style:none;display:flex;flex-wrap:wrap;align-items:center;gap:.55rem;color:var(--fg-dim);font-size:.78rem;letter-spacing:.04em;}
.trust-receipt > summary::-webkit-details-marker{display:none;}
.trust-receipt > summary::marker{content:"";}
.trust-receipt > summary::after{content:"(" attr(data-show) ")";color:var(--fg-dim);opacity:.7;font-size:.74rem;margin-left:auto;}
.trust-receipt[open] > summary::after{content:"(" attr(data-hide) ")";}
.trust-receipt__sha-short,.trust-receipt code{font-family:var(--mono);font-size:.78rem;color:var(--fg-muted);}
.trust-receipt__dot{display:inline-block;width:.5rem;height:.5rem;border-radius:50%;background:var(--fg-dim);vertical-align:baseline;}
.trust-receipt__dot--draft{background:#8a6b3a;}
.trust-receipt__dot--reviewed{background:#7b9b6b;}
.trust-receipt__dot--verified{background:#d2814a;}
.trust-receipt dl{display:grid;grid-template-columns:max-content 1fr;gap:.4rem 1.1rem;margin:1rem 0 .4rem;}
.trust-receipt dt{color:var(--fg-dim);font-weight:500;font-size:.78rem;letter-spacing:.02em;}
.trust-receipt dd{margin:0;font-size:.84rem;color:var(--fg-muted);word-break:break-word;}
.trust-receipt dd code{display:inline;white-space:normal;word-break:break-all;}
.trust-receipt dd small{display:block;margin-top:.2rem;font-size:.7rem;color:var(--fg-dim);word-break:break-all;}
.trust-receipt a{color:var(--accent);text-decoration:none;border-bottom:1px dotted var(--line-2);}
.trust-receipt a:hover{border-bottom-style:solid;}
.trust-receipt__hint{color:var(--fg-dim);font-size:.74rem;margin-left:.3rem;}
.trust-receipt__verify{margin:.8rem 0 0;font-size:.82rem;}
@media (max-width:520px){.trust-receipt dl{grid-template-columns:1fr;gap:.15rem 0;}.trust-receipt dt{margin-top:.4rem;}}
