/* Academic Project Page / Nerfies template styles.
   Bulma supplies the page containers, typography scale, sections and buttons. */
body { font-family: 'Noto Sans', sans-serif; }
.publication-title, .publication-authors { font-family: 'Google Sans', sans-serif; }
.publication-title { word-break: normal; }
.publication-authors a { color: #167ac6; }
.publication-authors a:hover { text-decoration: underline; }
.author-block { display: inline-block; }
.affiliation-block { margin-top: 1rem; }
.eql-cntrb { margin-top: .5rem; font-size: .875rem; }
.publication-links { margin-top: 1rem; }
.section-links { display: flex; flex-wrap: wrap; justify-content: center; column-gap: 1.25rem; row-gap: .25rem; margin-top: .75rem; font-size: .875rem; }
.section-links a { padding: .25rem 0; white-space: nowrap; }
.section-links a:hover { text-decoration: underline; }
.link-block { display: inline-block; }
.link-block a { margin: 5px 2px; }
.icon svg { width: 1.1em; height: 1.1em; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
:root { scroll-padding-top: 1.5rem; color-scheme: light; }
a { text-underline-offset: .2em; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, summary:focus-visible, [tabindex]:focus-visible { outline: 3px solid #3273dc; outline-offset: 3px; }
::selection { background: #dceaff; color: #222; }
[hidden] { display: none !important; }
.skip-link { position: absolute; left: 1rem; top: -5rem; z-index: 5; padding: .75rem; background: white; }
.skip-link:focus { top: 1rem; }
.section-heading { margin-bottom: 2rem; }
.section-heading > p { text-align: center; }
p { margin-bottom: 1rem; }
.note, .source, figcaption { font-size: .875rem; line-height: 1.6; }
.note, .source { margin-top: 1rem; color: #555; }
.source { margin-bottom: 0; }
figcaption { margin-top: 1rem; }
code { color: #444; overflow-wrap: anywhere; }
pre { white-space: pre; overflow-x: auto; }
pre code { overflow-wrap: normal; }

/* Dataset-specific figures use the same restrained gray and blue palette. */
.pipeline { margin: 1.5rem 0 0; }
.pipeline-inputs { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; max-width: 760px; margin: auto; }
.pipeline-inputs > div { padding: 1.25rem; text-align: center; border: 1px solid #dbdbdb; }
.pipeline strong { display: block; font-size: 1.125rem; }
.pipeline span { display: block; font-size: .875rem; line-height: 1.6; }
.pipeline-join { width: 46%; height: 25px; border: 1px solid #aaa; border-top: 0; margin: auto; }
.pipeline-total { max-width: 430px; padding: 1.25rem; text-align: center; margin: auto; background: #f5f5f5; }
.pipeline-total strong { font-size: 1.375rem; }
.pipeline-down { width: 1px; height: 26px; margin: auto; background: #aaa; }
.pipeline-paths { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; border-top: 1px solid #aaa; }
.pipeline-path { min-width: 0; }
.pipeline-step { padding: 1.25rem .75rem; background: #f5f5f5; text-align: center; }
.pipeline-step strong { margin-bottom: .5rem; }
.pipeline-files { display: flex; justify-content: space-evenly; gap: 1rem; text-align: center; }
.pipeline .file-label { font-family: monospace; font-size: .8rem; margin-bottom: .5rem; }
.pipeline figcaption strong { display: inline; font-size: inherit; }
.figures { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; margin: 2rem 0; }
.figures figure { min-width: 0; margin: 0; }
.figures img { display: block; width: 100%; height: auto; }
.results-intro { max-width: 800px; margin: auto; }

/* Tables and controls supplement the original template without changing it. */
.table-scroll { overflow: auto; }
.table { font-size: .875rem; font-variant-numeric: tabular-nums; }
.table caption { text-align: left; padding: .75rem 0; font-size: .875rem; color: #555; }
.table th, .table td { padding: .75rem; }
.table tbody th { font-weight: 400; }
.table code { background: transparent; padding: 0; }
.downloads th:first-child, .downloads td:nth-child(3) { white-space: nowrap; }
.schema { margin-top: 2.5rem; }
.metric-controls { display: flex; align-items: end; gap: 1.25rem; margin-bottom: 1rem; }
.metric-controls label { display: flex; flex-direction: column; gap: .5rem; font-size: .875rem; }
.metric-controls label:first-child { flex: 1; }
.metric-controls select { font: inherit; height: 2.5rem; border: 1px solid #dbdbdb; border-radius: 4px; padding: .5rem; background: #fff; color: #363636; }
.metric-controls p { font-size: .875rem; white-space: nowrap; margin-bottom: .5rem; }
.metrics-scroll { max-height: 510px; }
.metrics-scroll thead { position: sticky; top: 0; background: white; z-index: 1; }
.metric-hint { color: #555; font-size: .8rem; margin-bottom: .5rem; }
.table-hint, .table-hint-inline { display: none; }
#metric-empty { padding: 1rem; background: #f5f5f5; }
details { margin-top: 1.5rem; }
summary { cursor: pointer; font-weight: 600; }
details[open] > summary { margin-bottom: 1rem; }
.code-header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; font-size: .875rem; margin: 1.25rem 0 .5rem; }
.copy-status { min-height: 1.5em; margin-top: .5rem; font-size: .875rem; }
.footer .content { font-size: .875rem; }
.template-credit { margin-top: 1.5rem; }

@media (max-width: 768px) {
  .publication-title.title.is-1 { font-size: 2.25rem; }
  .publication-authors { line-height: 1.7; }
  .hero-body { padding: 3rem 1.5rem; }
  .section { padding: 3rem 1.5rem; }
  .content.has-text-justified { text-align: left !important; }
  .pipeline-inputs { gap: .75rem; }
  .pipeline-inputs > div { padding: .75rem .5rem; }
  .pipeline-inputs strong { font-size: 1rem; }
  .pipeline-inputs span { font-size: .75rem; }
  .pipeline-paths, .figures { grid-template-columns: 1fr; }
  .pipeline-paths { gap: 2rem; }
  .table-scroll table { min-width: 600px; }
  .metrics-scroll table { min-width: 510px; }
  .metric-controls { flex-wrap: wrap; gap: 1rem; }
  .metric-controls label:first-child { flex-basis: 100%; }
  .metric-controls label:nth-child(2) { flex: 1; }
  .table-hint { display: block; font-size: .8rem; margin-bottom: .5rem; }
  .table-hint-inline { display: inline; }
}
@media print {
  .publication-links, .section-links, .metric-controls, .copy-button, .skip-link { display: none !important; }
  .metrics-scroll { max-height: none; }
  tr[hidden] { display: table-row !important; }
  .table-scroll { overflow: visible; }
  .section { padding: 1.5rem 0; }
  figure, pre { break-inside: avoid; }
}
/* Bulma's light hero inherits text-colored links; distinguish source links. */
.hero.is-light a:not(.button) { color: #2464bf !important; text-decoration: underline; }
