:root {
  --primary:#2c5f8a;
  --primary-soft:#edf4fa;
  --text:#18181b;
  --muted:#62626b;
  --light:#93939b;
  --border:#e4e4e7;
  --bg-alt:#f7f7f6;
  --container-width:68rem;
  --figure-width:62rem;
  --font-sans:"Carlito","Calibri",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --font-mono:"SFMono-Regular",Consolas,"Liberation Mono",monospace;
}

* {
  box-sizing:border-box;
  margin:0;
  padding:0;
}

html {
  scroll-behavior:smooth;
  scroll-padding-top:35px;
}

body {
  padding-left:0;
  background:radial-gradient(circle at 16px 16px,rgba(24,24,27,.025) 1px,transparent 1.5px) 0 0/32px 32px,#fafaf9;
  color:var(--text);
  font-family:var(--font-sans);
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

img,svg {
  display:block;
  max-width:100%;
}

img {
  height:auto;
}

a {
  color:inherit;
  text-decoration:none;
}

a:hover {
  color:var(--primary);
}

button,input,select {
  font:inherit;
}

button,select {
  cursor:pointer;
}

button {
  color:var(--text);
}

button:disabled {
  cursor:default;
  opacity:.4;
}

h1,h2,h3 {
  font-weight:700;
  line-height:1.2;
}

p {
  margin:.8rem 0 1.5rem;
  font-size:1.05rem;
  line-height:1.7;
}

a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,[tabindex]:focus-visible {
  outline:3px solid #76a2ce;
  outline-offset:4px;
}

sup {
  font-size:.68em;
}

.container {
  max-width:var(--container-width);
  margin:0 auto;
  padding:0 1.5rem;
}

.figure-width {
  max-width:var(--figure-width);
  margin-left:auto;
  margin-right:auto;
}

.section {
  width:100%;
  padding:4.5rem 0;
  border-top:1px solid var(--border);
}

.alt-bg {
  background:var(--bg-alt);
}

.section-title {
  width:fit-content;
  margin:0 0 2rem;
  padding-bottom:.72rem;
  border-bottom:2px solid var(--border);
  font-size:1.6rem;
  letter-spacing:-.01em;
}

.subsection-title {
  font-size:1.2rem;
  margin:3rem 0 1rem;
}

.text-link,.catalog-notes a,noscript a {
  color:var(--primary);
  text-decoration:underline;
  text-underline-offset:3px;
}

.text-link {
  font-size:1rem;
  font-weight:700;
}

.sr-only {
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}

[hidden] {
  display:none!important;
}

.skip-link {
  position:fixed;
  left:1rem;
  top:-10rem;
  z-index:200;
  background:var(--text);
  color:white;
  padding:.7rem 1rem;
}

.skip-link:focus {
  top:1rem;
}

.sidebar {
  position:fixed;
  z-index:100;
  top:50%;
  left:2.2rem;
  transform:translateY(-50%);
}

.sidebar-nav {
  position:relative;
  display:flex;
  flex-direction:column;
  gap:1.05rem;
}

.sidebar-nav:before {
  position:absolute;
  top:0;
  bottom:0;
  left:5px;
  width:1px;
  background:var(--border);
  content:"";
}

.sidebar-item {
  position:relative;
  display:flex;
  align-items:center;
  gap:.75rem;
  color:var(--muted);
  font-size:.83rem;
  font-weight:400;
  white-space:nowrap;
}

.sidebar-dot {
  position:relative;
  width:11px;
  height:11px;
  border:2px solid #fafaf9;
  border-radius:50%;
  background:var(--light);
  box-sizing:content-box;
  transition:background .15s,box-shadow .15s;
}

.sidebar-item.active {
  color:var(--text);
  font-weight:700;
}

.sidebar-item:hover .sidebar-dot,.sidebar-item.active .sidebar-dot {
  background:var(--primary);
  box-shadow:0 0 0 4px rgba(44,95,138,.1);
}

.hero-section {
  padding:3.2rem 0 3rem;
  text-align:center;
}

.hero-container {
  max-width:64rem;
  margin:0 auto 2.8rem;
  padding:0 1.5rem;
}

.hero-title {
  margin:0 0 1.1rem;
  font-size:clamp(1.45rem,2.3vw,2rem);
  line-height:1.32;
  letter-spacing:-.01em;
}

.hero-authors {
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  column-gap:1rem;
  row-gap:.2rem;
  margin:0 auto .85rem;
}

.hero-authors span {
  font-size:.96rem;
  line-height:1.4;
  white-space:nowrap;
}

.hero-authors a:hover {
  text-decoration:underline;
  text-underline-offset:3px;
}

.hero-authors sup,.hero-affiliations sup {
  margin-left:.12em;
}

.author-break {
  height:0;
}

.hero-affiliations {
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:.25rem 1.1rem;
  color:var(--muted);
  font-size:.9rem;
  line-height:1.4;
}

.hero-notes {
  font-size:.8rem;
  color:var(--muted);
  font-style:italic;
  margin:.35rem 0 .7rem;
}

.venue-row {
  display:flex;
  flex-wrap:wrap;
  gap:.6rem;
  align-items:center;
  justify-content:center;
  font-size:.9rem;
  color:var(--muted);
  margin-bottom:1rem;
  line-height:1.4;
}

.hero-venue {
  font-size:.95rem;
  font-weight:700;
  letter-spacing:.1em;
  color:var(--text);
  text-transform:uppercase;
}

.venue-sep,.link-sep {
  color:var(--light);
}

.hero-links {
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:.6rem .85rem;
  font-size:1.02rem;
  line-height:1.4;
}

.hero-links a {
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  font-weight:700;
}

.hero-links .resource-pending {
  color:var(--muted);
  cursor:default;
}

.hero-links svg {
  width:17px;
  height:17px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.65;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.hero-figure {
  max-width:56rem;
  padding:0 1.5rem;
}

.hero-figure img {
  background:#fff;
}

.figure-link {
  display:block;
  border-radius:3px;
}

.figure-link:focus-visible {
  outline-offset:5px;
}

figcaption {
  font-size:.9rem;
  color:var(--muted);
  line-height:1.5;
  text-align:center;
  margin:.9rem auto 0;
  max-width:58rem;
}

.tldr-box {
  border:1px solid var(--text);
  border-radius:8px;
  background:#fafaf9;
  box-shadow:3px 3px 0 var(--text);
  transition:box-shadow .2s ease;
}

.tldr-box:hover {
  box-shadow:5px 5px 0 var(--text);
}

.tldr-box {
  display:flex;
  gap:1.2rem;
  text-align:left;
  margin:2.1rem auto 0;
  padding:1.3rem 1.5rem;
  max-width:62rem;
}

.tldr-label {
  font-size:.8rem;
  font-weight:700;
  letter-spacing:.08em;
  color:var(--text);
  white-space:nowrap;
  padding-top:.22rem;
}

.tldr-box p {
  margin:0;
  font-size:1.03rem;
  line-height:1.65;
}

.evidence-intro {
  display:grid;
  grid-template-columns:1fr 1.2fr;
  gap:2.7rem;
  align-items:center;
}

.evidence-copy p:first-child {
  margin-top:0;
}

.map-figure {
  min-width:0;
}

.map-figure img {
  background:white;
}

.map-figure figcaption {
  font-size:.82rem;
}

.paper-figure {
  margin:2.7rem auto 0;
}

.paper-figure img {
  background:#fff;
}

.failure-figure {
  margin-top:1.5rem;
}

.challenge-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0 2.8rem;
  margin-top:2rem;
}

.challenge-grid article {
  padding:1.5rem 0;
  border-top:1px solid var(--border);
}

.challenge-grid h3 {
  font-size:1.13rem;
  margin-bottom:.7rem;
}

.challenge-grid h3 span {
  color:var(--primary);
  font-size:.85rem;
  margin-right:.5rem;
}

.challenge-grid p {
  font-size:1rem;
  line-height:1.6;
  margin:.6rem 0 0;
}

.challenge-grid .gap {
  color:var(--muted);
}

.challenge-conclusion {
  border-top:1px solid var(--border);
  padding-top:1.4rem;
  margin-bottom:0;
}

.paradigm-figure {
  max-width:50rem;
  margin-top:2rem;
}

.principle-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0 2.8rem;
  margin:2.1rem 0 1.8rem;
}

