/* genome.css - the Olfactory Genome (/genome; L3, 2026-09-30). The fingerprints are inline SVG drawn in the column's ink: hairline
   spokes and dotted rings, the shape hatched in brass (A) or cream (B, dashed). Meaning never rests on colour alone: A and B differ
   by hatch direction and rule, and every number is in a table. No animation. Served as /sections/genome.css. */
.gn-cards{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--rp-space-scale-8);margin:var(--rp-space-scale-4) 0 var(--rp-space-scale-8)}
@media (min-width:900px){.gn-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
.gn-card{padding:var(--rp-space-scale-4) 0 0;border-top:1px solid var(--rp-brass-dim);min-width:0}
.gn-card-h{margin:0 0 var(--rp-space-scale-2);font-family:var(--rp-display);font-weight:500;font-size:var(--rp-type-scale-h3);line-height:1.2;color:var(--rp-text)}
.gn-fig{max-width:340px;margin:var(--rp-space-scale-2) auto;color:var(--rp-text)}
.gn-fig-cmp{max-width:380px}
.gn-wheel,.gn-strip,.gn-era{display:block;width:100%;height:auto;overflow:visible}
.gn-strip{max-width:340px}
.gn-ring{fill:none;stroke:var(--rp-hair);stroke-width:1;stroke-dasharray:1 3}
.gn-spoke{stroke:var(--rp-brass-dim);stroke-width:.75}
.gn-ax,.gn-scale{font:500 9px/1 var(--rp-mono);letter-spacing:.06em;text-transform:uppercase;fill:var(--rp-text-muted)}
.gn-scale{font-size:8px;fill:var(--rp-brass-dim)}
.gn-shape{stroke:var(--rp-brass);stroke-width:1.25;fill-opacity:1}
.gn-shape-b{stroke:var(--rp-text);stroke-dasharray:4 3}
.gn-hatch{stroke:var(--rp-brass);stroke-width:.9}
.gn-hatch-b{stroke:var(--rp-text);stroke-width:.7}
.gn-seg{stroke:var(--rp-brass);stroke-width:1;fill:none}
.gn-v1{fill:var(--rp-brass);fill-opacity:.55}
.gn-v2{fill:var(--rp-brass);fill-opacity:.28}
.gn-v3{fill:none}
.gn-dot{fill:none;stroke:var(--rp-brass);stroke-width:1.2}
.gn-dot-f{fill:var(--rp-brass)}
.gn-q{margin:var(--rp-space-scale-2) 0 0;font:400 var(--rp-type-scale-small)/1.6 var(--rp-body);color:var(--rp-text);overflow-wrap:anywhere}
.gn-q .lab-k{display:inline;margin:0 .4em 0 0}
.gn-more{margin:var(--rp-space-scale-3) 0 0}
.gn-more>summary{display:inline-block;min-height:44px;padding:.7em 0;cursor:pointer;font:500 var(--rp-type-scale-label)/1.4 var(--rp-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--rp-brass);border-bottom:1px solid var(--rp-brass-dim)}
.gn-more>summary:focus-visible{outline:var(--rp-focus-ring);outline-offset:3px}
.gn-comps{margin:var(--rp-space-scale-2) 0 0;font:400 var(--rp-type-scale-small)/1.55 var(--rp-body);color:var(--rp-text)}
.gn-vt thead th:first-child{width:34%}
.gn-vt thead th:nth-child(2){width:16%}
.gn-cmp{margin:0 0 var(--rp-space-scale-8);padding-top:var(--rp-space-scale-2);border-top:1px solid var(--rp-brass-dim)}
.gn-cmp-form{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--rp-space-scale-4)}
@media (min-width:700px){.gn-cmp-form{grid-template-columns:repeat(2,minmax(0,1fr))}}
.gn-cmp-form .rp-select{width:100%}
.gn-res{min-height:3em;margin:var(--rp-space-scale-2) 0;font:400 var(--rp-body-size)/1.55 var(--rp-body);color:var(--rp-text)}
.gn-era-w{margin:var(--rp-space-scale-4) 0;overflow:hidden}
.gn-ft thead th:first-child{width:18%}
.gn-zero{fill:var(--rp-ground);stroke:var(--rp-brass-dim);stroke-width:.75}
