body {
  font-family: 'Noto Sans', sans-serif;
}


.footer .icon-link {
  font-size: 25px;
  color: #000;
}

.link-block a {
  margin-top: 5px;
  margin-bottom: 5px;
}

/* ----------------------------------------------------------------
   FLKD 3D Benchmark — accents, tables, figures, callouts
   ---------------------------------------------------------------- */

:root {
  --fl-blue: #2c7bb6;
  --fl-blue-dark: #1f4e79;
  --kd-red: #d7191c;
  --rule: #e2e8f0;
}

.publication-links {
  margin-top: 1.25rem;
}

.section .title.is-3 {
  color: var(--fl-blue-dark);
}

/* Contributions list */
.contrib-list {
  margin: 0 0 0 1.1rem;
  padding: 0;
}

.contrib-list li {
  margin-bottom: 0.6rem;
  line-height: 1.55;
  text-align: justify;
}

.contrib-list li::marker {
  color: var(--fl-blue);
  font-weight: 700;
}

/* Figure captions */
.fig-caption {
  font-size: 0.9rem;
  color: #555;
  text-align: justify;
  line-height: 1.5;
  margin-top: 0.7rem;
  margin-bottom: 1.5rem;
}

/* Breathing room around figures — clearer separation from tables and text */
#app img {
  margin-top: 1.9rem !important;
}

/* Result tables */
.table-wrap {
  width: 100%;
  overflow-x: auto;
  margin: 1.9rem 0 0.5rem;
}

.results-table {
  border-collapse: collapse;
  width: 100%;
  font-size: 0.92rem;
  background: #fff;
}

.results-table caption {
  caption-side: top;
  text-align: justify;
  font-size: 0.88rem;
  color: #555;
  line-height: 1.5;
  margin-bottom: 0.75rem;
}

.results-table thead th {
  background: #f3f6fa;
  color: var(--fl-blue-dark);
  font-weight: 700;
  text-align: center;
  padding: 9px 14px;
  border-bottom: 2px solid var(--fl-blue);
  white-space: nowrap;
}

.results-table tbody td {
  padding: 8px 14px;
  text-align: center;
  border-bottom: 1px solid var(--rule);
  font-variant-numeric: tabular-nums;
}

.results-table .t-left {
  text-align: left;
  white-space: nowrap;
}

.results-table tbody tr:nth-child(even) {
  background: #fafbfc;
}

.results-table tbody tr:hover {
  background: #eef5fb;
}

.results-table tbody tr.baseline-row {
  background: #f1f7f1;
  font-weight: 600;
}

.results-table tbody tr.baseline-row td {
  border-bottom: 1px solid #cfe0cf;
}

.results-table td.best {
  font-weight: 700;
  color: #1a7a3c;
}

.table-legend {
  font-size: 0.8rem;
  color: #777;
  text-align: center;
  margin-top: 0.4rem;
  margin-bottom: 1.5rem;
}

/* Callout box */
.callout {
  margin-top: 1.6rem;
  padding: 1rem 1.25rem;
  background: #fdecea;
  border-left: 4px solid var(--kd-red);
  border-radius: 6px;
  text-align: justify;
  line-height: 1.55;
  font-size: 0.95rem;
}

.dnerf {
  font-variant: small-caps;
}


.teaser .hero-body {
  padding-top: 0;
  padding-bottom: 3rem;
}

.teaser {
  font-family: 'Google Sans', sans-serif;
}


.publication-title {}

.publication-banner {
  max-height: parent;

}

.publication-banner video {
  position: relative;
  left: auto;
  top: auto;
  transform: none;
  object-fit: fit;
}

.publication-header .hero-body {}

.publication-title {
  font-family: 'Google Sans', sans-serif;
}

.publication-authors {
  font-family: 'Google Sans', sans-serif;
}

.publication-venue {
  color: #555;
  width: fit-content;
  font-weight: bold;
}

.publication-awards {
  color: #ff3860;
  width: fit-content;
  font-weight: bolder;
}

.publication-authors {}

.publication-authors a {
  color: hsl(204, 86%, 53%) !important;
}

.publication-authors a:hover {
  text-decoration: underline;
}

.author-block {
  display: inline-block;
}

.publication-banner img {}

.publication-authors {
  /*color: #4286f4;*/
}

.publication-video {
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 56.25%;

  overflow: hidden;
  border-radius: 10px !important;
}

.publication-video iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.publication-body img {}