.principle-grid article {
  display:flex;
  gap:1rem;
  padding:1.6rem 0;
  border-top:1px solid var(--border);
}

.principle-index {
  font-size:.9rem;
  font-weight:700;
  color:var(--primary);
  line-height:1.5;
  min-width:1.5rem;
}

.principle-grid h3 {
  font-size:1.15rem;
  margin-bottom:.5rem;
}

.principle-grid p {
  font-size:1rem;
  line-height:1.6;
  margin:0;
}

.section-heading-row {
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:1rem;
}

.catalog-range {
  white-space:nowrap;
  color:var(--muted);
  font-size:.95rem;
}

.catalog-intro {
  margin-top:-.7rem;
  margin-bottom:.7rem;
  max-width:none;
}



.catalog-downloads {
  display:flex;
  flex-wrap:wrap;
  gap:1.3rem;
  font-size:.95rem;
  color:var(--primary);
  margin-bottom:1.25rem;
}

.catalog-downloads a:hover {
  text-decoration:underline;
  text-underline-offset:3px;
}

.catalog-notes {
  font-size:.9rem;
  color:var(--muted);
  margin-bottom:2rem;
}

.catalog-notes summary {
  cursor:pointer;
  width:fit-content;
  text-decoration:underline;
  text-underline-offset:3px;
}

