/* Editorial interface. Scientific status colors remain in bvk.css. */
:root,:root[data-theme="light"] {
  --bg:#f3f2e9;
  --bg-accent:#ebeade;
  --surface:#faf9f2;
  --surface-2:#ecece1;
  --border:#d4d7c8;
  --border-strong:#a8b3a1;
  --text:#202c23;
  --text-dim:#506052;
  --text-mute:#616d60;
  --navy:#2c4938;
  --navy-2:#355c49;
  --nav-bg:#f3f2e9;
  --nav-fg:#202c23;
  --brand-deep:#202c23;
  --brand-mid:#39513e;
  --brand-accent:#b34f34;
  --shadow:none;
  --shadow-raised:0 12px 28px #14281c12;
  --radius:2px;
  --radius-sm:2px;
  --serif:Georgia,"Times New Roman",SimSun,serif;
  --accent:#b34f34;
  --forest:#17271f;
  --paper:#f3f2e9;
  --header-offset:114px
}
:root[data-theme="dark"] {
  --bg:#17231c;
  --bg-accent:#1d2b22;
  --surface:#1d2b22;
  --surface-2:#27382c;
  --border:#425144;
  --border-strong:#6b806c;
  --text:#e8ebde;
  --text-dim:#bec9b8;
  --text-mute:#a8b5a2;
  --navy:#ccd8b9;
  --navy-2:#bbd4b6;
  --nav-bg:#17231c;
  --nav-fg:#e8ebde;
  --brand-deep:#17231c;
  --brand-mid:#263d2e;
  --brand-accent:#e59a78;
  --accent:#e59a78
}
body {
  background:var(--bg);
  color:var(--text);
  font-size:15px;
  -webkit-font-smoothing:antialiased
}
button,input,select {
  font:inherit
}
button,a,input,select {
  touch-action:manipulation
}
button {
  cursor:pointer
}
button:disabled {
  cursor:wait
}
[hidden] {
  display:none!important
}
a {
  color:var(--navy-2)
}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible {
  outline:2px solid var(--accent);
  outline-offset:4px
}
h1,h2,h3 {
  letter-spacing:-.04em;
  color:var(--text)
}
.site-header {
  position:sticky;
  top:0;
  z-index:50;
  background:var(--bg);
  box-shadow:none;
  border-bottom:1px solid var(--border)
}
.masthead,.primary-nav {
  background:var(--bg);
  color:var(--text);
  border:0
}
.nav-shell,.wrap {
  max-width:1440px;
  width:calc(100% - 96px);
  margin-inline:auto;
  padding-inline:0
}
.masthead-inner {
  min-height:70px;
  padding-block:12px;
  gap:32px
}
.brand {
  color:var(--text);
  gap:12px
}
.brand-mark {
  display:none
}
.brand-copy b {
  font-size:33px;
  letter-spacing:-2px;
  line-height:1
}
.brand-copy small {
  font:9px/1.35 var(--mono);
  max-width:140px;
  color:var(--text-dim)
}
.brand-copy {
  display:flex;
  flex-direction:row;
  align-items:center;
  gap:18px
}
.global-search {
  max-width:420px;
  border:1px solid var(--border);
  background:transparent;
  border-radius:2px;
  color:var(--text);
  box-shadow:none
}
.global-search input {
  background:transparent;
  color:var(--text)
}
.global-search input::placeholder {
  color:var(--text-mute)
}
.global-search button {
  color:var(--text);
  background:var(--surface-2);
  border-left:1px solid var(--border)
}
.header-actions {
  color:var(--text-mute)
}
.release-meta {
  font:10px var(--mono);
  color:var(--text-mute)
}
.theme-btn {
  border:1px solid var(--border);
  background:transparent;
  color:var(--text);
  width:32px;
  height:32px;
  border-radius:50%
}
.primary-inner {
  min-height:38px;
  border-top:1px solid var(--border);
  padding:0
}
.primary-links {
  gap:22px
}
.primary-links .item {
  padding:8px 0;
  border:0;
  border-radius:0;
  color:var(--text-dim);
  font-size:12px;
  background:transparent
}
.primary-links .item:hover,.primary-links .item[aria-current="page"] {
  color:var(--text);
  background:transparent;
  box-shadow:inset 0 -2px var(--accent)
}
.nav-divider {
  background:var(--border);
  height:12px
}
.nav-context {
  font-size:10px;
  color:var(--text-mute)
}
.status-dot {
  background:#87996d
}
.menu-btn {
  color:var(--text);
  border-color:var(--border);
  background:transparent
}
.wrap {
  padding-block:28px 48px
}
.page-head,.entry-header {
  border-radius:0;
  background:transparent;
  box-shadow:none;
  border-color:var(--border)
}
.page-head {
  padding:24px 0 32px;
  border-width:0 0 1px;
  margin-bottom:30px
}
.page-head h1 {
  font-size:42px;
  font-weight:500
}
.page-kicker,.section-kicker {
  font-family:var(--mono);
  letter-spacing:.08em;
  color:var(--accent)
}
.btn,button.btn {
  border-radius:2px;
  background:var(--navy);
  color:var(--bg);
  box-shadow:none
}
.btn.ghost,button.btn.ghost {
  background:transparent;
  color:var(--text);
  border-color:var(--border-strong)
}
.btn:hover {
  filter:brightness(1.07)
}
.surface-panel,.facet-panel,.search-result,.record-section,.structure-explorer,.evi,.entity-record,.stat,.metric {
  box-shadow:none;
  border-radius:2px
}
.facet-panel {
  background:var(--surface)
}
.facet-head {
  border-top:2px solid var(--navy)
}
.result-toolbar {
  border-top:1px solid var(--border)
}
table {
  font-size:13px
}
thead th {
  background:var(--surface-2)
}
tbody tr:hover {
  background:var(--surface-2)
}
.table-scroll {
  border-radius:0
}
.filter-chip {
  background:var(--surface-2);
  color:var(--text);
  border:1px solid var(--border);
  border-radius:2px;
  padding:6px 9px;
  font-size:12px
}
.filter-chip:hover {
  border-color:var(--accent)
}
.entry-title-line h1 {
  font-weight:400;
  letter-spacing:-.065em
}
.entry-jump {
  position:sticky;
  top:var(--header-offset);
  z-index:15;
  background:var(--bg);
  border:1px solid var(--border);
  box-shadow:none;
  backdrop-filter:none
}
.record-section {
  scroll-margin-top:180px
}
.seqwrap {
  overflow:visible;
  padding:4px 0 8px
}
.seqgrid {
  grid-template-columns:repeat(27,minmax(24px,1fr));
  gap:6px;
  min-width:0
}
.seq-column {
  display:grid;
  grid-template-rows:17px 48px;
  gap:4px;
  min-width:0
}
.seq-column .sstrack {
  width:100%;
  height:17px;
  margin:0;
  font-size:9px
}
.seq-column .res {
  width:100%;
  height:48px;
  min-width:0;
  border-radius:2px
}
.seq-column .res .aa {
  font-size:16px
}
.seq-column .res .p {
  font-size:10px
}
.site-footer {
  border-color:var(--border);
  background:var(--bg)
}
.site-footer-inner {
  padding-block:20px;
  color:var(--text-mute);
  font-size:11px
}
.editorial-home .site-footer {
  background:var(--forest);
  border-color:#465348
}
.editorial-home .site-footer a,.editorial-home .site-footer-inner {
  color:#b7c3b0
}
.site-header .brand {
  color:var(--text)
}
.site-header .brand-copy small {
  color:var(--text-dim);
  font:9px/1.5 var(--mono);
  max-width:150px;
  white-space:normal;
  margin:0;
  letter-spacing:0;
  font-weight:400
}
.masthead-inner {
  display:flex
}
.header-actions {
  margin-left:auto
}
.global-search {
  flex:1
}
.editorial-home .home-search input {
  flex:1;
  width:0
}
.editorial-home .home-search button {
  min-width:70px;
  justify-content:space-between;
  font-weight:500
}
/* The opening specimen plate */
.editorial-container,.editorial-home .home-intro {
  width:calc(100% - 96px);
  max-width:1440px;
  margin-inline:auto
}
.editorial-home .home-intro {
  display:block;
  padding:24px 0 0;
  border:0;
  background:transparent;
  box-shadow:none;
  margin-bottom:0
}
.hero-topline,.section-rule,.specimen-rule,.field-meta,.sequence-caption,.atlas-visual-label,.atlas-visual-footer,.specimen-help {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px
}
.hero-topline,.section-rule,.specimen-rule,.editorial-eyebrow,.field-meta,.specimen-help,.atlas-visual-label,.atlas-visual-footer {
  font:10px/1.5 var(--mono);
  letter-spacing:.06em;
  text-transform:uppercase
}
.hero-topline {
  color:var(--text-mute)
}
.hero-topline>span:first-child {
  display:flex;
  align-items:center;
  gap:8px
}
.live-dot {
  width:6px;
  height:6px;
  display:inline-block;
  background:var(--accent);
  border-radius:50%
}
.hero-composition {
  display:grid;
  grid-template-columns:1fr 1.05fr;
  gap:0;
  min-height:610px;
  align-items:center;
  padding:15px 0 12px
}
.hero-copy {
  position:relative;
  z-index:2;
  padding:36px 0 28px
}
.editorial-eyebrow {
  font-size:11px;
  color:var(--text-mute);
  margin:0 0 24px;
  letter-spacing:.1em
}
.editorial-home h1 {
  font-size:clamp(65px,7.1vw,110px);
  font-weight:400;
  line-height:.98;
  letter-spacing:-.07em;
  margin:0 0 28px;
  color:var(--text);
  white-space:nowrap
}
.editorial-home h1 em {
  font-family:var(--serif);
  font-size:1.12em;
  letter-spacing:-.065em;
  font-weight:400;
  line-height:1.14
}
.hero-description {
  font-size:14px;
  line-height:1.9;
  color:var(--text-dim);
  margin:0 0 25px;
  letter-spacing:.025em
}
.editorial-home .home-search {
  display:flex;
  max-width:490px;
  margin:0;
  background:transparent;
  border:0;
  border-bottom:1px solid var(--text);
  border-radius:0;
  padding:3px 0;
  box-shadow:none;
  gap:12px;
  align-items:center
}
.home-search .search-symbol {
  font-size:29px;
  font-weight:300
}
.editorial-home .home-search input {
  background:transparent;
  min-width:0;
  padding:10px 0;
  font-size:13px;
  outline-offset:0
}
.editorial-home .home-search button {
  display:flex;
  align-items:center;
  gap:12px;
  color:var(--text);
  background:transparent;
  border:0;
  border-radius:0;
  white-space:nowrap;
  font-size:13px;
  padding:10px 4px
}
.home-search button span {
  font-size:24px;
  font-weight:300
}
.editorial-home .search-examples {
  margin-top:12px;
  gap:16px;
  font-size:10px;
  color:var(--text-mute)
}
.editorial-home .search-examples a {
  font:11px var(--mono);
  border:0;
  border-bottom:1px solid var(--border);
  background:transparent;
  padding:0 0 2px;
  border-radius:0
}
.explore-scroll {
  display:inline-flex;
  gap:14px;
  align-items:center;
  margin-top:34px;
  color:var(--text);
  font-size:12px
}
.explore-scroll>span:first-child {
  width:42px;
  height:42px;
  border:1px solid var(--border-strong);
  border-radius:50%;
  display:grid;
  place-items:center;
  font-size:21px
}
.explore-scroll small {
  display:block;
  font:8px var(--mono);
  letter-spacing:.09em;
  margin-top:4px;
  color:var(--text-mute)
}
.explore-scroll:hover>span:first-child {
  background:var(--surface-2);
  transform:translateY(3px)
}
.hero-specimen {
  position:relative;
  height:560px;
  min-width:0
}
.specimen-rule {
  position:absolute;
  top:6px;
  left:34px;
  right:0;
  border-bottom:1px solid var(--border);
  padding-bottom:12px;
  z-index:2;
  color:var(--text-mute);
  font-size:9px
}
.molecule-stage {
  position:absolute;
  inset:0;
  outline:none
}
.hero-specimen .molecule-stage {
  inset:30px -30px 18px -22px
}
.molecule-stage canvas {
  display:block
}
.molecule-loading {
  position:absolute;
  left:50%;
  top:48%;
  transform:translate(-50%,-50%);
  width:90%;
  text-align:center;
  font-size:12px;
  color:var(--text-mute);
  pointer-events:none
}
.molecule-loading a {
  pointer-events:auto;
  text-decoration:underline
}
.specimen-label {
  position:absolute;
  left:34px;
  bottom:71px;
  z-index:2;
  padding-left:12px;
  border-left:1px solid var(--border-strong);
  pointer-events:none
}
.specimen-label span,.specimen-label small {
  display:block;
  font:9px/1.7 var(--mono);
  color:var(--text-mute)
}
.specimen-label b {
  display:block;
  font-size:12px;
  font-weight:500;
  line-height:1.8
}
.specimen-label small {
  max-width:380px
}
.molecule-controls {
  position:absolute;
  bottom:68px;
  right:0;
  display:flex;
  align-items:center;
  gap:6px
}
.molecule-controls button,.atlas-visual-footer button {
  font:10px var(--mono);
  background:var(--bg);
  color:var(--text);
  border:1px solid var(--border);
  padding:7px 10px;
  min-height:32px;
  border-radius:2px
}
.molecule-controls button:first-child {
  font-size:20px;
  width:33px;
  padding:0
}
.specimen-help {
  position:absolute;
  left:34px;
  right:0;
  bottom:15px;
  margin:0;
  color:var(--text-mute);
  font-size:9px
}
.hero-scenes {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border-top:1px solid var(--border);
  padding-bottom:22px;
  gap:30px
}
.scene {
  position:relative;
  text-align:left;
  background:transparent;
  border:0;
  border-top:2px solid transparent;
  color:var(--text-mute);
  padding:17px 0 4px;
  display:grid;
  gap:6px
}
.scene span {
  font:9px var(--mono);
  letter-spacing:.08em
}
.scene b {
  font-weight:400;
  font-size:13px
}
.scene i {
  position:absolute;
  right:3px;
  bottom:6px;
  font-style:normal;
  font-size:22px;
  color:var(--border-strong)
}
.scene.active {
  border-top-color:var(--accent);
  color:var(--text)
}
.scene.active span,.scene.active i {
  color:var(--accent)
}
.scene:hover {
  color:var(--text)
}
/* Linked molecular atlas */
.atlas-section {
  background:var(--forest);
  color:#eef0e3;
  padding:42px 0 60px;
  margin-top:22px;
  scroll-margin-top:110px
}
.section-rule {
  border-bottom:1px solid var(--border);
  padding-bottom:17px;
  color:var(--text-mute)
}
.atlas-section .section-rule {
  border-color:#465348;
  color:#b7c3b0
}
.atlas-heading,.editorial-section-heading {
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:60px;
  margin:44px 0 38px
}
.atlas-heading h2,.editorial-section-heading h2,.home-closing h2 {
  font-size:clamp(36px,4vw,62px);
  font-weight:400;
  line-height:1.12;
  letter-spacing:-.065em;
  margin:0
}
.atlas-heading h2 {
  color:#eef0e3
}
.atlas-heading h2 em,.editorial-section-heading h2 em,.home-closing h2 em {
  font-family:var(--serif);
  font-weight:400
}
.atlas-heading p,.editorial-section-heading p {
  font-size:12px;
  line-height:1.95;
  margin:0 0 4px;
  max-width:390px;
  color:var(--text-dim)
}
.atlas-heading p {
  color:#b7c3b0
}
.atlas-workbench {
  display:grid;
  grid-template-columns:1.35fr 1fr;
  grid-template-areas:"visual readout" "sequence sequence";
  border:1px solid #465348;
  min-height:360px
}
.atlas-visual {
  grid-area:visual;
  min-width:0;
  position:relative;
  min-height:360px;
  border-right:1px solid #465348
}
.atlas-visual-label {
  position:absolute;
  inset:20px 24px auto;
  z-index:2;
  color:#b7c3b0;
  font-size:9px
}
.atlas-visual .molecule-stage {
  inset:28px 0 33px
}
.atlas-visual .molecule-loading {
  color:#b7c3b0
}
.atlas-visual-footer {
  position:absolute;
  bottom:12px;
  left:24px;
  right:20px;
  color:#b7c3b0;
  font-size:9px
}
.residue-dot {
  display:inline-block;
  width:5px;
  height:5px;
  background:#e9a176;
  border-radius:50%;
  margin-right:6px
}
.atlas-visual-footer button {
  color:#d8e2cc;
  background:transparent;
  border-color:#465348
}
.atlas-readout {
  grid-area:readout;
  min-width:0;
  padding:28px 32px;
  color:#eef0e3
}
.readout-kicker {
  font:10px var(--mono);
  letter-spacing:.09em;
  color:#b7c3b0
}
.readout-title {
  display:flex;
  align-items:baseline;
  gap:18px;
  margin:8px 0 14px
}
.readout-title strong {
  font:64px/.95 var(--serif);
  letter-spacing:-.05em
}
.readout-title span {
  font-size:12px;
  color:#b7c3b0
}
.readout-pattern {
  font-size:13px;
  color:#e3b58f;
  line-height:1.6
}
.readout-stats {
  display:flex;
  gap:40px;
  border-top:1px solid #465348;
  margin-top:16px;
  padding:16px 0 8px
}
.readout-stats b {
  display:block;
  font-size:32px;
  line-height:1;
  letter-spacing:-.05em;
  font-weight:400
}
.readout-stats span {
  display:block;
  font-size:12px;
  margin-top:8px;
  color:#b7c3b0
}
.readout-stats small {
  display:block;
  font-size:11px;
  color:#b7c3b0;
  margin-top:5px
}
.readout-note {
  font-size:12px;
  color:#b7c3b0;
  line-height:1.8;
  margin:12px 0 0
}
.readout-links {
  display:flex;
  gap:22px;
  margin-top:20px
}
.readout-links a {
  font-size:12px;
  color:#eef0e3;
  border-bottom:1px solid #778776;
  padding-bottom:4px
}
.atlas-sequence {
  grid-area:sequence;
  min-width:0;
  padding:24px;
  border-top:1px solid #465348
}
.atlas-sequence-toolbar {
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
  gap:14px;
  margin-bottom:18px
}
.atlas-sequence-toolbar .sequence-caption {
  display:flex;
  align-items:baseline;
  gap:14px;
  margin:0
}
.atlas-sequence-toolbar .sequence-caption b {
  color:#eef0e3;
  font-size:14px
}
.atlas-view-switch {
  display:flex;
  padding:3px;
  border:1px solid #5f705e;
  gap:3px
}
.atlas-view-switch button {
  font-size:12px;
  padding:8px 17px;
  min-height:36px;
  border:0;
  border-radius:0;
  color:#c5cfbd;
  background:transparent
}
.atlas-view-switch button[aria-pressed="true"] {
  background:#d8e2cc;
  color:#17271f
}
.atlas-view-switch button:hover {
  box-shadow:inset 0 0 0 1px #d8e2cc
}
.atlas-view-switch button:focus-visible,.atlas-residue:focus-visible {
  outline:2px solid #f2edce;
  outline-offset:3px
}
.sequence-caption {
  font-size:11px;
  color:var(--text-mute);
  margin-bottom:14px
}
.sequence-caption b {
  font-weight:400
}
.atlas-sequence .sequence-caption {
  color:#b7c3b0
}
.atlas-sequence .sequence-caption span {
  font-size:10px
}
.atlas-residues {
  display:grid;
  grid-template-columns:repeat(27,minmax(0,1fr));
  gap:6px
}
.atlas-residue {
  position:relative;
  height:60px;
  padding:14px 0 6px;
  border:1px solid #4b5e4c;
  color:#bbc5b4;
  background:transparent;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:6px;
  align-items:center;
  min-width:0;
  font:16px/1 var(--mono);
  border-radius:0
}
.atlas-residue small {
  font-size:9px;
  color:inherit
}
.atlas-residues[data-view="coverage"] .atlas-residue[data-covered="true"] {
  background:#304b34;
  border-color:#7a9770;
  color:#dfebd6
}
.atlas-residue.cys {
  color:#e2bc89;
  border-color:#917953;
  background:#3c3c2b
}
.atlas-residue.cys>span:first-child {
  color:#e2bc89;
  text-decoration:underline;
  text-underline-offset:3px
}
.atlas-residues[data-view="sensory"] [data-effect="enhanced_only"] {
  background:#1d4641;
  border-color:#488c81;
  color:#b9e3d6
}
.atlas-residues[data-view="sensory"] [data-effect="decreased_only"] {
  background:#513525;
  border-color:#af7951;
  color:#f3c59e
}
.atlas-residues[data-view="sensory"] [data-effect="mixed_substitution_effects"] {
  background:linear-gradient(135deg,#1d4641 50%,#513525 50%);
  border-color:#8d9d82;
  color:#eef0e3
}
.atlas-residues[data-view="sensory"] [data-effect="reference_like_only"] {
  background:#303c34;
  border-color:#86917e;
  color:#dee4d7
}
.atlas-residue.selected {
  border-color:#f2edce !important;
  box-shadow:inset 0 0 0 2px #f2edce
}
.atlas-effect-symbol {
  position:absolute;
  top:3px;
  right:4px;
  font-size:11px
}
.atlas-conflict {
  position:absolute;
  top:3px;
  left:3px;
  display:grid;
  place-items:center;
  width:12px;
  height:12px;
  font:bold 10px/1 var(--mono);
  border-radius:50%;
  color:#17271f;
  background:#e6b47b
}
.atlas-residues[data-view="coverage"] .atlas-effect-symbol,
.atlas-residues[data-view="coverage"] .atlas-conflict {
  display:none
}
.atlas-residue:hover {
  transform:none;
  border-color:#e9a176
}
@media(max-width:380px) {
  .atlas-conflict {
    width:10px;
    height:10px;
    font-size:8px
  }
  .atlas-effect-symbol {
    font-size:9px;
    right:3px
  }
}
.atlas-key {
  display:flex;
  align-items:center;
  gap:10px 18px;
  flex-wrap:wrap;
  margin-top:15px;
  color:#b7c3b0;
  font-size:11px
}
.atlas-key span {
  display:flex;
  align-items:center;
  gap:6px
}
.atlas-key i {
  display:grid;
  place-items:center;
  width:15px;
  height:15px;
  font:11px/1 var(--mono);
  border:1px solid #7e9577;
  color:#eef0e3
}
.key-covered {
  background:#304b34
}
.atlas-key .key-cys {
  color:#e2bc89;
  border-color:#ac976c;
  text-decoration:underline;
  text-underline-offset:2px
}
.key-empty {
  background:transparent
}
.atlas-key .key-enhanced {
  background:#1d4641;
  border-color:#488c81
}
.atlas-key .key-decreased {
  background:#513525;
  border-color:#af7951
}
.atlas-key .key-mixed {
  background:linear-gradient(135deg,#1d4641 50%,#513525 50%)
}
.atlas-key .key-reflike {
  background:#303c34;
  border-color:#86917e
}
.atlas-key .key-conflict {
  background:#e6b47b;
  border-color:#e6b47b;
  color:#17271f;
  border-radius:50%;
  font-weight:700
}
.atlas-view-note,.atlas-context {
  color:#b7c3b0;
  font-size:11px;
  line-height:1.8;
  margin:12px 0 0
}
.atlas-sequence-footer {
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:10px;
  border-top:1px solid #465348;
  margin-top:16px;
  padding-top:14px;
  font-size:11px;
  color:#b7c3b0
}
.atlas-sequence-footer a {
  color:#e3b58f
}
/* Evidence and entry points */
.knowledge-section,.field-section {
  padding-block:62px 70px
}
.editorial-metrics {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:32px;
  margin:50px 0 42px
}
.editorial-metric {
  padding-top:14px;
  border-top:1px solid var(--border)
}
.editorial-metric .metric-number {
  display:block;
  font-size:72px;
  line-height:1.2;
  letter-spacing:-.065em;
  font-weight:400
}
.editorial-metric .metric-number small {
  font:italic 20px var(--serif);
  margin-left:8px
}
.editorial-metric .metric-label {
  font-size:12px
}
.editorial-metric p {
  font-size:10px;
  color:var(--text-mute);
  margin:8px 0 0;
  line-height:1.8
}
.editorial-directory {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  column-gap:32px
}
.editorial-directory a {
  display:flex;
  align-items:center;
  gap:12px;
  border-bottom:1px solid var(--border);
  padding:20px 0;
  color:var(--text);
  font-size:12px
}
.editorial-directory .dir-code {
  font:9px var(--mono);
  color:var(--text-mute);
  width:30px
}
.editorial-directory .dir-count {
  font:10px var(--mono);
  color:var(--text-mute);
  margin-left:auto
}
.editorial-directory a:hover {
  color:var(--accent);
  border-color:var(--accent)
}
.editorial-section-heading.compact h2 {
  font-size:37px;
  letter-spacing:-.04em
}
.map-footnote {
  font-size:10px;
  color:var(--text-mute);
  line-height:1.8
}
.coverage-summary {
  border-top:1px solid var(--border);
  margin:0 0 26px;
  padding:23px 0;
  border-bottom:1px solid var(--border);
  display:grid;
  grid-template-columns:1fr 1.4fr;
  gap:40px;
  align-items:center
}
.coverage-summary strong {
  font-weight:400;
  font-size:34px;
  letter-spacing:-.04em
}
.coverage-summary strong small {
  font-size:12px;
  letter-spacing:0;
  margin-left:10px
}
.coverage-summary p {
  font-size:11px;
  line-height:1.8;
  color:var(--text-dim);
  margin:0
}
.coverage-summary a {
  text-decoration:underline
}
.field-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:26px
}
.field-card {
  display:block;
  color:var(--text)
}
.field-card:hover {
  text-decoration:none
}
.field-plate {
  aspect-ratio:1.2;
  position:relative;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#e3e6d8
}
.field-plate img {
  width:100%;
  height:100%;
  object-fit:contain;
  transition:transform .6s
}
.field-card:hover img {
  transform:scale(1.06)
}
.field-plate>span:last-child {
  position:absolute;
  bottom:15px;
  left:18px;
  font:8px var(--mono);
  letter-spacing:.03em
}
.plate-variant {
  background:#d8e0ce
}
.plate-context {
  background:#bd593c;
  color:#fff5e3
}
.field-meta {
  font-size:9px;
  margin-top:17px
}
.field-meta>span:last-child {
  font-size:22px;
  color:var(--accent)
}
.field-card h3 {
  font-size:25px;
  line-height:1.4;
  letter-spacing:-.045em;
  font-weight:400;
  margin:10px 0
}
.field-card p {
  font-size:11px;
  color:var(--text-dim);
  line-height:1.8
}
.field-card:hover h3 {
  color:var(--accent)
}
.context-glyph {
  font-size:clamp(40px,5vw,78px);
  letter-spacing:-.07em;
  font-weight:300;
  text-align:center;
  line-height:1.1;
  z-index:1
}
.context-glyph em {
  display:block;
  font:italic .55em var(--serif);
  letter-spacing:-.04em
}
.plate-context:before,.plate-context:after {
  content:"";
  position:absolute;
  border:1px solid #f2d2b350;
  inset:16% 10%;
  border-radius:50%;
  transform:rotate(45deg)
}
.plate-context:after {
  transform:rotate(-45deg)
}
.home-closing {
  background:var(--forest);
  color:#eef0e3;
  padding:34px 0 20px;
  overflow:hidden
}
.home-closing .section-rule {
  border-color:#465348;
  color:#b7c3b0
}
.closing-content {
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  padding-block:55px 32px;
  gap:30px
}
.home-closing h2 {
  color:#eef0e3;
  font-size:46px;
  letter-spacing:-.045em;
  line-height:1.45
}
.closing-link {
  background:var(--paper);
  color:var(--forest);
  padding:16px 22px;
  font-size:12px;
  display:flex;
  align-items:center;
  gap:50px
}
.closing-link span {
  font-size:24px
}
.closing-wordmark {
  font-size:clamp(170px,31vw,470px);
  line-height:.88;
  letter-spacing:-.09em;
  font-weight:500;
  margin-left:-.025em;
  padding-top:35px
}
.closing-note {
  font:9px/1.8 var(--mono);
  color:#b7c3b0;
  margin-top:30px
}
/* Record workspaces */
.variant-lead {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:32px;
  align-items:start;
  margin-bottom:24px
}
.variant-lead .entry-header {
  padding:16px 0;
  border:0;
  margin:0
}
.variant-lead .entry-meta-grid {
  grid-template-columns:repeat(2,1fr);
  margin-top:24px
}
.variant-lead .entry-meta-grid>div {
  padding:14px 12px 14px 0
}
.variant-lead .entry-title-line h1 {
  font-size:70px
}
.variant-lead .entry-actions {
  justify-content:flex-start;
  margin-top:15px
}
.variant-lead .variant-structure-panel {
  border:0;
  margin:0;
  padding:0
}
.variant-lead .record-section-head {
  padding:0 0 12px
}
.variant-lead .record-section-head h2 {
  font-size:17px
}
.variant-lead .record-section-head p,.variant-lead .section-index,.variant-lead .panel-badge {
  display:none
}
.variant-lead .structure-stage {
  min-height:320px;
  height:320px
}
.variant-lead .structure-stage-frame {
  min-height:320px
}
.variant-lead .structure-toolbar {
  padding:10px;
  gap:8px
}
.variant-lead .structure-control {
  min-width:0
}
.variant-lead .structure-control span {
  font-size:9px
}
.variant-lead .structure-control-wide {
  flex-basis:100%
}
.variant-lead .structure-actions {
  gap:5px
}
.variant-lead .structure-actions .btn {
  padding:5px 7px;
  font-size:10px
}
.variant-lead .structure-meta,.variant-lead .structure-meta .kv {
  font-size:11px
}
.structure-context-note {
  font-size:11px;
  line-height:1.8
}
.empty-record-section {
  padding-block:18px
}
.empty-record-section .record-section-head {
  margin-bottom:8px
}
.empty-record-section .record-section-head p {
  display:none
}
.compact-empty {
  padding:12px;
  margin:0;
  text-align:left
}
.record-provenance details {
  font-size:11px;
  padding-top:8px
}
.record-provenance summary {
  cursor:pointer
}
.record-provenance code {
  margin-top:10px;
  word-break:break-all
}
.structures-page .structure-workbench {
  grid-template-columns:230px minmax(0,1fr)
}
.structures-page .page-head {
  padding-top:10px
}
.structures-page .page-head p {
  max-width:850px
}
.structure-index-toggle {
  display:none
}
.search-group {
  scroll-margin-top:140px
}
.search-group-more {
  margin:14px 0 0;
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-size:11px;
  color:var(--text-mute)
}
.search-group-more button {
  border:1px solid var(--border-strong);
  padding:9px 16px;
  background:transparent;
  color:var(--text);
  font-size:12px
}
.search-result {
  background:transparent
}
.search-result:hover {
  background:var(--surface)
}
@media(min-width:1600px) {
  .hero-composition {
    min-height:690px
  }
  .hero-specimen {
    height:640px
  }
}
@media(max-width:1100px) {
  .nav-shell,.wrap,.editorial-container,.editorial-home .home-intro {
    width:calc(100% - 56px)
  }
  .primary-links {
    gap:17px
  }
  .release-meta {
    display:none
  }
  .hero-composition {
    min-height:540px;
    grid-template-columns:1fr 1fr
  }
  .hero-specimen {
    height:490px
  }
  .editorial-home h1 {
    font-size:7.3vw
  }
  .specimen-label {
    left:18px;
    bottom:106px
  }
  .molecule-controls {
    bottom:64px
  }
  .specimen-rule {
    left:18px;
    font-size:8px
  }
  .specimen-help {
    left:18px;
    font-size:8px
  }
  .atlas-heading,.editorial-section-heading {
    gap:25px
  }
  .atlas-readout {
    padding:28px 24px
  }
  .atlas-workbench {
    grid-template-columns:1fr 1fr
  }
  .atlas-residues {
    grid-template-columns:repeat(18,minmax(0,1fr))
  }
  .seqgrid {
    grid-template-columns:repeat(18,minmax(24px,1fr))
  }
  .editorial-directory {
    column-gap:20px
  }
  .variant-lead {
    gap:20px
  }
  .variant-lead .entry-title-line h1 {
    font-size:54px
  }
  .structures-page .structure-workbench {
    grid-template-columns:180px minmax(0,1fr)
  }
}
@media(max-width:760px) {
  :root {
    --header-offset:109px
  }
  .nav-shell,.wrap,.editorial-container,.editorial-home .home-intro {
    width:calc(100% - 36px)
  }
  .masthead-inner {
    min-height:61px;
    gap:15px;
    padding:10px 0
  }
  .brand-copy {
    gap:10px
  }
  .brand-copy b {
    font-size:29px
  }
  .brand-copy small {
    font-size:7px;
    max-width:107px
  }
  .theme-btn {
    width:30px;
    height:30px
  }
  .global-search {
    display:none
  }
  .header-actions {
    margin-left:auto
  }
  .primary-inner {
    min-height:38px
  }
  .primary-links.is-open {
    background:var(--bg);
    padding:12px 18px;
    border:1px solid var(--border)
  }
  .primary-links .item {
    font-size:13px
  }
  .nav-context {
    font-size:9px
  }
  .page-head {
    padding-top:10px;
    margin-bottom:20px
  }
  .page-head h1 {
    font-size:32px
  }
  .wrap {
    padding-top:18px
  }
  .editorial-home .home-intro {
    padding-top:18px
  }
  .hero-topline {
    font-size:8px
  }
  .hero-topline>span:last-child {
    display:none
  }
  .hero-composition {
    display:flex;
    flex-direction:column;
    gap:0;
    padding:0;
    min-height:0
  }
  .hero-copy {
    width:100%;
    padding:28px 0 0
  }
  .editorial-eyebrow {
    font-size:9px;
    margin-bottom:20px
  }
  .editorial-home h1 {
    font-size:clamp(54px,12vw,88px);
    line-height:1;
    letter-spacing:-.068em;
    margin-bottom:22px
  }
  .hero-description {
    font-size:12px;
    margin-bottom:18px
  }
  .editorial-home .home-search {
    max-width:none;
    gap:10px
  }
  .editorial-home .home-search input {
    font-size:12px
  }
  .editorial-home .search-examples {
    font-size:10px;
    gap:14px
  }
  .explore-scroll {
    display:none
  }
  .hero-specimen {
    width:100%;
    height:380px;
    margin:12px 0 0
  }
  .hero-specimen .molecule-stage {
    inset:13px -10px 40px
  }
  .specimen-rule {
    top:6px;
    left:0;
    right:0;
    font-size:8px;
    border:0;
    padding:0
  }
  .specimen-label {
    left:0;
    bottom:39px;
    padding-left:8px
  }
  .specimen-label b {
    font-size:11px
  }
  .specimen-label span {
    font-size:8px
  }
  .specimen-label small {
    font-size:8px;
    max-width:215px
  }
  .molecule-controls {
    bottom:45px
  }
  .molecule-controls button {
    font-size:9px;
    padding:6px;
    min-height:30px
  }
  .specimen-help {
    bottom:8px;
    left:0;
    right:0;
    font-size:8px
  }
  .hero-scenes {
    gap:14px;
    padding-bottom:12px
  }
  .scene {
    padding-top:12px;
    gap:8px
  }
  .scene span {
    font-size:7px;
    letter-spacing:0
  }
  .scene b {
    font-size:10px;
    line-height:1.6
  }
  .scene i {
    display:none
  }
  .atlas-section {
    padding:28px 0 32px;
    margin-top:15px
  }
  .section-rule {
    font-size:8px;
    padding-bottom:13px;
    gap:12px
  }
  .atlas-heading,.editorial-section-heading {
    display:block;
    margin:30px 0 25px
  }
  .atlas-heading h2,.editorial-section-heading h2 {
    font-size:36px;
    letter-spacing:-.06em
  }
  .atlas-heading p,.editorial-section-heading p {
    font-size:11px;
    margin-top:18px
  }
  .atlas-workbench {
    grid-template-columns:1fr;
    grid-template-areas:"visual" "sequence" "readout"
  }
  .atlas-visual {
    min-height:250px;
    border-right:0
  }
  .atlas-visual-label {
    inset:14px 15px auto;
    font-size:8px
  }
  .atlas-visual-footer {
    left:15px;
    right:15px;
    font-size:9px;
    gap:8px
  }
  .atlas-readout {
    padding:23px 20px;
    border-top:1px solid #465348
  }
  .readout-title {
    margin-bottom:10px
  }
  .readout-title strong {
    font-size:52px
  }
  .readout-stats {
    gap:50px;
    margin-top:10px;
    padding:16px 0
  }
  .readout-stats b {
    font-size:28px
  }
  .readout-pattern {
    min-height:0
  }
  .readout-note {
    min-height:0;
    margin:0
  }
  .readout-links {
    margin-top:16px
  }
  .sequence-caption {
    display:block;
    font-size:10px;
    line-height:1.7
  }
  .sequence-caption>* {
    display:block;
    margin:5px 0
  }
  .atlas-residues {
    grid-template-columns:repeat(9,minmax(0,1fr));
    gap:5px
  }
  .atlas-residue {
    height:54px;
    padding:14px 0 5px;
    font-size:15px
  }
  .atlas-sequence {
    padding:18px 12px
  }
  .atlas-sequence-toolbar {
    gap:12px;
    margin-bottom:16px
  }
  .atlas-sequence-toolbar .sequence-caption {
    width:100%;
    justify-content:space-between
  }
  .atlas-sequence-toolbar .sequence-caption>* {
    margin:0
  }
  .atlas-view-switch {
    width:100%
  }
  .atlas-view-switch button {
    flex:1;
    font-size:13px;
    min-height:40px
  }
  .atlas-key {
    gap:10px 14px;
    font-size:11px
  }
  .knowledge-section,.field-section {
    padding-block:35px 40px
  }
  .editorial-metrics {
    grid-template-columns:repeat(2,1fr);
    gap:22px;
    margin:30px 0
  }
  .editorial-metric .metric-number {
    font-size:57px
  }
  .editorial-directory {
    grid-template-columns:repeat(2,1fr);
    gap:0 20px
  }
  .editorial-directory a {
    font-size:11px;
    padding:18px 0;
    gap:8px
  }
  .editorial-directory .dir-code {
    font-size:8px;
    width:25px
  }
  .editorial-directory .dir-count {
    font-size:9px
  }
  .editorial-section-heading.compact h2 {
    font-size:31px
  }
  .seqgrid {
    grid-template-columns:repeat(9,minmax(24px,1fr));
    gap:6px
  }
  .seq-column {
    grid-template-rows:17px 46px
  }
  .seq-column .res {
    height:46px
  }
  .coverage-summary {
    grid-template-columns:1fr;
    gap:12px;
    padding-top:20px;
    margin-top:20px
  }
  .coverage-summary strong {
    font-size:30px
  }
  .coverage-summary p {
    font-size:10px
  }
  .field-grid {
    grid-template-columns:1fr;
    gap:28px
  }
  .field-plate {
    aspect-ratio:1.3
  }
  .field-card h3 {
    font-size:25px
  }
  .field-card p {
    margin:10px 0 0
  }
  .context-glyph {
    font-size:70px
  }
  .field-meta {
    margin-top:12px
  }
  .home-closing {
    padding-top:25px
  }
  .home-closing .section-rule>span:last-child {
    display:none
  }
  .closing-content {
    display:block;
    padding:28px 0 16px
  }
  .home-closing h2 {
    font-size:32px;
    line-height:1.4
  }
  .closing-link {
    display:inline-flex;
    padding:10px 15px;
    margin-top:22px;
    font-size:11px;
    gap:35px
  }
  .closing-wordmark {
    font-size:40vw;
    padding-top:25px
  }
  .closing-note {
    font-size:8px;
    line-height:1.9
  }
  .site-footer-inner {
    font-size:10px;
    gap:14px
  }
  .variant-lead {
    grid-template-columns:1fr;
    gap:15px
  }
  .variant-lead .entry-header {
    padding:5px 0
  }
  .variant-lead .entry-title-line h1 {
    font-size:50px
  }
  .variant-lead .structure-control-wide {
    flex-basis:auto
  }
  .entry-jump {
    top:var(--header-offset)
  }
  .structures-page .structure-workbench {
    display:flex;
    flex-direction:column
  }
  .structures-page .structure-viewer {
    order:0
  }
  .structures-page .structure-index {
    order:1
  }
  .structures-page .structure-explorer>.section-heading p {
    display:none
  }
  .structure-index-toggle {
    display:block;
    width:100%;
    text-align:left;
    border:0;
    background:var(--surface-2);
    color:var(--text);
    padding:14px
  }
  .structure-index-toggle[aria-expanded="false"]~* {
    display:none
  }
  .structures-page .structure-stage {
    height:360px;
    min-height:360px
  }
  .structures-page .structure-toolbar {
    padding:10px;
    gap:8px
  }
  .structures-page .structure-actions .btn {
    font-size:10px;
    padding:6px 8px
  }
  .structure-help {
    font-size:9px
  }
  .search-group-more {
    gap:16px
  }
}
@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after {
    scroll-behavior:auto!important;
    animation:none!important;
    transition:none!important
  }
  .atlas-residue:hover {
    transform:none
  }
}
/* Keep molecular canvases ahead of auxiliary controls on compact screens. */
.structure-control.is-disabled {
  display:none
}
.variant-lead .structure-viewer.compact .structure-stage,.variant-lead .structure-viewer.compact .structure-stage-frame {
  height:320px;
  min-height:320px
}
.variant-lead .structure-toolbar {
  grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)
}
.variant-lead .structure-control-wide {
  grid-column:auto
}
.variant-lead .structure-actions {
  grid-column:1/-1
}
.structure-details summary {
  cursor:pointer;
  font-size:11px;
  padding:8px 0;
  color:var(--text-dim)
}
.structure-details[open] summary {
  margin-bottom:8px
}
.variant-lead .structure-relation {
  margin-top:8px
}
.variant-lead .structure-meta {
  padding:8px 12px
}
.variant-lead .entry-meta-grid {
  border:0;
  border-top:1px solid var(--border);
  gap:0
}
.variant-lead .entry-meta-grid>div {
  border:0;
  border-bottom:1px solid var(--border)
}
@media(max-width:760px) {
  .structures-page .page-head {
    padding-bottom:16px;
    margin-bottom:20px;
    gap:16px
  }
  .structures-page .page-head .lede {
    font-size:12px;
    line-height:1.8
  }
  .structures-page .page-meta {
    gap:8px;
    font-size:10px;
    margin-block:12px
  }
  .structures-page .structure-explorer {
    padding:12px
  }
  .structures-page .structure-explorer>.panel-head {
    margin-bottom:14px
  }
  .structures-page .structure-explorer>.panel-head p,.structures-page .structure-explorer>.panel-head .panel-badge,.structures-page .structure-explorer>.panel-head .page-kicker {
    display:none
  }
  .structures-page .structure-toolbar {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
  .structures-page .structure-control-wide {
    grid-column:1/-1
  }
  .structures-page .structure-actions {
    grid-column:1/-1
  }
  .structures-page .structure-control select {
    font-size:11px;
    padding:8px;
    min-height:36px
  }
  .structures-page .structure-control>span {
    font-size:10px
  }
  .structures-page .structure-workbench>div {
    order:0
  }
  .structures-page .structure-index {
    order:1
  }
}
.editorial-home h2 {
  border:0;
  padding:0
}
.editorial-home .field-card,.editorial-home .editorial-directory a,.editorial-home .explore-scroll,.editorial-home .closing-link {
  text-decoration:none
}
.editorial-home section {
  scroll-margin-top:130px
}
.mobile-filter-toggle {
  display:none
}
.variant-summary {
  font-size:12px;
  color:var(--text-dim);
  margin:10px 0 0
}
.citation-details summary {
  cursor:pointer;
  color:var(--text-dim);
  padding:4px 0;
  font-size:12px
}
.citation-details[open] summary {
  margin-bottom:18px
}
.bibliographic-entry .entry-title-line h1 {
  font-weight:500;
  font-size:30px;
  line-height:1.35;
  letter-spacing:-.025em
}
.bibliographic-entry .entry-meta-grid dd {
  white-space:normal;
  overflow:visible;
  text-overflow:clip;
  overflow-wrap:anywhere
}
#source-table-scroll table {
  table-layout:fixed;
  min-width:800px
}
#source-table-scroll th:nth-child(1) {
  width:12%
}
#source-table-scroll th:nth-child(2) {
  width:12%
}
#source-table-scroll th:nth-child(3) {
  width:40%
}
#source-table-scroll th:nth-child(4) {
  width:21%
}
#source-table-scroll th:nth-child(5) {
  width:15%
}
#source-table-scroll .source-title {
  display:block;
  font-weight:550;
  font-size:14px;
  line-height:1.5;
  margin-bottom:7px
}
#source-table-scroll td {
  padding-block:18px;
  overflow-wrap:anywhere
}
#source-table-scroll .identifier-stack {
  font-size:10px
}
@media(max-width:760px) {
  .mobile-filter-toggle {
    display:block;
    width:100%;
    border:1px solid var(--border-strong);
    padding:13px 15px;
    text-align:left;
    color:var(--text);
    background:var(--surface-2);
    font-size:12px
  }
  aside.filters:not(.filters-open)>.card {
    display:none
  }
  .variant-lead {
    display:flex;
    flex-direction:column;
    align-items:stretch
  }
  .variant-lead .entry-header {
    display:contents
  }
  .variant-lead .entry-title {
    order:0
  }
  .variant-lead .entry-actions {
    order:1;
    margin:0;
    padding-bottom:10px
  }
  .variant-lead .variant-structure-panel {
    order:2
  }
  .variant-lead .entry-meta-grid {
    order:3;
    margin-top:0
  }
  .variant-summary {
    font-size:11px
  }
  .variant-lead .entry-subtitle {
    margin-bottom:6px
  }
  .structures-page .structure-actions,.variant-lead .structure-actions {
    display:flex;
    flex-wrap:wrap;
    gap:5px
  }
  .structures-page .structure-actions .btn,.variant-lead .structure-actions .btn {
    flex:1;
    white-space:nowrap;
    text-align:center;
    padding:7px 4px
  }
  .bibliographic-entry .entry-title-line h1 {
    font-size:23px;
    line-height:1.35
  }
}
.table-scroll-hint {
  display:none
}
#variant-table-scroll table {
  table-layout:fixed;
  min-width:920px
}
#variant-table-scroll th:nth-child(1) {
  width:18%
}
#variant-table-scroll th:nth-child(2) {
  width:21%
}
#variant-table-scroll th:nth-child(3) {
  width:9%
}
#variant-table-scroll th:nth-child(4) {
  width:14%
}
#variant-table-scroll th:nth-child(5) {
  width:10%
}
#variant-table-scroll th:nth-child(6) {
  width:13%
}
#variant-table-scroll th:nth-child(7) {
  width:15%
}
#variant-table-scroll td {
  overflow-wrap:anywhere
}
@media(max-width:760px) {
  .table-scroll-hint {
    display:block;
    font-size:10px;
    color:var(--text-mute);
    margin:10px 0
  }
}
.search-result .result-title,.search-result .result-snippet {
  display:block
}
.search-result .result-snippet {
  margin-top:6px;
  line-height:1.7;
  color:var(--text-dim)
}
@media(min-width:761px) and (max-width:1100px) {
  .hero-specimen .molecule-stage {
    right:-15px;
  }
}