.results-carousel {
  overflow: hidden;
}

.results-carousel .item {
  margin: 5px;
  overflow: hidden;
  border: 1px solid #bbb;
  border-radius: 10px;
  padding: 0;
  font-size: 0;
}

.results-carousel video {
  margin: 0;
}


.interpolation-panel {
  background: #f5f5f5;
  border-radius: 10px;
}

.interpolation-panel .interpolation-image {
  width: 100%;
  border-radius: 5px;
}

.interpolation-video-column {}

.interpolation-panel .slider {
  margin: 0 !important;
}

.interpolation-panel .slider {
  margin: 0 !important;
}

#interpolation-image-wrapper {
  width: 100%;
}

#interpolation-image-wrapper img {
  border-radius: 5px;
}

/* ================================================================
   Template engine styles (added for the config-driven renderer)
   venue line, authors/affiliations, loading & error states,
   poster embed, figure placeholders, bibtex copy, footer.
   ================================================================ */

.publication-venue-line {
  color: #5a6268;
  font-size: 1.25em;
  font-weight: 700;
  margin-top: 0.35rem;
  margin-bottom: 0.25rem;
}

.publication-authors { margin-top: 0.6rem; }
.publication-affiliations { color: #4a5568; margin-top: 0.15rem; }
.affiliation-block { display: inline-block; }

.app-loading { color: #8a94a0; padding: 4rem 0; }

.config-error { background: #fff5f5; border: 1px solid #f5c2c7; color: #842029; }
.config-error pre {
  background: #1f2933; color: #e6edf3; padding: 0.75rem 1rem;
  border-radius: 6px; overflow: auto; margin-top: 0.5rem;
}
.config-error a { color: #842029; text-decoration: underline; }

/* Poster embed */
.publication-pdf {
  position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;
  max-width: 100%; background: #f0f0f0; border-radius: 10px;
}
.publication-pdf iframe {
  position: absolute; top: 0; left: 0; width: 100%; height: 100%;
}

/* Figure placeholder shown when an image file is missing */
.figure-placeholder {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 0.4rem; margin: 0 auto; padding: 2.5rem 1rem; min-height: 180px;
  border: 2px dashed #cbd5e0; border-radius: 10px;
  background: #f8fafc; color: #64748b;
}
.figure-placeholder-icon { font-size: 2rem; line-height: 1; }
.figure-placeholder-title { font-weight: 700; color: #475569; }
.figure-placeholder-note { font-size: 0.8rem; color: #94a3b8; word-break: break-all; }

/* BibTeX copy button + toast */
.copy-icon {
  position: absolute; top: 10px; right: 10px; cursor: pointer;
  width: 36px; height: 36px; fill: #c7c7c7; transition: fill 0.15s ease;
}
.copy-icon:hover { fill: #4a5568; }
.copy-toast {
  position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%);
  background: #4CAF50; color: #fff; padding: 10px 14px; border-radius: 6px;
  z-index: 9999; box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2);
}

/* Footer */
.footer .footer-icons { margin-bottom: 0.5rem; }
.footer .footer-icons .icon-link { margin: 0 0.45rem; }
.footer .footer-note { color: #6b7280; font-size: 0.9rem; }

/* Small screens */
@media screen and (max-width: 768px) {
  .publication-title.is-2 { font-size: 1.6rem; }
  .results-table { font-size: 0.82rem; }
  .results-table thead th, .results-table tbody td { padding: 7px 9px; }
}

/* Video embeds (responsive 16:9; supports iframe and <video>) */
.publication-video { margin-bottom: 1.25rem; }
.publication-video video { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: #000; }

/* ================================================================
   Spacing refinements — airy hero + clearer section separation
   ================================================================ */
.hero-body { padding-top: 4rem; padding-bottom: 3rem; }
.publication-title.is-2 { margin-bottom: 1.3rem; line-height: 1.2; }
.publication-venue-line { margin: 0.2rem 0 0; }
.publication-authors { margin-top: 1.6rem; }
.publication-affiliations { margin-top: 0.7rem; }
.publication-links { margin-top: 2.4rem; }
.publication-links .link-block { display: inline-block; margin: 0.4rem 0.4rem; }

.section { padding-top: 2.9rem; padding-bottom: 2.9rem; }
.section .title.is-3 { margin-bottom: 1.6rem; }
.section .title.is-4.has-text-left { margin-top: 2.6rem; }