.catalog-notes>div {
  max-width:56rem;
  padding-top:.4rem;
}

.catalog-notes p {
  font-size:.93rem;
  line-height:1.6;
  margin:.6rem 0;
}

.catalog-controls {
  display:grid;
  grid-template-columns:minmax(210px,1fr) 180px;
  gap:.8rem;
  align-items:end;
}

.catalog-controls label {
  display:block;
  font-size:.82rem;
  color:var(--muted);
  margin-bottom:.3rem;
  font-weight:700;
}

.catalog-controls input,.catalog-controls select {
  display:block;
  width:100%;
  min-width:0;
  height:43px;
  border:1px solid #d5d5da;
  border-radius:4px;
  background:#fff;
  color:var(--text);
  padding:.5rem .65rem;
  font-size:.95rem;
}

.search-input-wrap {
  position:relative;
}

.search-input-wrap svg {
  position:absolute;
  left:.65rem;
  top:12px;
  width:18px;
  height:18px;
  fill:none;
  stroke:var(--muted);
  stroke-width:1.5;
}

.catalog-controls input {
  padding-left:2.15rem;
}

.results-toolbar {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  margin:1.25rem 0 .65rem;
}

.results-toolbar p {
  margin:0;
  font-size:.88rem;
  color:var(--muted);
}

.text-button {
  background:none;
  border:0;
  font-size:.85rem;
  color:var(--primary);
  text-decoration:underline;
  text-underline-offset:3px;
}

.table-scroll {
  position:relative;
  overflow:auto;
  border-top:2px solid var(--text);
  border-bottom:1px solid var(--border);
  background:#fff;
}

.dataset-table {
  border-collapse:collapse;
  width:100%;
  font-size:.91rem;
  text-align:left;
}

.dataset-table th {
  background:#f5f5f4;
  color:var(--muted);
  font-size:.8rem;
  font-weight:700;
  white-space:nowrap;
  padding:.8rem .8rem;
  border-bottom:1px solid var(--border);
}

