:root {
  --ink: var(--av-color-foreground);
  --qbio-muted: var(--av-color-muted-foreground);
  --line: var(--av-color-border);
  --paper: var(--av-color-background);
  --qbio-card: var(--av-color-card);
  --qbio-accent: var(--av-color-primary);
  --accent-soft: var(--av-color-primary-soft);
  --qbio-radius: var(--av-radius-lg);
}

* { box-sizing: border-box; }
html { background: var(--paper); color: var(--ink); font-family: Arial, Helvetica, sans-serif; }
body { margin: 0; }
a { color: inherit; }
button:focus-visible, a:focus-visible, summary:focus-visible { outline: 2px solid var(--qbio-accent); outline-offset: 3px; }
.skip-link { position: fixed; top: 8px; left: 8px; z-index: 100; padding: 10px 14px; border-radius: 8px; background: var(--ink); color: #fff; font-size: 13px; font-weight: 700; text-decoration: none; transform: translateY(-160%); transition: transform var(--av-duration-fast) cubic-bezier(var(--av-easing-standard)); }
.skip-link:focus { transform: translateY(0); }
.site-header, main, .site-footer { width: 100%; max-width: 1180px; margin: 0 auto; padding-left: 24px; padding-right: 24px; }
.site-header, main, .site-footer { min-width: 0; }
.site-header { min-height: 68px; display: flex; align-items: center; justify-content: space-between; gap: 20px; border-bottom: 1px solid var(--line); }
.brand { color: var(--ink); font-size: 18px; font-weight: 800; letter-spacing: .08em; text-decoration: none; }
.brand span { color: var(--qbio-accent); }
.header-actions { display: flex; align-items: center; gap: 20px; }
.site-header nav { display: flex; gap: 22px; font-size: 14px; }
.site-header nav a, .site-footer a { color: var(--qbio-muted); text-decoration: none; }
.site-header nav a:hover, .site-footer a:hover { color: var(--qbio-accent); }
.site-header nav a[aria-current="page"] { color: var(--ink); font-weight: 700; text-decoration: underline; text-decoration-color: var(--qbio-accent); text-decoration-thickness: 2px; text-underline-offset: 7px; }
.language-switcher { display: flex; gap: 2px; padding: 2px; border: 1px solid var(--line); border-radius: 7px; }
.language-switcher button { border: 0; border-radius: 4px; background: transparent; color: var(--qbio-muted); cursor: pointer; font: inherit; font-size: 10px; font-weight: 700; letter-spacing: .04em; padding: 5px 6px; }
.language-switcher button.is-active { background: var(--accent-soft); color: var(--ink); }
.intro { max-width: 780px; padding: 72px 0 34px; }
.profile-kind { margin: 0 0 12px; color: var(--qbio-accent); font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
h1, h2, p { margin-top: 0; }
h1 { max-width: 980px; margin-bottom: 16px; font-size: clamp(34px, 5vw, 62px); line-height: .98; letter-spacing: -.045em; overflow-wrap: anywhere; }
h2 { margin-bottom: 0; font-size: 21px; line-height: 1.15; letter-spacing: -.02em; }
.lede { max-width: 670px; color: var(--qbio-muted); font-size: 18px; line-height: 1.5; }
.coverage-strip { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; margin-top: 28px; width: min(100%, 760px); border: 1px solid var(--line); border-radius: var(--qbio-radius); overflow: hidden; background: var(--line); }
.coverage-strip div { min-height: 74px; display: flex; flex-direction: column; justify-content: center; gap: 5px; background: rgba(255,255,255,.62); padding: 14px 16px; }
.coverage-strip strong { font-size: 24px; line-height: 1; letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
.coverage-strip span { color: var(--qbio-muted); font-size: 12px; line-height: 1.25; }
.search { display: block; margin-top: 30px; }
.search input { width: min(100%, 580px); height: 48px; border: 1px solid var(--line); border-radius: 10px; background: var(--qbio-card); color: var(--ink); font: inherit; padding: 0 15px; }
.search input:focus { border-color: var(--qbio-accent); box-shadow: 0 0 0 3px var(--accent-soft); outline: none; }
.directory { padding: 24px 0 56px; border-top: 1px solid var(--line); }
.section-title { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; }
.section-title p { margin: 0; color: var(--qbio-muted); font-size: 13px; }
.filters { display: flex; gap: 8px; margin: 20px 0 18px; }
.filter { min-height: 32px; border: 1px solid var(--line); border-radius: 999px; background: transparent; color: var(--qbio-muted); cursor: pointer; font: inherit; font-size: 13px; padding: 0 12px; }
.filter.is-active { background: var(--ink); border-color: var(--ink); color: white; }
.directory-exports { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin: -4px 0 18px; color: var(--qbio-muted); font-size: 12px; }
.directory-exports a { color: var(--qbio-accent); font-weight: 800; letter-spacing: .04em; text-decoration: none; }
.directory-exports a:hover { color: var(--ink); text-decoration: underline; }
.directory-exports-label { margin-right: 2px; }
.cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.card { min-height: 148px; display: flex; flex-direction: column; border: 1px solid var(--line); border-radius: var(--qbio-radius); background: var(--qbio-card); padding: 16px; text-decoration: none; transition: border-color var(--av-duration-fast) cubic-bezier(var(--av-easing-standard)), background var(--av-duration-fast) cubic-bezier(var(--av-easing-standard)); }
.card:hover { border-color: var(--qbio-accent); }
.card-kind { margin-bottom: 18px; color: var(--qbio-accent); font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.card-title { margin-bottom: 8px; font-size: 18px; font-weight: 700; line-height: 1.2; }
.card-role { margin-bottom: 8px; color: var(--ink); font-size: 13px; line-height: 1.35; }
.card-summary { color: var(--qbio-muted); font-size: 14px; line-height: 1.35; }
.card-facts { display: grid; gap: 5px; margin-top: 10px; }
.card-fact { display: grid; grid-template-columns: minmax(76px, .52fr) minmax(0, 1fr); gap: 8px; align-items: baseline; min-width: 0; }
.card-fact em { color: var(--qbio-muted); font-size: 10px; font-style: normal; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.card-fact strong { color: var(--ink); display: -webkit-box; font-size: 12px; font-weight: 700; line-height: 1.25; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.card-signals { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
.card-signals span { border: 1px solid var(--line); border-radius: 999px; color: var(--qbio-muted); font-size: 11px; font-weight: 700; line-height: 1; padding: 5px 7px; }
.card-proof { margin-top: auto; padding-top: 14px; color: var(--qbio-muted); font-size: 12px; }
.directory-card { min-height: 218px; padding: 15px; }
.directory-card .card-kind { margin-bottom: 11px; }
.directory-card .card-title { display: -webkit-box; margin-bottom: 9px; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.directory-card-organisation .card-title { -webkit-line-clamp: 3; }
.directory-card-context { display: -webkit-box; overflow: hidden; color: var(--ink); font-size: 13px; line-height: 1.38; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.directory-card-meta { margin-top: 5px; color: var(--qbio-muted); font-size: 12px; line-height: 1.3; font-variant-numeric: tabular-nums; }
.directory-card-facts { padding-top: 10px; border-top: 1px solid rgba(26, 43, 40, .08); }
.directory-card .card-signals { margin-top: auto; padding-top: 12px; }
.directory-card .card-proof { margin-top: 0; padding-top: 9px; }
.reference-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin: 20px 0 0; }
.reference-list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.reference-card { min-height: 112px; padding: 14px; }
.reference-card .card-title { margin-bottom: 6px; font-size: 16px; }
.reference-card .card-summary { font-size: 12px; }
.reference-card-total { min-height: 84px; }
.reference-card-total .reference-sources { padding-top: 8px; }
.reference-card-qazlake { min-height: 128px; }
.reference-status { margin-bottom: 8px; color: var(--qbio-accent); font-size: 10px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.reference-sources { display: flex; flex-wrap: wrap; gap: 7px; margin-top: auto; padding-top: 12px; }
.reference-mention-meter { margin-top: 10px; }
.reference-mention-meter .av-meter__value { background: linear-gradient(90deg, var(--qbio-accent), #38a090); }
.reference-source { color: var(--qbio-accent); font-size: 12px; font-weight: 700; text-decoration: none; }
.reference-profile { border-left: 1px solid var(--line); color: var(--ink); font-size: 12px; font-weight: 800; padding-left: 8px; text-decoration: none; }
.reference-source:hover, .reference-profile:hover { text-decoration: underline; }
.reference-stats { margin-top: 0; }
.reference-directory { padding-bottom: 36px; }
.pipeline-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; margin-top: 18px; border: 1px solid var(--line); border-radius: var(--qbio-radius); overflow: hidden; background: var(--line); }
.pipeline-grid article { min-height: 104px; display: flex; flex-direction: column; gap: 7px; background: rgba(255,255,255,.8); padding: 13px 14px; }
.pipeline-grid article span { color: var(--qbio-accent); font-size: 11px; font-weight: 800; letter-spacing: .1em; }
.pipeline-grid article strong, .source-registry-item strong { font-size: 14px; line-height: 1.2; }
.pipeline-grid article small { margin-top: auto; color: var(--qbio-muted); font-size: 12px; line-height: 1.35; }
.source-registry-list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; margin-top: 14px; border: 1px solid var(--line); border-radius: 10px; overflow: hidden; background: var(--line); }
.source-registry-item { min-height: 78px; display: flex; flex-direction: column; gap: 5px; background: var(--qbio-card); padding: 11px 12px; }
.source-registry-item small { margin-top: auto; color: var(--qbio-muted); font-size: 11px; line-height: 1.3; }
.source-registry-item small { overflow-wrap: anywhere; word-break: break-word; }
.source-registry-item .card-kind { margin-bottom: 0; }
.empty { max-width: 560px; border-left: 3px solid var(--qbio-accent); padding: 4px 0 4px 14px; color: var(--qbio-muted); }
.empty p:last-child { margin-bottom: 0; }
.empty-title { color: var(--ink); font-weight: 700; }
.empty-actions { display: flex; flex-wrap: wrap; gap: 8px 16px; margin-top: 12px; }
.empty-actions a { color: var(--qbio-accent); font-size: 13px; font-weight: 700; text-decoration: none; }
.empty-actions a:hover { text-decoration: underline; }
.loading-state { grid-column: 1 / -1; min-height: 86px; display: flex; align-items: center; margin: 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); color: var(--qbio-muted); font-size: 13px; }
.loading-state[hidden] { display: none; }
[aria-busy="true"] { cursor: progress; }
.source-coverage { max-width: 920px; padding: 30px 0 34px; border-top: 1px solid var(--line); }
.coverage-heading { align-items: end; }
.coverage-lede { max-width: 700px; margin: 14px 0 22px; color: var(--qbio-muted); line-height: 1.5; }
.source-coverage-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--line); }
.source-coverage-item { min-width: 0; padding: 14px 16px 14px 0; border-bottom: 1px solid var(--line); }
.source-coverage-item:nth-child(even) { padding-left: 16px; border-left: 1px solid var(--line); }
.source-coverage-item h3 { margin: 0 0 7px; color: var(--qbio-accent); font-size: 12px; letter-spacing: .08em; }
.source-coverage-item p { margin: 0 0 8px; color: var(--ink); font-size: 14px; line-height: 1.35; }
.source-coverage-item span { color: var(--qbio-muted); font-size: 12px; }
.source-coverage-empty { margin: 0; color: var(--qbio-muted); }
.data-note { margin: 14px 0 0; border-left: 3px solid var(--qbio-accent); color: var(--qbio-muted); font-size: 14px; line-height: 1.5; padding: 4px 0 4px 13px; }
.data-note strong { color: var(--ink); }
.data-registry-block { margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--line); }
.data-registry-block h3 { margin: 0; font-size: 17px; line-height: 1.2; }
.data-registry-block .coverage-quality { margin-top: 12px; }
.av-chart { max-width: 760px; margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--line); }
.av-chart[hidden] { display: none; }
.av-chart-heading { display: flex; align-items: end; justify-content: space-between; gap: 16px; }
.av-chart-heading h3 { margin: 0; font-size: 17px; line-height: 1.2; }
.av-chart-heading > span { color: var(--qbio-muted); font-size: 12px; font-variant-numeric: tabular-nums; white-space: nowrap; }
.av-chart-list { display: grid; gap: 14px; margin-top: 18px; }
.av-chart-row { display: grid; gap: 8px; }
.av-chart-label { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.av-chart-label span { color: var(--qbio-muted); font-size: 13px; }
.av-chart-label strong { color: var(--ink); font-size: 14px; font-variant-numeric: tabular-nums; }
.av-chart-track { height: 8px; }
.av-chart-track .av-progress__bar { background: var(--qbio-accent); }
.av-chart-note { margin: 14px 0 0; color: var(--qbio-muted); font-size: 11px; line-height: 1.4; }
.compare-workbench { max-width: 1120px; }
.compare-form { display: grid; gap: 9px; max-width: 760px; margin-top: 20px; }
.compare-form label { color: var(--ink); font-size: 13px; font-weight: 700; }
.compare-form textarea { width: 100%; min-height: 104px; resize: vertical; border: 1px solid var(--line); border-radius: 12px; background: var(--qbio-card); color: var(--ink); font: inherit; line-height: 1.45; padding: 12px 13px; }
.compare-form textarea:focus { border-color: var(--qbio-accent); box-shadow: 0 0 0 3px var(--accent-soft); outline: none; }
.compare-form-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; }
.compare-form-actions .primary-link { min-height: 42px; }
.secondary-link { display: inline-flex; min-height: 42px; align-items: center; color: var(--qbio-accent); font-size: 13px; font-weight: 700; text-decoration: none; }
.secondary-link:hover { color: var(--ink); text-decoration: underline; }
.form-note { max-width: 760px; margin: 13px 0 0; color: var(--qbio-muted); font-size: 12px; line-height: 1.45; }
.compare-results[hidden] { display: none; }
.compare-grid { display: grid; gap: 14px; margin-top: 20px; align-items: start; }
.compare-grid.compare-count-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.compare-grid.compare-count-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.compare-grid.compare-count-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.compare-card { min-width: 0; display: grid; gap: 14px; border: 1px solid var(--line); border-radius: var(--qbio-radius); background: var(--qbio-card); padding: 16px; box-shadow: var(--shadow-soft); }
.compare-card-header { display: grid; gap: 6px; min-width: 0; padding-bottom: 12px; border-bottom: 1px solid var(--line); }
.compare-card-kind { color: var(--qbio-accent); font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.compare-card-name { color: var(--ink); font-size: 17px; font-weight: 800; line-height: 1.2; overflow-wrap: anywhere; text-decoration: none; }
.compare-card-name:hover { color: var(--qbio-accent); }
.compare-card-id { color: var(--qbio-muted); font-size: 10px; overflow-wrap: anywhere; }
.compare-card-summary { margin: 0; color: var(--qbio-muted); font-size: 13px; line-height: 1.45; }
.compare-stat-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; overflow: hidden; border: 1px solid var(--line); border-radius: 10px; background: var(--line); }
.compare-stat-list > div { display: grid; gap: 4px; min-width: 0; background: rgba(255,255,255,.72); padding: 9px 10px; }
.compare-stat-list strong { color: var(--ink); font-size: 17px; line-height: 1; font-variant-numeric: tabular-nums; }
.compare-stat-list span { color: var(--qbio-muted); font-size: 10px; line-height: 1.25; }
.compare-detail { display: grid; gap: 8px; }
.compare-detail-title { margin: 0; color: var(--qbio-muted); font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.compare-detail-list { display: grid; gap: 7px; margin: 0; padding: 0; list-style: none; }
.compare-detail-list li { min-width: 0; color: var(--ink); font-size: 12px; line-height: 1.35; overflow-wrap: anywhere; }
.compare-detail-list li span { display: block; color: var(--qbio-muted); font-size: 11px; }
.compare-card-links { display: flex; flex-wrap: wrap; gap: 12px; padding-top: 2px; }
.compare-card-links a { color: var(--qbio-accent); font-size: 12px; font-weight: 700; text-decoration: none; }
.compare-card-links a:hover { color: var(--ink); text-decoration: underline; }
.compare-missing { margin: 14px 0 0; color: #86651e; font-size: 12px; line-height: 1.4; }
.watchlist-layout { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr); gap: 28px; align-items: start; }
.watchlist-panel { min-width: 0; }
.watchlist-list, .watchlist-changes { display: grid; gap: 9px; }
.watchlist-item, .watchlist-change { min-width: 0; display: flex; align-items: center; justify-content: space-between; gap: 16px; border: 1px solid var(--line); border-radius: 12px; background: var(--qbio-card); padding: 13px 14px; box-shadow: var(--shadow-soft); }
.watchlist-item-content { display: grid; gap: 5px; min-width: 0; }
.watchlist-item-name, .watchlist-change-name { min-width: 0; color: var(--ink); font-size: 14px; font-weight: 800; line-height: 1.3; overflow-wrap: anywhere; text-decoration: none; }
.watchlist-item-name:hover, .watchlist-change-name:hover { color: var(--qbio-accent); }
.watchlist-item-id { min-width: 0; color: var(--qbio-muted); font-size: 10px; overflow-wrap: anywhere; }
.watchlist-remove { flex: 0 0 auto; min-height: 36px; border: 1px solid var(--line); border-radius: 9px; background: transparent; color: var(--qbio-accent); cursor: pointer; font: inherit; font-size: 12px; font-weight: 700; padding: 0 11px; }
.watchlist-remove:hover { border-color: var(--qbio-accent); color: var(--ink); }
.watchlist-change { display: grid; align-items: start; justify-content: initial; gap: 5px; }
.watchlist-change-meta, .watchlist-note { color: var(--qbio-muted); font-size: 12px; line-height: 1.45; }
.watchlist-note { margin: 14px 0 0; }
.overview-watchlist { align-items: flex-start; }
.watchlist-toggle { min-height: 36px; border: 0; border-radius: 8px; background: var(--ink); color: #fff; cursor: pointer; font: inherit; font-size: 12px; font-weight: 700; padding: 0 11px; }
.watchlist-toggle:hover, .watchlist-toggle.is-saved { background: var(--qbio-accent); }
.watchlist-open { font-size: 11px !important; }
.watchlist-toggle:focus-visible, .watchlist-remove:focus-visible { outline: 3px solid var(--accent-soft); outline-offset: 2px; }
.overview-compare { align-items: flex-start; }
.compare-toggle { min-height: 36px; border: 0; border-radius: 8px; background: var(--ink); color: #fff; cursor: pointer; font: inherit; font-size: 12px; font-weight: 700; padding: 0 11px; }
.compare-toggle:hover, .compare-toggle.is-selected { background: var(--qbio-accent); }
.compare-open { font-size: 11px !important; }
.compare-selection-status { color: var(--qbio-muted); font-size: 11px; line-height: 1.3; }
.compare-toggle:focus-visible { outline: 3px solid var(--accent-soft); outline-offset: 2px; }
.network-workbench { max-width: 1120px; }
.network-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 7px; }
.network-action { min-height: 34px; border: 1px solid var(--line); border-radius: 9px; background: var(--qbio-card); color: var(--ink); cursor: pointer; font: inherit; font-size: 12px; font-weight: 700; padding: 0 11px; }
.network-action:disabled { cursor: wait; opacity: .55; }
.network-action:hover { border-color: var(--qbio-accent); color: var(--qbio-accent); background: var(--accent-soft); }
.network-action-quiet { background: transparent; color: var(--qbio-muted); }
.network-action-status { min-height: 18px; margin: 8px 0 0; color: var(--qbio-muted); font-size: 12px; }
.network-controls { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(180px, .65fr) minmax(180px, .65fr); gap: 12px; margin-top: 20px; }
.network-control { display: grid; gap: 7px; color: var(--ink); font-size: 13px; font-weight: 700; }
.network-control input, .network-control select { width: 100%; min-height: 44px; border: 1px solid var(--line); border-radius: 10px; background: var(--qbio-card); color: var(--ink); font: inherit; padding: 0 12px; }
.network-control input:focus, .network-control select:focus { border-color: var(--qbio-accent); box-shadow: 0 0 0 3px var(--accent-soft); outline: none; }
.network-filter-note { max-width: 760px; margin: 13px 0 0; color: var(--qbio-muted); font-size: 12px; line-height: 1.45; }
.stat-grid.network-summary { grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 18px 0 0; }
.network-summary > div { min-height: 72px; }
.network-summary strong { font-size: 26px; }
.network-layout { display: grid; grid-template-columns: minmax(260px, .72fr) minmax(0, 1.28fr); gap: 32px; align-items: start; border-top: 1px solid var(--line); padding-top: 30px; }
.network-panel { min-width: 0; }
.network-rank-list, .network-edge-list { display: grid; gap: 10px; margin-top: 17px; }
.network-rank-row { display: grid; gap: 7px; min-width: 0; padding-bottom: 10px; border-bottom: 1px solid var(--line); }
.network-rank-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; min-width: 0; }
.network-rank-heading > strong { flex: 0 0 auto; color: var(--ink); font-size: 13px; font-variant-numeric: tabular-nums; }
.network-node-link { min-width: 0; display: inline-flex; flex-direction: column; gap: 3px; color: var(--ink); text-decoration: none; }
.network-node-link:hover strong { color: var(--qbio-accent); }
.network-node-kind { color: var(--qbio-accent); font-size: 10px; font-weight: 800; letter-spacing: .08em; line-height: 1; text-transform: uppercase; }
.network-node-link strong { overflow: hidden; font-size: 14px; line-height: 1.25; text-overflow: ellipsis; white-space: nowrap; }
.network-rank-track { height: 7px; overflow: hidden; }
.network-rank-track .av-progress__bar { background: var(--qbio-accent); }
.network-edge { min-width: 0; border: 1px solid var(--line); border-radius: var(--qbio-radius); background: var(--qbio-card); padding: 13px 14px 12px; box-shadow: var(--shadow-soft); }
.network-edge-connection { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); gap: 12px; align-items: center; min-width: 0; }
.network-edge-connection .network-node-link:last-child { text-align: right; align-items: flex-end; }
.network-edge-arrow { color: var(--qbio-accent); font-size: 18px; line-height: 1; }
.network-edge-meta { display: flex; flex-wrap: wrap; align-items: baseline; gap: 7px 12px; margin-top: 12px; padding-top: 10px; border-top: 1px solid rgba(26, 43, 40, .08); color: var(--qbio-muted); font-size: 11px; line-height: 1.35; }
.network-edge-type { color: var(--qbio-accent); font-weight: 800; }
.network-edge-date { font-variant-numeric: tabular-nums; }
.network-edge-evidence { color: var(--ink); font-weight: 700; }
.network-edge-captured { font-variant-numeric: tabular-nums; }
.network-edge-source { min-width: 0; color: var(--qbio-muted); overflow-wrap: anywhere; text-decoration: none; }
.network-edge-source:hover { color: var(--qbio-accent); text-decoration: underline; }
.network-more { min-height: 40px; margin-top: 16px; border: 1px solid var(--line); border-radius: 10px; background: transparent; color: var(--ink); cursor: pointer; font: inherit; font-size: 13px; font-weight: 700; padding: 0 14px; }
.network-more:hover { border-color: var(--qbio-accent); background: var(--accent-soft); }
.network-method { max-width: 920px; border-top: 1px solid var(--line); padding-top: 28px; }
.disclosure { margin-top: 18px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.disclosure summary { min-height: 48px; display: flex; align-items: center; justify-content: space-between; gap: 18px; color: var(--ink); cursor: pointer; font-size: 13px; font-weight: 700; list-style: none; }
.disclosure summary::-webkit-details-marker { display: none; }
.disclosure summary::after { content: "+"; margin-left: auto; color: var(--qbio-accent); font-size: 18px; font-weight: 400; }
.disclosure[open] summary::after { content: "−"; }
.disclosure summary strong { color: var(--qbio-muted); font-size: 12px; font-weight: 400; white-space: nowrap; }
.disclosure > p { max-width: 720px; margin: 0; padding: 0 0 16px; color: var(--qbio-muted); font-size: 13px; line-height: 1.5; }
.pipeline-stat-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; overflow: hidden; margin: 0 0 16px; border: 1px solid var(--line); border-radius: var(--qbio-radius); background: var(--line); }
.pipeline-stat-grid span { min-width: 0; display: grid; gap: 3px; padding: 12px 14px; background: var(--paper); }
.pipeline-stat-grid strong { color: var(--ink); font-size: 18px; line-height: 1; font-variant-numeric: tabular-nums; }
.pipeline-stat-grid em { color: var(--qbio-muted); font-size: 11px; font-style: normal; line-height: 1.25; }
.source-contribution { max-width: 920px; }
.source-contribution-list { display: grid; margin-top: 16px; border-top: 1px solid var(--line); }
.source-contribution-row { display: grid; grid-template-columns: minmax(170px, 1fr) minmax(88px, .56fr) minmax(120px, auto) minmax(130px, auto); gap: 18px; align-items: center; min-height: 58px; border-bottom: 1px solid var(--line); }
.source-identity { min-width: 0; display: flex; align-items: baseline; gap: 10px; }
.source-identity strong { font-size: 14px; }
.source-identity small { color: var(--qbio-muted); font-size: 10px; letter-spacing: .06em; }
.source-publication-meter { min-width: 0; }
.source-publication-meter .av-meter__value { background: linear-gradient(90deg, var(--qbio-accent), #38a090); }
.source-metric { color: var(--ink); font-size: 13px; font-variant-numeric: tabular-nums; text-align: right; }
.source-metric-muted { color: var(--qbio-muted); }
.source-watchlist { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--line); }
.source-watch-item { min-width: 0; display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 50px; border-bottom: 1px solid var(--line); padding-right: 14px; }
.source-watch-item:nth-child(even) { border-left: 1px solid var(--line); padding-left: 14px; padding-right: 0; }
.source-watch-item > span { color: var(--qbio-muted); font-size: 12px; font-variant-numeric: tabular-nums; white-space: nowrap; }
.source-disclosure { margin-top: 16px; }
.publication-note { max-width: 920px; }
.consumer-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-top: 18px; }
.consumer-card { min-height: 154px; display: flex; flex-direction: column; border: 1px solid var(--line); border-radius: var(--qbio-radius); background: var(--qbio-card); padding: 15px; }
.consumer-card .card-kind { margin-bottom: 12px; }
.consumer-card .card-title { margin-bottom: 12px; }
.consumer-flows { display: grid; gap: 8px; margin-top: auto; }
.consumer-flows small { color: var(--qbio-muted); font-size: 12px; line-height: 1.4; }
.consumer-summary { margin: 16px 0 0; }
.consumer-summary > div { min-height: 72px; }
.consumer-summary strong { font-size: 24px; }
.consumer-summary-production strong { color: var(--qbio-accent); }
.consumer-summary-pilot strong { color: #86651e; }
.consumer-summary-planned strong { color: var(--qbio-muted); }
.consumer-status { display: inline-flex; align-items: center; gap: 6px; }
.consumer-status::before { width: 7px; height: 7px; flex: 0 0 7px; border-radius: 50%; background: currentColor; content: ""; }
.consumer-production { border-color: rgba(18, 114, 103, .45); }
.consumer-production .consumer-status { color: var(--qbio-accent); }
.consumer-pilot { background: rgba(255,255,255,.74); }
.consumer-pilot .consumer-status { color: #86651e; }
.consumer-planned { background: rgba(255,255,255,.48); }
.consumer-planned .consumer-status { color: var(--qbio-muted); }
.coverage-quality { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin: 14px 0 0; }
.coverage-quality-item { min-width: 0; border-top: 1px solid var(--line); padding: 12px 0 2px; }
.coverage-quality-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
.coverage-quality-heading strong { font-size: 14px; line-height: 1.2; }
.coverage-quality-heading span { color: var(--qbio-accent); font-size: 16px; font-weight: 800; font-variant-numeric: tabular-nums; }
.coverage-quality-track { margin: 10px 0 8px; }
.coverage-quality-track .av-progress__bar { background: linear-gradient(90deg, var(--qbio-accent), #38a090); }
.coverage-quality-item small { display: block; color: var(--qbio-muted); font-size: 11px; line-height: 1.35; }
.data-access { max-width: 920px; padding: 34px 0 54px; border-top: 1px solid var(--line); }
.endpoint-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-top: 20px; }
.preset-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.endpoint-card { min-height: 126px; display: flex; flex-direction: column; gap: 9px; border: 1px solid var(--line); border-radius: var(--qbio-radius); background: rgba(255,255,255,.66); padding: 14px; text-decoration: none; }
.endpoint-card:hover { border-color: var(--qbio-accent); background: var(--qbio-card); }
.endpoint-card span { color: var(--qbio-accent); font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.endpoint-card strong { color: var(--ink); font-size: 13px; line-height: 1.25; overflow-wrap: anywhere; }
.endpoint-card small { margin-top: auto; color: var(--qbio-muted); font-size: 12px; line-height: 1.35; }
.api-resolver { margin-top: 18px; border-top: 1px solid var(--line); padding-top: 18px; }
.api-resolver label { display: block; margin-bottom: 8px; color: var(--ink); font-size: 13px; font-weight: 700; }
.resolve-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; max-width: 640px; }
.resolve-row input { min-width: 0; height: 42px; border: 1px solid var(--line); border-radius: 10px; background: var(--qbio-card); color: var(--ink); font: inherit; padding: 0 13px; }
.resolve-row input:focus { border-color: var(--qbio-accent); box-shadow: 0 0 0 3px var(--accent-soft); outline: none; }
.resolve-row button { height: 42px; border: 1px solid var(--ink); border-radius: 10px; background: var(--ink); color: white; cursor: pointer; font: inherit; font-size: 13px; font-weight: 700; padding: 0 14px; }
.resolve-row button:hover { border-color: var(--qbio-accent); background: var(--qbio-accent); }
.resolve-results { display: grid; gap: 6px; max-width: 640px; margin-top: 10px; }
.resolve-message { margin: 0; color: var(--qbio-muted); font-size: 13px; }
.resolve-result { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px 14px; align-items: baseline; border-bottom: 1px solid var(--line); padding: 9px 0; color: var(--ink); text-decoration: none; }
.resolve-result:hover strong { color: var(--qbio-accent); }
.resolve-result strong { font-size: 14px; line-height: 1.25; }
.resolve-result span { color: var(--qbio-muted); font-size: 12px; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; overflow-wrap: anywhere; }
.resolve-result small { grid-column: 1 / -1; color: var(--qbio-muted); font-size: 12px; }
.about { max-width: 760px; padding: 40px 0 74px; border-top: 1px solid var(--line); }
.about h2 { margin-bottom: 14px; }
.about p:last-child { margin-bottom: 0; color: var(--qbio-muted); line-height: 1.55; }
.profile-shell { width: 100%; }
.profile { max-width: 980px; padding-bottom: 30px; }
.back-link { display: inline-flex; margin-bottom: 22px; color: var(--qbio-accent); font-size: 13px; font-weight: 700; text-decoration: none; }
.back-link:hover { text-decoration: underline; }
.profile-proof { color: var(--qbio-muted); font-size: 13px; }
.profile-locale-fallback { margin: 12px 0; padding: 10px 12px; border-left: 3px solid var(--qbio-accent); background: color-mix(in srgb, var(--qbio-accent) 8%, transparent); color: var(--qbio-text); font-size: 14px; }
.profile-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; margin-top: 14px; }
.profile-action { min-height: 36px; display: inline-flex; align-items: center; border: 1px solid var(--ink); border-radius: 9px; background: var(--ink); color: #fff; cursor: pointer; font: inherit; font-size: 12px; font-weight: 700; padding: 0 12px; text-decoration: none; }
.profile-action:hover { border-color: var(--qbio-accent); background: var(--qbio-accent); }
.profile-action-secondary { border-color: var(--line); background: transparent; color: var(--ink); }
.profile-action-secondary:hover { border-color: var(--qbio-accent); background: var(--accent-soft); color: var(--qbio-accent); }
.profile-action-status { min-height: 18px; color: var(--qbio-muted); font-size: 12px; }
.profile-columns { display: grid; grid-template-columns: minmax(280px, 340px) minmax(0, 1fr); gap: 36px; align-items: start; padding-bottom: 44px; }
.profile-columns-single { grid-template-columns: minmax(0, 720px); }
.profile-sidebar { min-width: 0; position: sticky; top: 18px; }
.profile-main { min-width: 0; }
.profile-overview { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; margin: 0; border: 1px solid var(--line); border-radius: var(--qbio-radius); overflow: hidden; background: var(--line); }
.overview-title { grid-column: 1 / -1; background: var(--qbio-card); padding: 14px 16px; font-size: 16px; }
.overview-item { min-height: 78px; display: flex; flex-direction: column; gap: 8px; background: rgba(255,255,255,.72); padding: 14px 16px; min-width: 0; }
.overview-item span { color: var(--qbio-muted); font-size: 12px; }
.overview-item strong, .overview-item a { color: var(--ink); font-size: 13px; font-weight: 700; line-height: 1.35; overflow-wrap: anywhere; }
.overview-item a { color: var(--qbio-accent); }
.overview-item:last-child:nth-child(even) { grid-column: 1 / -1; }
.profile-section { width: 100%; padding: 0 0 30px; }
.profile-sidebar .profile-section { margin-top: 24px; padding-bottom: 0; border-top: 0; }
.profile-section h2 { margin-bottom: 18px; }
.role-list { display: grid; gap: 0; margin-top: 18px; border-top: 1px solid var(--line); }
.role { display: grid; grid-template-columns: 1.4fr 1.4fr 1fr; gap: 14px; padding: 13px 0; border-bottom: 1px solid var(--line); font-size: 14px; }
.role span { color: var(--qbio-muted); }
.role-organisation { color: var(--qbio-accent); text-decoration: none; }
.role-organisation:hover { text-decoration: underline; }
.role .role-dates { text-align: right; font-variant-numeric: tabular-nums; }
.profile-section-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 18px; }
.profile-section-heading h2 { margin-bottom: 18px; }
.profile-section-heading a { color: var(--qbio-accent); font-size: 12px; font-weight: 700; text-decoration: none; }
.profile-section-heading a:hover { text-decoration: underline; }
.timeline-list { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.timeline-item { display: grid; grid-template-columns: 12px minmax(0, 1fr); gap: 14px; padding: 15px 0; border-bottom: 1px solid var(--line); }
.timeline-marker { width: 10px; height: 10px; margin-top: 5px; border: 2px solid var(--qbio-accent); border-radius: 50%; background: var(--qbio-card); box-shadow: 0 0 0 3px var(--accent-soft); }
.timeline-body { display: grid; gap: 6px; min-width: 0; }
.timeline-meta { display: flex; align-items: baseline; justify-content: space-between; gap: 14px; color: var(--qbio-muted); font-size: 11px; }
.timeline-kind { color: var(--qbio-accent); font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.timeline-meta time { font-variant-numeric: tabular-nums; text-align: right; }
.timeline-body strong { color: var(--ink); font-size: 15px; line-height: 1.3; overflow-wrap: anywhere; }
.timeline-detail { color: var(--qbio-muted); font-size: 13px; line-height: 1.35; overflow-wrap: anywhere; }
.timeline-entity, .timeline-source { color: var(--qbio-accent); text-decoration: none; }
.timeline-entity:hover, .timeline-source:hover { text-decoration: underline; }
.timeline-source { justify-self: start; font-size: 12px; }
.compact-list, .source-list { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.compact-list li, .source-list li { padding: 12px 0; border-bottom: 1px solid var(--line); font-size: 14px; }
.source-list a, .place a { color: var(--qbio-accent); }
.source-list span { color: var(--qbio-muted); }
.bio-fact-list { display: grid; gap: 14px; }
.bio-fact { padding: 16px 18px; border: 1px solid var(--line); border-radius: 16px; background: rgba(255,255,255,.56); }
.bio-fact h3 { margin: 0 0 8px; color: var(--qbio-muted); font-size: 12px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.bio-fact p { max-width: 72ch; margin: 0; color: var(--ink); font-size: 14px; line-height: 1.55; }
.fact-list { display: grid; gap: 0; border-top: 1px solid var(--line); }
.fact-row { display: grid; grid-template-columns: minmax(140px, .55fr) minmax(0, 1.45fr); gap: 16px; padding: 12px 0; border-bottom: 1px solid var(--line); }
.fact-row span { color: var(--qbio-muted); font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.fact-row strong { color: var(--ink); font-size: 14px; line-height: 1.45; overflow-wrap: anywhere; }
.connection-list, .place-list { display: grid; gap: 0; border-top: 1px solid var(--line); }
.federated-card-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.federated-card { display: flex; min-height: 96px; flex-direction: column; justify-content: space-between; gap: 18px; border: 1px solid var(--line); border-radius: 16px; background: rgba(255,255,255,.62); padding: 16px; color: var(--ink); text-decoration: none; }
.federated-card:hover { border-color: var(--qbio-accent); background: var(--accent-soft); }
.federated-card strong { font-size: 15px; line-height: 1.35; }
.federated-card span { color: var(--qbio-muted); font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.connection, .place { display: grid; grid-template-columns: 1.4fr 1fr; gap: 14px; padding: 12px 0; border-bottom: 1px solid var(--line); color: var(--ink); font-size: 14px; text-decoration: none; }
.connection:hover strong { color: var(--qbio-accent); }
.connection span, .place span { color: var(--qbio-muted); }
.place a { justify-self: start; font-size: 13px; }
.place-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 7px 10px; min-width: 0; }
.place-meta > span:first-child { flex: 1 1 100%; }
.place-status { display: inline-flex; align-items: center; min-height: 24px; border: 1px solid var(--line); border-radius: 999px; background: #f5f9f7; padding: 2px 8px; color: var(--qbio-muted); font-size: 11px; }
.place-status-published { border-color: #a6d8ca; background: var(--accent-soft); color: var(--qbio-accent); }
.place-source { flex: 1 1 100%; min-width: 0; overflow-wrap: anywhere; }
.site-footer { min-height: 76px; display: flex; align-items: center; flex-wrap: wrap; gap: 12px 22px; border-top: 1px solid var(--line); color: var(--qbio-muted); font-size: 13px; }
.site-footer span { color: var(--ink); font-weight: 700; letter-spacing: .06em; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }

/* Public information architecture: overview first, browseable catalog second. */
.home-intro { max-width: 900px; padding: 56px 0 24px; }
.home-intro h1 { max-width: 850px; }
.home-intro .lede { max-width: 760px; margin-bottom: 0; }
.compact-intro { padding: 52px 0 28px; }
.compact-intro h1 { font-size: clamp(36px, 6vw, 54px); }
.home-search { display: flex; align-items: stretch; gap: 8px; width: min(100%, 680px); }
.home-search label { flex: 1; }
.home-search input { width: 100%; }
.home-search button, .primary-link { border: 0; border-radius: 10px; background: var(--ink); color: #fff; cursor: pointer; font: inherit; font-weight: 700; padding: 0 18px; text-decoration: none; }
.home-search button:hover, .primary-link:hover { background: var(--qbio-accent); }
.stat-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; margin: 0 0 32px; border: 1px solid var(--line); border-radius: var(--qbio-radius); overflow: hidden; background: var(--line); }
.stat-grid > a, .stat-grid > div { min-height: 84px; display: flex; flex-direction: column; justify-content: center; gap: 6px; background: var(--qbio-card); color: var(--ink); padding: 14px 16px; text-decoration: none; }
.stat-grid > a:hover { background: var(--accent-soft); }
.stat-grid strong { font-size: 28px; letter-spacing: -.04em; line-height: 1; font-variant-numeric: tabular-nums; }
.stat-grid span { color: var(--qbio-muted); font-size: 13px; line-height: 1.25; }
.data-density { padding-top: 24px; }
.home-density-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1px; margin-top: 16px; border: 1px solid var(--line); border-radius: 12px; overflow: hidden; background: var(--line); }
.home-density-grid > div { min-height: 76px; display: flex; flex-direction: column; justify-content: center; gap: 7px; background: rgba(255,255,255,.74); padding: 12px 14px; }
.home-density-grid strong { font-size: 24px; line-height: 1; letter-spacing: -.04em; font-variant-numeric: tabular-nums; }
.home-density-grid span { color: var(--qbio-muted); font-size: 12px; line-height: 1.3; }
.density-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-top: 18px; }
.density-grid > div { min-height: 96px; display: flex; flex-direction: column; justify-content: space-between; gap: 10px; border: 1px solid var(--line); border-radius: var(--qbio-radius); background: rgba(255,255,255,.74); padding: 14px; }
.density-grid strong { font-size: 28px; line-height: 1; letter-spacing: -.04em; font-variant-numeric: tabular-nums; }
.density-grid span { color: var(--qbio-muted); font-size: 12px; line-height: 1.35; }
.density-grid small { color: var(--qbio-muted); font-size: 11px; line-height: 1.3; }
.density-grid-secondary > div { min-height: 78px; background: rgba(255,255,255,.48); }
.density-grid-secondary strong { font-size: 24px; }
.density-heading { margin-top: 30px; padding-top: 28px; border-top: 1px solid var(--line); }
.compact-density { margin-bottom: 26px; }
.compact-density > div { min-height: 88px; }
.home-section { max-width: 1180px; padding: 24px 0 34px; border-top: 1px solid var(--line); }
.section-link { color: var(--qbio-accent); font-size: 14px; font-weight: 700; text-decoration: none; }
.section-link:hover { text-decoration: underline; }
.route-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-top: 16px; }
.route-card { min-height: 118px; display: flex; flex-direction: column; position: relative; border: 1px solid var(--line); border-radius: var(--qbio-radius); background: var(--qbio-card); color: var(--ink); padding: 14px 38px 14px 15px; text-decoration: none; }
.route-card::after { content: "↗"; position: absolute; top: 13px; right: 14px; color: var(--qbio-muted); font-size: 15px; }
.route-card:hover { border-color: var(--qbio-accent); background: #fafffd; }
.route-card:hover::after { color: var(--qbio-accent); }
.route-card span { color: var(--qbio-accent); font-size: 11px; font-weight: 800; letter-spacing: .1em; }
.route-card strong { margin-top: 16px; font-size: 18px; }
.route-card small { margin-top: 6px; color: var(--qbio-muted); font-size: 12px; line-height: 1.35; }
.featured-section { max-width: 1180px; }
.cards-compact { margin-top: 16px; }
.cards-compact .card { min-height: 164px; padding: 15px; }
.card-featured .card-kind { margin-bottom: 12px; }
.card-featured .card-title { margin-bottom: 7px; }
.card-featured .card-summary { display: -webkit-box; min-height: 38px; overflow: hidden; color: var(--ink); font-size: 13px; line-height: 1.4; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.card-featured .card-signals { margin-top: auto; padding-top: 12px; }
.card-featured .card-proof { margin-top: 0; padding-top: 9px; font-size: 11px; }
.geo-callout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, 430px); gap: 28px; align-items: stretch; }
.geo-callout-copy { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; max-width: 620px; padding: 8px 0; }
.geo-callout p { margin: 12px 0 0; color: var(--qbio-muted); line-height: 1.5; }
.geo-callout .primary-link { min-height: 44px; display: inline-flex; align-items: center; white-space: nowrap; }
.geo-callout-copy .primary-link { margin-top: 20px; }
.home-map-preview { min-height: 220px; }
.home-map-preview .map-canvas { min-height: 176px; padding: 12px 18px; }
.home-map-preview .map-canvas svg { min-height: 154px; }
.home-map-preview .map-status { padding: 10px 13px; }
.pagination { display: flex; align-items: center; gap: 6px; margin-top: 22px; }
.pagination button { min-width: 36px; height: 34px; border: 1px solid var(--line); border-radius: 8px; background: var(--qbio-card); color: var(--ink); cursor: pointer; font: inherit; }
.pagination button:hover:not(:disabled), .pagination button.is-current { border-color: var(--ink); background: var(--ink); color: #fff; }
.pagination button:disabled { cursor: not-allowed; opacity: .38; }
.map-panel { display: grid; grid-template-columns: minmax(0, .9fr) minmax(360px, 1.1fr); gap: 28px; align-items: stretch; padding: 24px 0 38px; border-top: 1px solid var(--line); }
.map-panel-copy { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: 12px 0; }
.map-panel-copy h2 { max-width: 540px; font-size: clamp(28px, 4vw, 38px); letter-spacing: -.04em; }
.map-panel-copy p { max-width: 610px; margin: 16px 0 22px; color: var(--qbio-muted); font-size: 16px; line-height: 1.5; }
.map-panel-copy .primary-link { min-height: 44px; display: inline-flex; align-items: center; }
.map-preview { min-height: 310px; display: flex; flex-direction: column; justify-content: stretch; border: 1px solid #285e58; border-radius: var(--qbio-radius); background: #103f3a; color: #f9fffc; overflow: hidden; }
.map-canvas { min-height: 270px; flex: 1; display: grid; place-items: center; padding: 16px; }
.map-canvas svg { width: 100%; height: 100%; min-height: 250px; overflow: visible; }
.map-region { fill: #2b786f; stroke: #d4eee7; stroke-width: .55; vector-effect: non-scaling-stroke; transition: fill .16s ease; }
.map-region:hover { fill: #54a697; }
.map-status { margin: 0; padding: 14px 16px; border-top: 1px solid rgba(255,255,255,.15); color: #d3ece6; font-size: 12px; line-height: 1.4; }
.map-status a { color: white; font-weight: 700; }
.compact-stats { margin: 20px 0 0; }
.compact-stats > div { min-height: 84px; }
.geo-publication { max-width: 920px; }
.stat-grid.geo-stats { grid-template-columns: repeat(6, minmax(0, 1fr)); margin: 16px 0 0; }
.geo-stats > div { min-height: 76px; }
.content-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 20px; }
.content-panel { border-top: 1px solid var(--line); padding: 18px 0 6px; }
.content-panel h2 { margin-bottom: 10px; }
.content-panel p { color: var(--qbio-muted); line-height: 1.55; }
.content-panel a { color: var(--qbio-accent); font-weight: 700; text-decoration: none; }
.content-panel a:hover { text-decoration: underline; }
.correction-layout { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr); gap: 28px; align-items: start; }
.public-form { display: grid; gap: 14px; }
.public-form .section-title { margin-bottom: 2px; }
.public-form label, .receipt-form label { display: grid; gap: 7px; color: var(--ink); font-size: 13px; font-weight: 700; }
.public-form input, .public-form textarea, .receipt-form input { width: 100%; border: 1px solid var(--line); border-radius: 10px; background: var(--qbio-card); color: var(--ink); font: inherit; padding: 12px 13px; }
.public-form textarea { resize: vertical; line-height: 1.45; }
.public-form input:focus, .public-form textarea:focus, .receipt-form input:focus { border-color: var(--qbio-accent); box-shadow: 0 0 0 3px var(--accent-soft); outline: none; }
.public-form .primary-link, .receipt-form button { justify-self: start; min-height: 42px; border: 0; border-radius: 10px; background: var(--ink); color: #fff; cursor: pointer; font: inherit; font-weight: 700; padding: 0 16px; }
.public-form .primary-link:hover, .receipt-form button:hover { background: var(--qbio-accent); }
.public-form :disabled, .receipt-form :disabled { cursor: wait; opacity: .62; }
.correction-rules { margin-top: 0; border: 1px solid var(--line); border-radius: var(--qbio-radius); background: rgba(255,255,255,.58); padding: 18px; }
.correction-rules p { color: var(--qbio-muted); line-height: 1.5; }
.receipt-form { display: grid; gap: 10px; margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--line); }

@media (max-width: 900px) {
  .site-header { align-items: flex-start; padding-top: 18px; padding-bottom: 16px; }
  .header-actions { min-width: 0; gap: 14px; }
  .site-header nav { max-width: min(100%, 680px); flex-wrap: nowrap; justify-content: flex-end; gap: 10px 14px; white-space: nowrap; }
  .route-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .reference-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .consumer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .source-registry-list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .home-density-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-density-grid > div:last-child { grid-column: 1 / -1; }
  .density-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .map-panel { grid-template-columns: 1fr; }
  .geo-callout { grid-template-columns: minmax(0, 1fr) minmax(280px, 360px); }
  .correction-layout { grid-template-columns: 1fr; gap: 18px; }
  .network-layout { grid-template-columns: 1fr; gap: 28px; }
  .watchlist-layout { grid-template-columns: 1fr; gap: 28px; }
  .compare-grid.compare-count-3,
  .compare-grid.compare-count-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .profile-columns { grid-template-columns: 1fr; gap: 8px; }
  .profile-sidebar { position: static; }
}

@media (max-width: 700px) {
  .site-header, main, .site-footer { padding-left: 16px; padding-right: 16px; }
  .site-header { min-height: auto; display: block; padding-top: 11px; padding-bottom: 0; }
  .brand { display: inline-flex; min-height: 34px; align-items: center; margin-bottom: 0; }
  .header-actions { display: block; }
  .site-header nav { display: flex; max-width: none; margin: 0 -16px; padding: 0 16px 7px; overflow-x: auto; overscroll-behavior-inline: contain; flex-wrap: nowrap; justify-content: flex-start; gap: 20px; font-size: 13px; scrollbar-width: none; scroll-snap-type: x proximity; }
  .site-header nav::-webkit-scrollbar { display: none; }
  .site-header nav a { flex: 0 0 auto; scroll-snap-align: start; white-space: nowrap; }
  .site-header nav a, .site-footer a, .reference-source, .section-link { display: inline-flex; min-height: 36px; align-items: center; }
  .home-intro, .compact-intro { padding-top: 36px; }
  h1 { font-size: clamp(33px, 10vw, 44px); line-height: 1; }
  .lede { font-size: 16px; }
  .home-search { display: block; }
  .home-search button { width: 100%; min-height: 46px; margin-top: 8px; }
  .coverage-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .coverage-strip div { min-height: 64px; padding: 12px; }
  .coverage-strip strong { font-size: 20px; }
  .stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-bottom: 28px; }
  .stat-grid > a, .stat-grid > div { min-height: 78px; padding: 12px 13px; }
  .stat-grid strong { font-size: 25px; }
  .cards { grid-template-columns: 1fr; gap: 10px; }
  .reference-list { grid-template-columns: 1fr; gap: 8px; }
  .card { min-height: 0; padding: 14px; }
  .card-kind { margin-bottom: 12px; }
  .directory-card { min-height: 164px; }
  .directory-card-organisation .card-title { -webkit-line-clamp: 3; }
  .directory-card .card-signals { padding-top: 10px; }
  .route-grid { grid-template-columns: 1fr; }
  .route-card { min-height: 0; padding: 13px 40px 13px 14px; }
  .route-card strong { margin-top: 9px; }
  .route-card strong { font-size: 16px; }
  .route-card small { font-size: 12px; }
  .density-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-density-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-density-grid > div { min-height: 72px; padding: 11px 12px; }
  .home-density-grid > div:last-child { grid-column: 1 / -1; }
  .home-density-grid strong { font-size: 22px; }
  .density-grid > div { min-height: 88px; padding: 12px; }
  .density-grid strong { font-size: 24px; }
  .geo-callout { grid-template-columns: 1fr; gap: 20px; }
  .section-title { align-items: flex-start; flex-direction: column; }
  .network-actions { width: 100%; justify-content: flex-start; }
  .profile-actions { align-items: stretch; }
  .profile-action { flex: 1 1 auto; justify-content: center; }
  .pipeline-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .source-registry-list, .endpoint-grid, .content-grid, .consumer-grid { grid-template-columns: 1fr; }
  .network-controls { grid-template-columns: 1fr; }
  .network-summary { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .network-summary > div { min-height: 68px; padding: 11px 12px; }
  .network-summary strong { font-size: 22px; }
  .network-edge-connection { grid-template-columns: minmax(0, 1fr); gap: 7px; }
  .network-edge-connection .network-node-link:last-child { align-items: flex-start; text-align: left; }
  .network-node-link strong { overflow: visible; white-space: normal; overflow-wrap: anywhere; }
  .network-edge-arrow { transform: rotate(90deg); transform-origin: left center; margin-left: 2px; }
  .coverage-quality { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .source-contribution-row { grid-template-columns: minmax(0, 1fr) auto; gap: 5px 12px; padding: 10px 0; }
  .source-identity { flex-wrap: wrap; }
  .source-identity small { min-width: 0; overflow-wrap: anywhere; word-break: break-word; }
  .source-publication-meter { grid-column: 1 / -1; grid-row: 2; margin: 2px 0 3px; }
  .source-contribution-row .source-metric { grid-row: 3; }
  .source-contribution-row .source-metric-muted { grid-column: 1 / -1; text-align: left; }
  .coverage-quality { grid-template-columns: 1fr; gap: 0; }
  .coverage-quality-item { padding: 12px 0; }
  .av-chart-heading { align-items: flex-start; flex-direction: column; gap: 4px; }
  .pipeline-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .source-watchlist { grid-template-columns: 1fr; }
  .source-watch-item, .source-watch-item:nth-child(even) { border-left: 0; padding-left: 0; padding-right: 0; }
  .disclosure summary { min-height: 52px; }
  .resolve-row, .resolve-result { grid-template-columns: 1fr; }
  .resolve-row button { width: 100%; }
  .source-coverage-list { grid-template-columns: 1fr; }
  .source-coverage-item, .source-coverage-item:nth-child(even) { padding: 14px 0; border-left: 0; }
  .cards-compact .card:nth-child(n + 4) { display: none; }
  .profile { padding-top: 36px; }
  .profile-overview { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .overview-item { min-height: 72px; padding: 12px; }
  .role, .connection, .place, .fact-row { grid-template-columns: 1fr; gap: 4px; }
  .role .role-dates { text-align: left; }
  .map-preview, .map-canvas { min-height: 240px; }
  .map-canvas svg { min-height: 210px; }
  .site-footer { align-items: flex-start; gap: 12px 18px; padding-top: 20px; padding-bottom: 20px; }
}

@media print {
  @page { margin: 16mm 14mm; }

  body[data-page="profile"] {
    background: #fff;
    color: #111;
  }

  body[data-page="profile"] .site-header,
  body[data-page="profile"] .site-footer,
  body[data-page="profile"] .back-link,
  body[data-page="profile"] .profile-actions,
  body[data-page="profile"] .overview-watchlist,
  body[data-page="profile"] .overview-compare,
  body[data-page="profile"] .profile-json-link {
    display: none !important;
  }

  body[data-page="profile"] main {
    max-width: none;
    padding: 0;
  }

  body[data-page="profile"] .profile {
    display: block;
    max-width: none;
    padding: 0 0 12mm;
  }

  body[data-page="profile"] .profile h1 {
    max-width: 180mm;
    margin-bottom: 4mm;
    font-size: 30pt;
  }

  body[data-page="profile"] .profile-columns {
    display: grid;
    grid-template-columns: 56mm minmax(0, 1fr);
    gap: 10mm;
    padding-bottom: 0;
  }

  body[data-page="profile"] .profile-sidebar {
    position: static;
  }

  body[data-page="profile"] .profile-section,
  body[data-page="profile"] .bio-fact,
  body[data-page="profile"] .profile-overview {
    break-inside: avoid;
    box-shadow: none;
  }

  body[data-page="profile"] .profile-overview,
  body[data-page="profile"] .bio-fact {
    border-color: #b9c4bf;
    background: #fff;
  }

  body[data-page="profile"] a {
    color: #111;
    text-decoration: none;
  }

  body[data-page="profile"] .timeline-source::after,
  body[data-page="profile"] .source-list a::after {
    color: #555;
    content: " (" attr(href) ")";
    font-size: 8pt;
    overflow-wrap: anywhere;
  }
}

@media (min-width: 701px) {
  .consumer-summary {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 370px) {
  .density-grid { grid-template-columns: 1fr; }
  .pipeline-grid { grid-template-columns: 1fr; }
}

/* QAZ.BIO visual refinement pass: quiet editorial surfaces, clearer hierarchy,
   and more deliberate interaction states across every public route. */
:root {
  --paper: hsl(var(--background));
  --qbio-card: hsl(var(--card));
  --ink: hsl(var(--foreground));
  --qbio-muted: hsl(var(--muted-foreground));
  --line: hsl(var(--border));
  --qbio-accent: hsl(var(--primary));
  --accent-soft: hsl(var(--accent));
  --shadow-soft: var(--shadow-sm);
}

html {
  background: var(--paper);
  color: var(--ink);
  font-family: var(--font-sans);
  text-rendering: optimizeLegibility;
}

body {
  min-width: 320px;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  background: var(--paper);
}

main {
  width: 100%;
  flex: 1 0 auto;
}

button,
input,
textarea {
  font-family: inherit;
}

::selection {
  background: var(--accent-soft);
  color: var(--ink);
}

.site-header {
  min-height: 74px;
  border-bottom-color: rgb(122 146 137 / 28%);
}

.brand {
  font-size: 19px;
  letter-spacing: .075em;
}

.site-header nav {
  gap: 21px;
  font-size: 13px;
}

.site-header nav a,
.site-footer a {
  transition: color var(--av-duration-fast) cubic-bezier(var(--av-easing-standard));
}

.site-header nav a[aria-current="page"] {
  text-decoration-thickness: 1px;
  text-underline-offset: 8px;
}

.intro {
  padding-top: 78px;
}

.home-intro {
  padding-top: 64px;
  padding-bottom: 30px;
}

.compact-intro {
  padding-top: 66px;
  padding-bottom: 34px;
}

h1 {
  font-weight: 800;
  letter-spacing: -.055em;
}

h2 {
  font-weight: 800;
  letter-spacing: -.03em;
}

.lede {
  color: var(--qbio-muted);
  line-height: 1.55;
}

.search {
  margin-top: 32px;
}

.search input,
.resolve-row input,
.public-form input,
.public-form textarea,
.receipt-form input {
  border-color: #cfdcd6;
  border-radius: 12px;
  background: rgb(255 255 255 / 88%);
  box-shadow: inset 0 1px 1px rgb(20 33 30 / 3%);
  transition: border-color var(--av-duration-fast) cubic-bezier(var(--av-easing-standard)), box-shadow var(--av-duration-fast) cubic-bezier(var(--av-easing-standard));
}

.search input::placeholder,
.resolve-row input::placeholder,
.public-form input::placeholder,
.public-form textarea::placeholder,
.receipt-form input::placeholder {
  color: #81908b;
}

.search input:focus,
.resolve-row input:focus,
.public-form input:focus,
.public-form textarea:focus,
.receipt-form input:focus {
  border-color: var(--qbio-accent);
  box-shadow: 0 0 0 4px rgb(12 112 101 / 13%), inset 0 1px 1px rgb(20 33 30 / 3%);
}

.home-search button,
.primary-link,
.resolve-row button,
.public-form .primary-link,
.receipt-form button {
  min-height: 46px;
  border-radius: 12px;
  box-shadow: 0 2px 3px rgb(20 33 30 / 13%);
  transition: background var(--av-duration-fast) cubic-bezier(var(--av-easing-standard)), transform var(--av-duration-fast) cubic-bezier(var(--av-easing-standard)), box-shadow var(--av-duration-fast) cubic-bezier(var(--av-easing-standard));
}

.home-search button:hover,
.primary-link:hover,
.resolve-row button:hover,
.public-form .primary-link:hover,
.receipt-form button:hover {
  box-shadow: 0 6px 14px rgb(12 112 101 / 16%);
  transform: translateY(-1px);
}

.stat-grid,
.coverage-strip,
.pipeline-stat-grid,
.home-density-grid,
.profile-overview {
  border-color: #cfdcd6;
  box-shadow: var(--shadow-soft);
}

.stat-grid > a,
.stat-grid > div,
.coverage-strip div,
.pipeline-stat-grid span,
.home-density-grid > div,
.profile-overview > * {
  background: rgb(255 255 255 / 88%);
}

.stat-grid > a:hover {
  background: var(--accent-soft);
}

.stat-grid strong,
.home-density-grid strong,
.density-grid strong {
  font-weight: 800;
}

.directory,
.home-section,
.source-coverage,
.data-access,
.map-panel {
  border-top-color: rgb(122 146 137 / 30%);
}

.directory {
  padding-top: 30px;
}

.section-title {
  gap: 24px;
}

.section-title h2 {
  font-size: 23px;
}

.filters,
.reference-tabs {
  gap: 7px;
}

.filter {
  min-height: 36px;
  border-color: #cbd9d3;
  background: rgb(255 255 255 / 62%);
  padding: 0 14px;
  transition: background var(--av-duration-fast) cubic-bezier(var(--av-easing-standard)), border-color var(--av-duration-fast) cubic-bezier(var(--av-easing-standard)), color var(--av-duration-fast) cubic-bezier(var(--av-easing-standard));
}

.filter:hover:not(.is-active) {
  border-color: var(--qbio-accent);
  color: var(--qbio-accent);
}

.filter.is-active {
  background: var(--ink);
  box-shadow: 0 2px 4px rgb(20 33 30 / 12%);
}

.cards {
  gap: 14px;
}

.card,
.consumer-card,
.endpoint-card,
.route-card,
.bio-fact,
.correction-rules {
  border-color: #d2ded9;
  border-radius: 16px;
  box-shadow: var(--shadow-soft);
  transition: border-color var(--av-duration-fast) cubic-bezier(var(--av-easing-standard)), background var(--av-duration-fast) cubic-bezier(var(--av-easing-standard));
}

.card:hover,
.route-card:hover,
.endpoint-card:hover,
.consumer-card:hover {
  border-color: rgb(12 112 101 / 55%);
  background: #ffffff;
}

.card:focus-visible,
.route-card:focus-visible,
.endpoint-card:focus-visible,
.consumer-card:focus-visible {
  border-color: var(--qbio-accent);
  box-shadow: 0 0 0 4px rgb(12 112 101 / 13%), var(--shadow-soft);
}

.card-kind,
.route-card span,
.endpoint-card span {
  letter-spacing: .13em;
}

.card-title {
  font-weight: 800;
  letter-spacing: -.02em;
}

.card-signals span {
  border-color: #d2ded9;
  background: #f7faf8;
}

.card-proof {
  border-top: 1px solid rgb(122 146 137 / 20%);
}

.route-grid,
.consumer-grid,
.endpoint-grid,
.content-grid {
  gap: 12px;
}

.route-card {
  min-height: 132px;
  background: var(--qbio-card);
}

.route-card::after {
  top: 12px;
  right: 12px;
  width: 24px;
  height: 24px;
  display: grid;
  place-items: center;
  border: 1px solid #d3e1db;
  border-radius: 50%;
  background: #f5faf7;
  font-size: 13px;
}

.route-card:hover::after {
  border-color: var(--qbio-accent);
  background: var(--accent-soft);
}

.pipeline-grid {
  gap: 10px;
  border: 0;
  background: transparent;
  overflow: visible;
}

.pipeline-grid article {
  min-height: 124px;
  border: 1px solid #d2ded9;
  border-radius: 16px;
  background: rgb(255 255 255 / 82%);
  box-shadow: var(--shadow-soft);
}

.content-panel {
  min-height: 150px;
  border: 1px solid #d2ded9;
  border-radius: 16px;
  background: rgb(255 255 255 / 82%);
  box-shadow: var(--shadow-soft);
  padding: 20px 20px 14px;
}

.content-panel p {
  margin-bottom: 0;
}

.map-preview {
  border-color: #1d5a52;
  box-shadow: 0 14px 30px rgb(16 63 58 / 16%);
  background: linear-gradient(145deg, #174d47 0, #0d3935 100%);
}

.map-region {
  fill: #347e74;
  stroke: #d9f0e9;
}

.map-region:hover {
  fill: #63b2a3;
}

.source-contribution-row,
.source-watch-item,
.source-coverage-item {
  border-color: rgb(122 146 137 / 28%);
}

.coverage-quality-item {
  border-top-color: rgb(122 146 137 / 28%);
}

.coverage-quality-track .av-progress__bar,
.av-chart-track .av-progress__bar,
.source-publication-meter .av-meter__value,
.reference-mention-meter .av-meter__value {
  background: linear-gradient(90deg, var(--qbio-accent), #43a697);
}

.disclosure {
  border-color: rgb(122 146 137 / 30%);
}

.correction-rules {
  background: var(--qbio-card);
}

.profile-columns {
  gap: 42px;
}

.profile-overview {
  overflow: hidden;
}

.overview-title {
  font-weight: 800;
}

.profile-main > .profile-section {
  border-top: 1px solid rgb(122 146 137 / 30%);
  padding-top: 28px;
}

.profile-main > .profile-section:first-child {
  padding-top: 0;
  border-top: 0;
}

.bio-fact {
  background: var(--qbio-card);
}

.role,
.fact-row,
.connection,
.place,
.compact-list li,
.source-list li {
  border-color: rgb(122 146 137 / 28%);
}

.site-footer {
  flex: 0 0 auto;
  min-height: 86px;
  border-top-color: rgb(122 146 137 / 30%);
}

/* QAZ.BIO micro-polish pass: make async, feedback and navigation states feel
   intentional even while a public endpoint is still resolving. */
.section-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: color var(--av-duration-fast) cubic-bezier(var(--av-easing-standard));
}

.section-link::after {
  color: var(--qbio-accent);
  content: "↗";
  font-size: 12px;
  font-weight: 800;
  transition: transform var(--av-duration-fast) cubic-bezier(var(--av-easing-standard));
}

.section-link:hover {
  color: var(--ink);
  text-decoration: none;
}

.section-link:hover::after {
  transform: translate(2px, -2px);
}

.disclosure summary {
  transition: color var(--av-duration-fast) cubic-bezier(var(--av-easing-standard));
}

.disclosure summary:hover {
  color: var(--qbio-accent);
}

.filter {
  min-height: 38px;
}

.public-form input,
.receipt-form input,
.resolve-row input {
  min-height: 46px;
}

.resolve-row input {
  height: 46px;
}

.data-note:empty,
.resolve-message:empty {
  display: none;
}

.resolve-message:not(:empty) {
  border-left: 3px solid var(--qbio-accent);
  border-radius: 0 10px 10px 0;
  background: var(--accent-soft);
  padding: 10px 12px;
}

.loading-state {
  position: relative;
  isolation: isolate;
  display: flex;
  align-items: center;
  gap: 10px;
  border: 1px solid #d2ded9;
  border-radius: 12px;
  background: linear-gradient(100deg, rgb(255 255 255 / 72%) 20%, rgb(224 240 235 / 58%) 38%, rgb(255 255 255 / 72%) 56%);
  background-size: 300% 100%;
  animation: qazbio-skeleton 1.8s ease-in-out infinite;
  padding: 14px 16px;
}

.loading-state::before {
  width: 7px;
  height: 7px;
  flex: 0 0 7px;
  border-radius: 50%;
  background: var(--qbio-accent);
  box-shadow: 0 0 0 4px rgb(12 112 101 / 11%);
  content: "";
}

.stat-grid[aria-busy="true"]:empty {
  min-height: 84px;
  background: linear-gradient(100deg, rgb(255 255 255 / 72%) 20%, rgb(224 240 235 / 58%) 38%, rgb(255 255 255 / 72%) 56%);
  background-size: 300% 100%;
  animation: qazbio-skeleton 1.8s ease-in-out infinite;
}

.cards[aria-busy="true"]:empty::before {
  min-height: 148px;
  grid-column: 1 / -1;
  border: 1px solid #d2ded9;
  border-radius: 16px;
  background:
    linear-gradient(rgb(20 33 30 / 9%), rgb(20 33 30 / 9%)) 16px 18px / 28% 10px no-repeat,
    linear-gradient(rgb(20 33 30 / 11%), rgb(20 33 30 / 11%)) 16px 47px / 67% 15px no-repeat,
    linear-gradient(rgb(20 33 30 / 7%), rgb(20 33 30 / 7%)) 16px 79px / 88% 10px no-repeat,
    linear-gradient(100deg, rgb(255 255 255 / 72%) 20%, rgb(224 240 235 / 58%) 38%, rgb(255 255 255 / 72%) 56%) 100% 0 / 300% 100% no-repeat;
  animation: qazbio-card-skeleton 1.8s ease-in-out infinite;
  content: "";
}

code {
  overflow-wrap: anywhere;
  border: 1px solid #d2ded9;
  border-radius: 6px;
  background: var(--accent-soft);
  color: var(--ink);
  padding: .16em .36em;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: .9em;
}

@keyframes qazbio-skeleton {
  0%, 100% { background-position: 100% 0; }
  50% { background-position: 0 0; }
}

@keyframes qazbio-card-skeleton {
  0%, 100% {
    background-position: 16px 18px, 16px 47px, 16px 79px, 100% 0;
  }
  50% {
    background-position: 16px 18px, 16px 47px, 16px 79px, 0 0;
  }
}

@media (max-width: 900px) {
  .intro {
    padding-top: 60px;
  }

  .home-intro,
  .compact-intro {
    padding-top: 52px;
  }

  .profile-columns {
    gap: 24px;
  }
}

@media (max-width: 700px) {
  body {
    background: var(--paper);
  }

  .site-header {
    min-height: 70px;
    border-bottom-color: rgb(122 146 137 / 30%);
  }

  .site-header nav {
    gap: 18px;
    padding-bottom: 10px;
    scroll-padding-inline: 16px;
    box-shadow: inset 16px 0 16px -18px rgb(20 33 30 / 30%), inset -16px 0 16px -18px rgb(20 33 30 / 30%);
  }

  .intro {
    padding-top: 44px;
  }

  .home-intro,
  .compact-intro {
    padding-top: 44px;
  }

  h1 {
    letter-spacing: -.06em;
  }

  .section-title h2 {
    font-size: 21px;
  }

  .stat-grid,
  .coverage-strip,
  .home-density-grid,
  .profile-overview {
    box-shadow: 0 5px 16px rgb(20 33 30 / 6%);
  }

  .content-panel {
    min-height: 0;
    padding: 17px 16px 12px;
  }

  /* Long source labels must shrink inside the mobile track instead of
     forcing a clipped 1fr column wider than its disclosure container. */
  .source-registry-list,
  .endpoint-grid,
  .content-grid,
  .consumer-grid {
    min-width: 0;
    grid-template-columns: minmax(0, 1fr);
  }

  .source-registry-item,
  .endpoint-card,
  .content-panel,
  .consumer-card {
    min-width: 0;
  }

  .pipeline-grid article {
    min-height: 112px;
    padding: 13px;
  }

  /* On a single-column phone flow, let content set the card height. The
     desktop minimums otherwise repeat the same empty tail below short,
     evidence-first cards. */
  .route-card,
  .endpoint-card,
  .consumer-card,
  .pipeline-grid article {
    min-height: 0;
  }

  /* The arrow is a one-character grid item. Constrain its track before the
     mobile rotation so it cannot turn the full card width into a tall blank
     strip between the two linked nodes. */
  .network-edge-arrow {
    width: max-content;
    justify-self: start;
  }

  .profile-main > .profile-section {
    padding-top: 24px;
  }

  .timeline-item {
    grid-template-columns: 10px minmax(0, 1fr);
    gap: 12px;
  }

  .timeline-meta {
    display: grid;
    gap: 4px;
  }

  .timeline-meta time {
    text-align: left;
  }

  .compare-grid.compare-count-2,
  .compare-grid.compare-count-3,
  .compare-grid.compare-count-4 { grid-template-columns: minmax(0, 1fr); }

  .compare-form-actions { align-items: stretch; flex-direction: column; }
  .compare-form-actions .primary-link,
  .compare-form-actions .secondary-link { width: 100%; justify-content: center; }
}

@media (prefers-reduced-motion: reduce) {
  .card,
  .route-card,
  .endpoint-card,
  .consumer-card,
  .home-search button,
  .primary-link,
  .resolve-row button,
  .public-form .primary-link,
  .receipt-form button {
    transition: none;
  }

  .loading-state,
  .stat-grid[aria-busy="true"]:empty,
  .cards[aria-busy="true"]:empty::before {
    animation: none;
  }
}

/* Language is part of the primary journey, but stays visually quiet. */
.language-switcher {
  display: inline-flex;
  flex: 0 0 auto;
  gap: 2px;
  padding: 2px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgb(255 255 255 / 62%);
}

.language-switcher a {
  display: inline-flex;
  min-height: 28px;
  align-items: center;
  justify-content: center;
  border-radius: 5px;
  color: var(--qbio-muted);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .04em;
  padding: 0 7px;
  text-decoration: none;
  transition: background var(--av-duration-fast) cubic-bezier(var(--av-easing-standard)), color var(--av-duration-fast) cubic-bezier(var(--av-easing-standard));
}

.language-switcher a:hover {
  background: var(--accent-soft);
  color: var(--ink);
}

.language-switcher a[aria-current="page"] {
  background: var(--accent-soft);
  color: var(--ink);
}

@media (max-width: 700px) {
  .site-header {
    position: relative;
  }

  .language-switcher {
    position: absolute;
    top: 11px;
    right: 16px;
    margin: 0;
  }

  .language-switcher a {
    min-height: 30px;
    padding-inline: 8px;
  }
}

/* Tablet keeps the brand and locale on a calm first row, then gives the
   primary journey its own full-width scroll lane instead of orphaning the
   last navigation item on a second line. */
@media (min-width: 701px) and (max-width: 900px) {
  .site-header {
    position: relative;
    min-height: auto;
    display: block;
    padding-top: 18px;
    padding-bottom: 0;
  }

  .brand {
    display: inline-flex;
    min-height: 34px;
    align-items: center;
  }

  .header-actions {
    display: block;
  }

  .language-switcher {
    position: absolute;
    top: 18px;
    right: 24px;
    margin: 0;
  }

  .site-header nav {
    max-width: none;
    margin: 0 -24px;
    padding: 0 24px 10px;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    flex-wrap: nowrap;
    justify-content: flex-start;
    gap: 20px;
    scrollbar-width: none;
    scroll-snap-type: x proximity;
  }

  .site-header nav::-webkit-scrollbar {
    display: none;
  }

  .site-header nav a {
    flex: 0 0 auto;
    white-space: nowrap;
    scroll-snap-align: start;
  }

  /* Five route cards should close the tablet row instead of leaving a
     visually accidental orphaned cell beside the final destination. */
  .route-grid .route-card:last-child {
    grid-column: 1 / -1;
  }
}

/* Wide screens need a different composition, not a longer mobile column. */
@media (min-width: 901px) and (max-width: 1199px) {
  .route-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (min-width: 1200px) {
  .site-header,
  main,
  .site-footer {
    max-width: 1440px;
  }

  .compact-intro {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(360px, .85fr);
    column-gap: 64px;
    align-items: start;
    max-width: none;
  }

  .compact-intro h1 {
    grid-column: 1;
    max-width: none;
    margin-bottom: 0;
  }

  .compact-intro .lede {
    grid-column: 2;
    max-width: 620px;
    margin: 0;
  }

  .compact-intro .search,
  .compact-intro .empty-actions {
    grid-column: 2;
  }

  .compact-intro .search {
    margin-top: 24px;
  }

  .compact-intro .empty-actions {
    margin-top: 4px;
  }

  .profile {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(360px, .85fr);
    column-gap: 56px;
    align-items: start;
    max-width: none;
    padding-bottom: 44px;
  }

  .profile .back-link,
  .profile .profile-kind {
    grid-column: 1 / -1;
  }

  .profile h1 {
    grid-column: 1;
    max-width: none;
    margin-bottom: 0;
  }

  .profile .lede {
    grid-column: 2;
    max-width: 620px;
    margin: 0;
  }

  .profile .profile-proof {
    grid-column: 2;
    margin: 16px 0 0;
  }

  .home-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(360px, .85fr);
    gap: 40px;
    align-items: stretch;
    padding: 22px 0 32px;
  }

  .home-hero .home-intro {
    max-width: none;
    min-height: 300px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 36px 0 24px;
  }

  .home-hero .home-intro h1 {
    max-width: 850px;
  }

  .home-hero .home-search {
    margin-top: 16px;
  }

  .home-hero > .stat-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-self: center;
    margin: 0;
  }

  .home-hero > .stat-grid > a {
    min-height: 112px;
    padding: 18px;
  }

  .home-hero > .stat-grid strong {
    font-size: 32px;
  }

  .api-overview .av-chart {
    max-width: none;
  }

  .api-overview .av-chart-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 32px;
  }

  .home-section,
  .featured-section,
  .source-coverage,
  .source-contribution,
  .publication-note,
  .data-access {
    max-width: none;
  }

  .route-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

  .featured-section .cards-compact {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .cards {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .reference-list,
  .source-registry-list {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

  .reference-list {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .endpoint-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

  .preset-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .consumer-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .content-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .coverage-quality {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .contracts-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .publication-note .coverage-lede {
    max-width: 840px;
  }

  .profile {
    max-width: none;
  }

  .profile-columns {
    grid-template-columns: minmax(300px, 360px) minmax(0, 1fr);
    gap: 56px;
  }

  .map-panel {
    grid-template-columns: minmax(0, .8fr) minmax(520px, 1.2fr);
    gap: 42px;
  }

  .network-layout {
    grid-template-columns: minmax(320px, .72fr) minmax(520px, 1.28fr);
    gap: 42px;
  }

  .map-preview {
    min-height: 390px;
  }

  .map-canvas {
    min-height: 350px;
  }

  .map-canvas svg {
    min-height: 325px;
  }

  .geo-callout {
    grid-template-columns: minmax(0, 1.1fr) minmax(420px, .9fr);
    gap: 40px;
  }

  .geo-callout-copy {
    justify-content: flex-start;
    padding-top: var(--av-spacing-3);
  }
}

@media (min-width: 1500px) and (max-width: 1799px) {
  /* Five readable catalogue columns use the wide frame without making each
     profile card feel like an empty panel. Ultra-wide screens get six below. */
  .cards {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
}

@media (min-width: 1600px) {
  .site-header,
  main,
  .site-footer {
    max-width: min(2048px, calc(100vw - 160px));
  }

  .compact-intro,
  .profile {
    grid-template-columns: minmax(0, 1.3fr) minmax(440px, .85fr);
    column-gap: 72px;
  }

  .home-hero {
    grid-template-columns: minmax(0, 1.5fr) minmax(460px, .8fr);
    gap: 48px;
  }

  .network-layout {
    grid-template-columns: minmax(360px, .72fr) minmax(0, 1.28fr);
    gap: 64px;
  }

  .route-grid,
  .endpoint-grid {
    gap: 16px;
  }

  .consumer-grid {
    gap: 16px;
  }

  .coverage-quality {
    gap: 24px;
  }

  .map-panel {
    grid-template-columns: minmax(0, .85fr) minmax(620px, 1.15fr);
    gap: 64px;
  }

  .geo-callout {
    grid-template-columns: minmax(0, 1.2fr) minmax(480px, .8fr);
    gap: 64px;
  }
}

@media (min-width: 1800px) {
  .cards {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .featured-section .cards-compact {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .reference-list {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .consumer-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
}

@media (min-width: 1600px) {
  /* Keep the short geography explanation optically balanced beside the map. */
  .geo-callout-copy {
    justify-content: center;
    padding-top: 0;
  }
}

@media (min-width: 1600px) and (max-width: 1799px) {
  /* The mid-wide map needs a readable footprint, not a full ultra-wide row. */
  .home-map-preview {
    min-height: 0;
    height: 320px;
  }

  .home-map-preview .map-canvas,
  .home-map-preview .map-canvas svg {
    min-height: 0;
  }
}

@media (min-width: 1200px) {
  /* Keep network density in view while the verified edge feed continues. */
  .network-layout > .network-panel:first-child {
    position: sticky;
    top: 24px;
    align-self: start;
  }
}

/* QazGeo explorer: make the geography layer useful without implying that
   textual place evidence is already a published coordinate point. */
.geo-explorer,
.geo-evidence {
  max-width: none;
}

.section-note {
  max-width: 920px;
  margin: 10px 0 18px;
  color: var(--qbio-muted);
  line-height: 1.5;
}

.geo-explorer-layout {
  display: grid;
  grid-template-columns: minmax(300px, .72fr) minmax(0, 1.28fr);
  gap: 16px;
}

.geo-region-browser,
.geo-region-inspector {
  min-width: 0;
  border: 1px solid #d2ded9;
  border-radius: 16px;
  background: rgb(255 255 255 / 82%);
  box-shadow: var(--shadow-soft);
  padding: 18px;
}

.geo-search-label {
  display: block;
  margin-bottom: 7px;
  color: var(--ink);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.geo-search {
  width: 100%;
  min-height: 42px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--qbio-card);
  color: var(--ink);
  font: inherit;
  padding: 0 12px;
}

.geo-search:focus {
  border-color: var(--qbio-accent);
  box-shadow: 0 0 0 3px var(--accent-soft);
  outline: none;
}

.geo-region-list {
  display: grid;
  gap: 6px;
  max-height: 312px;
  margin-top: 12px;
  overflow: auto;
  padding-right: 2px;
}

.geo-region-option {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  min-height: 38px;
  border: 1px solid transparent;
  border-radius: 9px;
  background: #f5f9f7;
  color: var(--ink);
  cursor: pointer;
  font: inherit;
  font-size: 14px;
  font-weight: 700;
  padding: 8px 10px;
  text-align: left;
  transition: background var(--av-duration-fast) cubic-bezier(var(--av-easing-standard)), border-color var(--av-duration-fast) cubic-bezier(var(--av-easing-standard)), color var(--av-duration-fast) cubic-bezier(var(--av-easing-standard));
}

.geo-region-option:hover,
.geo-region-option:focus-visible {
  border-color: var(--qbio-accent);
  background: var(--accent-soft);
  outline: none;
}

.geo-region-option.is-selected {
  border-color: var(--qbio-accent);
  background: var(--ink);
  color: #fff;
}

.geo-region-option-code {
  flex: 0 0 auto;
  color: var(--qbio-muted);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.geo-region-option-count {
  flex: 0 0 auto;
  min-width: 24px;
  color: var(--qbio-muted);
  font-size: 12px;
  font-variant-numeric: tabular-nums;
  text-align: right;
}

.geo-region-option.is-selected .geo-region-option-code {
  color: #c8e8df;
}

.geo-region-option.is-selected .geo-region-option-count {
  color: #c8e8df;
}

.geo-region-inspector {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.geo-region-inspector h3 {
  max-width: 720px;
  margin: 7px 0 0;
  font-size: clamp(24px, 3vw, 38px);
  letter-spacing: -.04em;
  line-height: 1.05;
}

.geo-inspector-lede {
  max-width: 680px;
  margin: 13px 0 0;
  color: var(--qbio-muted);
  line-height: 1.5;
}

.geo-region-facts {
  display: grid;
  grid-template-columns: minmax(110px, auto) minmax(0, 1fr);
  gap: 9px 18px;
  width: 100%;
  margin: 20px 0 24px;
  padding-top: 16px;
  border-top: 1px solid rgb(122 146 137 / 22%);
}

.geo-region-facts dt {
  color: var(--qbio-muted);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.geo-region-facts dd {
  min-width: 0;
  margin: 0;
  color: var(--ink);
  font-size: 14px;
  font-weight: 700;
  overflow-wrap: anywhere;
}

.geo-region-inspector .primary-link {
  margin-top: auto;
}

.geo-evidence-toolbar {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(180px, .55fr);
  gap: 12px;
  max-width: 560px;
  margin-top: 18px;
}

.geo-evidence-search-control {
  min-width: 0;
}

.geo-select {
  display: block;
  width: 100%;
  min-height: 42px;
  margin-top: 0;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--qbio-card);
  color: var(--ink);
  font: inherit;
  padding: 0 11px;
}

.geo-select:focus {
  border-color: var(--qbio-accent);
  box-shadow: 0 0 0 3px var(--accent-soft);
  outline: none;
}

.geo-place-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 14px;
}

.geo-place-card {
  display: flex;
  min-width: 0;
  min-height: 142px;
  flex-direction: column;
  border: 1px solid #d2ded9;
  border-radius: 14px;
  background: rgb(255 255 255 / 82%);
  box-shadow: var(--shadow-soft);
  padding: 14px;
}

.geo-place-card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}

.geo-place-profile {
  min-width: 0;
  color: var(--ink);
  font-size: 15px;
  font-weight: 800;
  letter-spacing: -.02em;
  line-height: 1.15;
  overflow-wrap: anywhere;
  text-decoration: none;
}

.geo-place-profile:hover {
  color: var(--qbio-accent);
  text-decoration: underline;
}

.geo-place-type {
  flex: 0 0 auto;
  color: var(--qbio-accent);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
  line-height: 1.2;
  text-align: right;
  text-transform: uppercase;
}

.geo-place-value {
  margin-top: 13px;
  color: var(--ink);
  font-size: 16px;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.geo-place-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 7px 10px;
  margin-top: auto;
  padding-top: 12px;
  border-top: 1px solid rgb(122 146 137 / 20%);
  color: var(--qbio-muted);
  font-size: 11px;
  line-height: 1.35;
}

.geo-place-evidence {
  font-weight: 700;
}

.geo-place-status {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  border: 1px solid #d2ded9;
  border-radius: 999px;
  background: #f5f9f7;
  padding: 2px 8px;
}

.geo-place-status.is-mapped {
  border-color: #a6d8ca;
  background: var(--accent-soft);
  color: var(--qbio-accent);
}

.geo-place-source {
  flex: 1 1 100%;
  min-width: 0;
  color: var(--qbio-accent);
  overflow-wrap: anywhere;
  text-decoration: none;
}

.geo-place-source:hover {
  text-decoration: underline;
}

.map-region {
  cursor: pointer;
  outline: none;
  transition: fill var(--av-duration-fast) cubic-bezier(var(--av-easing-standard)), stroke var(--av-duration-fast) cubic-bezier(var(--av-easing-standard));
}

.map-region:focus-visible {
  stroke: #ffffff;
  stroke-width: 2.2;
}

.map-region.is-selected {
  fill: #83c9ba;
  stroke: #ffffff;
  stroke-width: 2;
}

.map-point-link {
  outline: none;
}

.map-point {
  fill: #ffffff;
  stroke: #0c7065;
  stroke-width: 2;
  cursor: pointer;
  paint-order: stroke;
  transition: r var(--av-duration-fast) cubic-bezier(var(--av-easing-standard)), fill var(--av-duration-fast) cubic-bezier(var(--av-easing-standard));
}

.map-point-link:hover .map-point,
.map-point-link:focus-visible .map-point {
  fill: #b8eee2;
  r: 6.5;
}

@media (min-width: 1600px) {
  .geo-explorer-layout {
    grid-template-columns: minmax(380px, .55fr) minmax(0, .45fr);
    gap: 20px;
  }

  .geo-place-list {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .stat-grid.geo-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }

  .geo-explorer-layout {
    grid-template-columns: 1fr;
  }

  .geo-region-list {
    max-height: 250px;
  }

  .geo-place-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  .stat-grid.geo-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }

  .geo-region-browser,
  .geo-region-inspector,
  .geo-place-card {
    padding: 14px;
  }

  .geo-region-list {
    max-height: 230px;
  }

  .geo-place-list {
    grid-template-columns: 1fr;
  }

  .geo-evidence-toolbar {
    grid-template-columns: 1fr;
  }

  .geo-region-inspector h3 {
    font-size: 28px;
  }
}

/* QAZ.BIO assistant entry is profile-contextual and evidence-bound. */
.janus-bio-entry {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: center;
  width: 100%;
  margin-top: 30px;
  padding: 18px 0 0;
  border-top: 1px solid var(--line);
}

.compact-intro .janus-bio-entry,
.profile .janus-bio-entry {
  grid-column: 1 / -1;
}

.janus-bio-entry__title,
.janus-bio-entry__body,
.janus-bio-entry__privacy {
  margin: 0;
}

.janus-bio-entry__title {
  font-size: 18px;
  letter-spacing: -.025em;
}

.janus-bio-entry__body {
  margin-top: 5px;
  color: var(--ink);
  font-size: 13px;
  line-height: 1.45;
}

.janus-bio-entry__privacy {
  max-width: 780px;
  margin-top: 7px;
  color: var(--qbio-muted);
  font-size: 11px;
  line-height: 1.45;
}

.janus-bio-entry__actions {
  display: grid;
  justify-items: end;
  gap: 7px;
  min-width: 170px;
}

.janus-bio-entry__button {
  min-height: 42px;
  padding: 0 17px;
  border: 1px solid var(--qbio-accent);
  border-radius: 999px;
  background: var(--qbio-accent);
  color: #fff;
  cursor: pointer;
  font-size: 12px;
  font-weight: 800;
  transition: background var(--av-duration-fast) cubic-bezier(var(--av-easing-standard)), transform var(--av-duration-fast) cubic-bezier(var(--av-easing-standard));
}

.janus-bio-entry__button:hover:not(:disabled) {
  background: var(--ink);
  transform: translateY(-1px);
}

.janus-bio-entry__button:disabled {
  cursor: wait;
  opacity: .62;
}

.janus-bio-entry__status {
  min-height: 16px;
  color: var(--qbio-muted);
  font-size: 10px;
  line-height: 1.35;
  text-align: right;
}

@media (max-width: 780px) {
  .janus-bio-entry {
    grid-template-columns: 1fr;
    gap: 16px;
    padding-top: 18px;
  }

  .janus-bio-entry__actions {
    grid-column: 1;
    justify-items: stretch;
    min-width: 0;
  }

  .janus-bio-entry__button {
    width: 100%;
  }

  .janus-bio-entry__status {
    text-align: left;
  }
}

@media (max-width: 440px) {
  .janus-bio-entry {
    margin-top: 24px;
  }
}

/* AVDS 4.8 compliance layer: explicit focus and a controlled compact
   navigation state, without changing the product's information architecture. */
button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible {
  outline: 3px solid hsl(var(--ring) / .42);
  outline-offset: 3px;
}

.mobile-nav-toggle {
  display: none;
}

@media (max-width: 700px) {
  .site-header[data-mobile-nav-ready="true"] {
    min-height: 64px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 8px;
    align-items: center;
    padding-top: 10px;
    padding-bottom: 10px;
  }

  .site-header[data-mobile-nav-ready="true"] .header-actions { display: contents; }
  .site-header[data-mobile-nav-ready="true"] .language-switcher {
    position: static;
    grid-column: 3;
    grid-row: 1;
  }
  .site-header[data-mobile-nav-ready="true"] .mobile-nav-toggle {
    display: inline-grid;
    grid-column: 2;
    grid-row: 1;
    width: 44px;
    height: 44px;
    place-content: center;
    gap: 5px;
    border: 1px solid var(--line);
    border-radius: var(--av-radius-md);
    background: var(--qbio-card);
    color: var(--ink);
    cursor: pointer;
  }
  .site-header[data-mobile-nav-ready="true"] .mobile-nav-toggle span {
    display: block;
    width: 16px;
    height: 2px;
    border-radius: 99px;
    background: currentColor;
    transition: transform var(--av-duration-fast) cubic-bezier(var(--av-easing-standard));
  }
  .site-header[data-mobile-nav-ready="true"].is-mobile-nav-open .mobile-nav-toggle span:first-child { transform: translateY(3.5px) rotate(45deg); }
  .site-header[data-mobile-nav-ready="true"].is-mobile-nav-open .mobile-nav-toggle span:last-child { transform: translateY(-3.5px) rotate(-45deg); }
  .site-header[data-mobile-nav-ready="true"] nav {
    display: none;
    grid-column: 1 / -1;
    grid-row: 2;
    gap: 6px;
    width: 100%;
    margin: 4px 0 0;
    padding: 10px;
    overflow: visible;
    border: 1px solid var(--line);
    border-radius: var(--av-radius-lg);
    background: hsl(var(--popover));
    box-shadow: var(--shadow-md);
  }
  .site-header[data-mobile-nav-ready="true"].is-mobile-nav-open nav { display: flex; flex-wrap: wrap; }
  .site-header[data-mobile-nav-ready="true"] nav a {
    display: inline-flex;
    min-height: var(--avds-mobile-touch-target);
    align-items: center;
    flex: 1 1 calc(50% - 6px);
    border: 1px solid hsl(var(--card-border));
    border-radius: var(--av-radius-md);
    background: var(--qbio-card);
    color: var(--ink);
    padding: 0 11px;
    text-decoration: none;
  }
  .site-header[data-mobile-nav-ready="true"] nav a[aria-current="page"] {
    border-color: hsl(var(--primary));
    background: var(--accent-soft);
    text-decoration: none;
  }
}
