/* Academic project page: white page, one centred column, Bulma-like type and buttons. */
:root { color-scheme: light; }
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
  margin: 0; background: #ffffff; color: #363636;
  font-family: "Google Sans", "Noto Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  font-size: 16px; line-height: 1.5;
}
img, video { max-width: 100%; height: auto; display: block; }
a { color: #3273dc; text-decoration: none; }
a:hover { color: #363636; text-decoration: underline; }
sup { font-size: .7em; line-height: 0; vertical-align: baseline; position: relative; top: -.5em; }
math { font-family: "Castoro", "Times New Roman", Times, serif; font-size: 1.05em; }

.container { max-width: 1024px; margin: 0 auto; padding: 0 1.5rem; }
.narrow { max-width: 800px; margin: 0 auto; }
.wide { max-width: 1024px; margin: 0 auto; }
.section { padding: 2.5rem 0; }
.section + .section { border-top: 1px solid #ededed; }
.has-text-centered { text-align: center; }
.has-text-justified { text-align: justify; }

/* hero */
.hero { padding: 3rem 0 1.5rem; }
.publication-title { font-size: 2.6rem; line-height: 1.15; font-weight: 700; margin: 0 0 .75rem; color: #363636; letter-spacing: -.01em; }
.publication-subtitle { font-size: 1.55rem; line-height: 1.3; font-weight: 400; margin: 0 0 1.5rem; color: #4a4a4a; }
.publication-authors { font-size: 1.25rem; line-height: 1.6; margin: 0 0 .6rem; }
.publication-authors span { white-space: nowrap; }
.publication-authors sup { color: #7a7a7a; font-size: .6em; }
.publication-affils { font-size: .95rem; line-height: 1.55; color: #4a4a4a; margin: 0 auto .4rem; max-width: 820px; }
.publication-affils p { margin: 0; }
.publication-marks { font-size: .9rem; color: #7a7a7a; margin: 0 0 .9rem; }
.publication-venue { font-size: 1.05rem; color: #4a4a4a; margin: 0 0 1.4rem; }
.publication-venue b { color: #363636; font-weight: 600; }
.publication-links { display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem; margin: 0 0 1.6rem; }
.button {
  display: inline-flex; align-items: center; gap: .5rem; height: 2.5em; padding: 0 1.1em;
  border-radius: 9999px; background: #363636; color: #fff; font-size: 1rem; font-weight: 500; line-height: 1;
  border: 1px solid transparent; text-decoration: none; white-space: nowrap;
}
.button:hover { background: #292929; color: #fff; text-decoration: none; }
.button svg { width: 1.05em; height: 1.05em; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.logos { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 1rem 2.4rem; margin: .2rem 0 2rem; }
.logos img { height: 42px; width: auto; }
.logos a:hover { text-decoration: none; }
.teaser video { width: 100%; border: 1px solid #bbb; border-radius: 10px; background: #000; aspect-ratio: 16 / 9; }
.teaser .subtitle { font-size: 1.15rem; line-height: 1.5; color: #4a4a4a; margin: 1.4rem auto 0; max-width: 820px; }
.teaser .subtitle b { color: #363636; font-weight: 600; }

/* type */
.title { font-weight: 600; color: #363636; line-height: 1.2; margin: 0 0 1.25rem; }
.title.is-3 { font-size: 2rem; }
.title.is-4 { font-size: 1.5rem; margin: 2rem 0 .9rem; }
.title.is-5 { font-size: 1.2rem; margin: 1.6rem 0 .6rem; }
.content { font-size: 1.08rem; line-height: 1.65; }
.content p { margin: 0 0 1em; }
.content p:last-child { margin-bottom: 0; }
.content ul, .content ol { margin: 0 0 1em 1.4em; padding: 0; }
.content li { margin-bottom: .45em; }
.content li:last-child { margin-bottom: 0; }
.content em { font-style: italic; }
.content .eq { display: block; text-align: center; margin: .4em 0 1em; }
.content math[display="block"] { font-size: 1.25em; }

/* figures and media */
.figure { margin: 1.5rem auto; }
.figure img { width: 100%; height: auto; }
.figure.boxed img, .figure.boxed video { border: 1px solid #ddd; border-radius: 6px; }
.figure figcaption { font-size: .95rem; line-height: 1.5; color: #4a4a4a; margin-top: .6rem; text-align: justify; }
.figure figcaption b { color: #363636; font-weight: 600; }
.figure.narrow { max-width: 800px; }
.figure.half { max-width: 620px; }
.video-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin: 1.5rem 0 .5rem; }
.video-grid .cell { text-align: center; }
.video-grid video { width: 100%; border: 1px solid #bbb; border-radius: 10px; background: #000; aspect-ratio: 16 / 9; }
.video-grid .cell p { margin: .5rem 0 0; font-size: .95rem; line-height: 1.45; color: #4a4a4a; }
.video-grid .cell p b { color: #363636; font-weight: 600; }
.video-grid .cell p span { color: #7a7a7a; }
.two-up { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin: 1.5rem 0 .5rem; }
.two-up video { width: 100%; border: 1px solid #bbb; border-radius: 10px; background: #000; aspect-ratio: 4 / 3; object-fit: cover; }
.two-up p { margin: .5rem 0 0; font-size: .95rem; color: #4a4a4a; text-align: center; }
.media-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1.2rem; align-items: end; margin: 1.5rem 0; }
.media-row video, .media-row img { width: 100%; border: 1px solid #ddd; border-radius: 6px; }
.media-row video.square { aspect-ratio: 4 / 3; object-fit: cover; }
.media-row p { margin: .5rem 0 0; font-size: .95rem; color: #4a4a4a; text-align: center; }
@media (max-width: 760px) {
  .video-grid { grid-template-columns: 1fr 1fr; }
  .two-up, .media-row { grid-template-columns: 1fr; }
}
@media (max-width: 480px) { .video-grid { grid-template-columns: 1fr; } }

/* tables, Bulma-like */
.table-container { overflow-x: auto; margin: 1.2rem 0 .4rem; }
table.table { width: 100%; border-collapse: collapse; font-size: .95rem; background: #fff; }
.table th, .table td { padding: .5em .75em; border: 0; border-bottom: 1px solid #dbdbdb; text-align: left; vertical-align: top; }
.table thead th { border-bottom: 2px solid #dbdbdb; color: #363636; font-weight: 600; }
.table th.num, .table td.num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.table .ci { color: #7a7a7a; font-size: .85em; margin-left: .25em; }
.table tr.group td { font-style: italic; color: #4a4a4a; background: #fafafa; }
.table tr.kept td { background: #eef3fb; }
.table tr.kept td:first-child { font-weight: 600; }
.table .yes { color: #257942; font-weight: 600; }
.table .no { color: #cc0f35; font-weight: 600; }
.table-caption { font-size: .95rem; line-height: 1.5; color: #4a4a4a; text-align: justify; margin: 0 0 1rem; }
.table-caption b { color: #363636; font-weight: 600; }

/* data, related */
.linklist { margin: 0; padding: 0; list-style: none; }
.linklist li { padding: .8rem 0; border-bottom: 1px solid #ededed; }
.linklist li:last-child { border-bottom: 0; }
.linklist .t { font-weight: 600; color: #363636; }
.linklist .d { color: #4a4a4a; font-size: .98rem; margin-top: .15rem; }

/* bibtex */
pre.bibtex {
  background: #f5f5f5; color: #4a4a4a; padding: 1.25rem 1.5rem; border-radius: 6px;
  font-family: "SFMono-Regular", Menlo, Consolas, "Liberation Mono", monospace; font-size: .88rem; line-height: 1.5;
  overflow-x: auto; white-space: pre; margin: 0;
}

/* footer */
.footer { background: #fafafa; border-top: 1px solid #ededed; padding: 2.5rem 0 3rem; margin-top: 2rem; font-size: .95rem; color: #4a4a4a; }
.footer .logos { margin: 0 0 1.2rem; }
.footer .logos img { height: 36px; }
.footer p { margin: 0 0 .5rem; }
.footer .links a { margin: 0 .55rem; }

@media (max-width: 700px) {
  .hero { padding-top: 2rem; }
  .publication-title { font-size: 1.9rem; }
  .publication-subtitle { font-size: 1.2rem; }
  .publication-authors { font-size: 1.05rem; }
  .title.is-3 { font-size: 1.6rem; }
  .content { font-size: 1.02rem; }
  .button { font-size: .92rem; }
}