.dataset-table td {
  padding:1rem .8rem;
  border-bottom:1px solid #ededee;
  vertical-align:top;
  line-height:1.4;
}

.dataset-table tr:last-child td {
  border-bottom:0;
}

.dataset-table tbody tr:hover {
  background:#f7fafc;
}

.dataset-table th:first-child {
  width:84%;
}

.dataset-table th:nth-child(2) {
  width:10%;
}

.dataset-table th:nth-child(3) {
  width:6%;
}


.dataset-name {
  display:block;
  border:0;
  background:none;
  text-align:left;
  font-size:1rem;
  font-weight:700;
  line-height:1.35;
  color:var(--primary);
  padding:0;
  overflow-wrap:anywhere;
}

.dataset-name:hover {
  text-decoration:underline;
  text-underline-offset:3px;
}

.paper-title {
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
  color:var(--muted);
  font-size:.83rem;
  line-height:1.35;
  margin-top:.25rem;
}

.location-cell {
  font-size:.86rem;
  overflow-wrap:anywhere;
}

.year-cell {
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
}

.paper-link {
  font-size:1rem;
  color:var(--primary);
  display:block;
  padding:0 .2rem;
}

.not-specified {
  color:var(--muted);
  font-style:italic;
}

.empty-state {
  text-align:center;
  padding:3rem 1rem;
  border:1px solid var(--border);
  border-top:0;
  background:white;
}

.empty-state h3 {
  font-size:1.1rem;
}

.empty-state p {
  margin:.5rem 0 0;
  font-size:.95rem;
  color:var(--muted);
}

.pagination {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:1rem;
  margin-top:1rem;
  font-size:.85rem;
  color:var(--muted);
}

.page-size-control {
  display:flex;
  align-items:center;
  gap:.5rem;
}

.page-size-control select {
  border:1px solid var(--border);
  border-radius:3px;
  background:#fff;
  padding:.25rem .45rem;
  font-size:.85rem;
}

.page-buttons {
  display:flex;
  align-items:center;
  gap:1rem;
}

.page-buttons button {
  background:#fff;
  border:1px solid var(--border);
  border-radius:4px;
  padding:.4rem .7rem;
  font-size:.85rem;
}

.page-buttons button:not(:disabled):hover {
  border-color:var(--primary);
  color:var(--primary);
}

.citation-header {
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin:0 0 1rem;
}

.citation-header .section-title {
  margin:0;
}

.copy-button {
  font-size:.82rem;
  padding:.3rem .75rem;
  background:white;
  border:1px solid #d5d5da;
  border-radius:4px;
}

.bibtex {
  padding:1.3rem 1.5rem;
  border:1px solid var(--border);
  border-radius:4px;
  background:#fff;
  text-align:left;
  overflow:auto;
  line-height:1.65;
  font: .82rem/1.65 var(--font-mono);
}

.footer {
  border-top:1px solid var(--border);
  padding:2rem 0;
  color:var(--muted);
  font-size:.82rem;
}

.footer .container {
  display:flex;
  justify-content:space-between;
  gap:1rem;
  flex-wrap:wrap;
}

dialog {
  margin:auto;
  width:min(760px,calc(100vw - 2rem));
  max-height:85vh;
  border:1px solid var(--border);
  border-radius:8px;
  padding:1.4rem 1.7rem 1.7rem;
  color:var(--text);
  background:#fff;
  box-shadow:0 18px 80px #0002;
  overflow:auto;
}

dialog::backdrop {
  background:rgba(20,24,30,.43);
  backdrop-filter:blur(3px);
}

body.dialog-open {
  overflow:hidden;
}

.dialog-topline {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:1rem;
  margin-bottom:.8rem;
}

.eyebrow {
  font-size:.8rem;
  color:var(--muted);
}

.close-dialog {
  border:0;
  background:#f4f4f4;
  border-radius:50%;
  font-size:1.4rem;
  line-height:1;
  width:32px;
  height:32px;
  flex-shrink:0;
}

.dialog-title {
  font-size:1.6rem;
  line-height:1.2;
  margin-bottom:.5rem;
  overflow-wrap:anywhere;
}

.dialog-paper-title {
  color:var(--muted);
  font-size:1rem;
  line-height:1.5;
  margin:.5rem 0;
}

.dialog-authors {
  font-size:.85rem;
  color:var(--muted);
  margin:.5rem 0 1rem;
}

.dialog-links {
  display:flex;
  flex-wrap:wrap;
  gap:.8rem;
  margin:1rem 0 1.3rem;
}

.dialog-links a {
  border:1px solid var(--border);
  border-radius:4px;
  color:var(--primary);
  font-size:.9rem;
  padding:.35rem .75rem;
}

.dialog-meta {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1rem 1.5rem;
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
  padding:1.2rem 0;
  margin:1rem 0;
}

.dialog-meta dt {
  font-size:.78rem;
  color:var(--muted);
  margin-bottom:.2rem;
}

.dialog-meta dd {
  font-size:.95rem;
  overflow-wrap:anywhere;
}

.dialog-section-title {
  font-size:1.05rem;
  margin:1.3rem 0 .6rem;
}

.dialog-abstract {
  font-size:.96rem;
  line-height:1.7;
  margin:0;
}

.dialog-location-note {
  font-size:.85rem;
  line-height:1.6;
  color:var(--muted);
  margin:.6rem 0 0;
}

.dialog-source-id {
  font-family:var(--font-mono);
  font-size:.68rem;
  overflow-wrap:anywhere;
  color:var(--muted);
  margin:1.3rem 0 0;
}

@media(min-width:1700px) {
  .hero-section {
    padding-top:4rem;
  }
}

@media(max-width:1150px) {
  body {
    padding-left:0;
  }
  .sidebar {
    left:1.5rem;
  }
  .container {
    padding:0 1.5rem;
  }
  .catalog-controls {
    grid-template-columns:minmax(180px,1fr) 160px;
  }
  .evidence-intro {
    gap:1.7rem;
  }
}

@media(max-width:850px) {
  html {
    scroll-padding-top:78px;
  }
  body {
    padding-left:0;
  }
  .sidebar {
    position:sticky;
    top:0;
    left:0;
    transform:none;
    background:rgba(250,250,249,.96);
    border-bottom:1px solid var(--border);
    backdrop-filter:blur(10px);
  }
  .sidebar-nav {
    flex-direction:row;
    justify-content:center;
    gap:1.5rem;
    padding:.8rem 1rem;
    overflow:auto;
  }
  .sidebar-nav:before,.sidebar-dot {
    display:none;
  }
  .sidebar-item {
    font-size:.85rem;
    padding:.2rem 0;
  }
  .sidebar-item.active {
    color:var(--primary);
  }
  .hero-section {
    padding-top:2.5rem;
  }
  .hero-title {
    font-size:1.8rem;
  }
  .section {
    padding:3.5rem 0;
  }
  .hero-container {
    margin-bottom:2rem;
  }
  .evidence-intro {
    grid-template-columns:1fr 1.1fr;
  }
  .catalog-controls {
    grid-template-columns:minmax(180px,1fr) 160px;
  }
  .hero-links {
    font-size:.97rem;
  }
  .paper-figure {
    margin-top:2rem;
  }
}

@media(max-width:620px) {
  .container {
    padding:0 1rem;
  }
  .sidebar-nav {
    justify-content:space-between;
    gap:.7rem;
    padding:.65rem .75rem;
  }
  .sidebar-item {
    font-size:.78rem;
  }
  .hero-section {
    padding:2rem 0;
  }
  .hero-container {
    padding:0 1rem;
  }
  .hero-title {
    font-size:1.55rem;
    line-height:1.32;
  }
  .desktop-break {
    display:none;
  }
  .hero-authors {
    column-gap:.8rem;
    row-gap:.4rem;
  }
  .hero-authors span {
    font-size:.92rem;
  }
  .author-break {
    display:none;
  }
  .hero-affiliations {
    font-size:.81rem;
    gap:.35rem .9rem;
  }
  .hero-notes {
    font-size:.76rem;
  }
  .hero-links {
    gap:.7rem 1rem;
    font-size:.92rem;
  }
  .hero-links .link-sep {
    display:none;
  }
  .hero-figure {
    padding:0 .75rem;
  }
  .hero-figure figcaption {
    font-size:.81rem;
  }
  .tldr-box {
    padding:1rem;
    display:block;
    margin-top:1.5rem;
  }
  .tldr-label {
    display:block;
    margin-bottom:.4rem;
  }
  .tldr-box p {
    font-size:.98rem;
  }
  .section {
    padding:2.6rem 0;
  }
  .section-title {
    font-size:1.4rem;
    margin-bottom:1.5rem;
  }
  p {
    font-size:1rem;
  }
  .evidence-intro {
    grid-template-columns:1fr;
    gap:1.7rem;
  }
  .evidence-copy p {
    margin-bottom:1rem;
  }
  .map-figure {
    max-width:470px;
    margin:0 auto;
  }
  .principle-grid,.challenge-grid {
    grid-template-columns:1fr;
    margin-top:1.2rem;
  }
  .principle-grid article {
    padding:1.2rem 0;
  }
  .principle-grid p {
    font-size:.96rem;
  }
  .section-heading-row {
    display:block;
  }
  .catalog-range {
    display:block;
    margin-top:-1rem;
    margin-bottom:1.5rem;
    font-size:.85rem;
  }
  .catalog-controls {
    grid-template-columns:1fr;
    gap:.7rem;
  }
  .search-field {
    grid-column:1/-1;
  }
  .sort-filter {
    grid-column:auto;
  }
  .catalog-downloads {
    gap:.8rem 1.1rem;
    font-size:.88rem;
  }
  .catalog-notes {
    margin-bottom:1.5rem;
  }
  .table-scroll {
    margin:0 -.1rem;
  }
  .dataset-table {
    min-width:420px;
  }
  .dataset-table th:first-child {
    width:65%;
  }
  .dataset-table th,.dataset-table td {
    padding:.8rem .6rem;
  }
  .dataset-name {
    font-size:.93rem;
  }
  .paper-title {
    font-size:.79rem;
  }
  .dataset-table th {
    font-size:.75rem;
  }
  .pagination {
    align-items:flex-start;
    gap:.8rem;
    flex-direction:column;
  }
  .page-buttons {
    justify-content:space-between;
    width:100%;
    gap:.5rem;
  }
  .page-buttons button {
    padding:.45rem .8rem;
  }
  .bibtex {
    font-size:.7rem;
    padding:1rem;
  }
  .footer .container {
    flex-direction:column;
    gap:.4rem;
  }
  .footer {
    padding:1.5rem 0;
  }
  dialog {
    padding:1rem 1.1rem 1.3rem;
  }
  .dialog-title {
    font-size:1.35rem;
  }
  .dialog-meta {
    gap:.8rem;
  }
  .dialog-meta dd {
    font-size:.88rem;
  }
}

@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto;
  }
  * {
    transition:none!important;
  }
}

.table-scroll-hint {
  display:none;
}

@media(max-width:620px) {
  .table-scroll-hint {
    display:block;
    margin:0 0 .5rem;
    font-size:.78rem;
    color:var(--muted);
  }
}

.survey-downloads {
  display:flex;
  justify-content:center;
  align-items:baseline;
  flex-wrap:wrap;
  gap:.35rem .75rem;
}
.survey-downloads > span {
  color:var(--muted);
}
