:root {
  --ink: #4a4a4a;
  --green: #76b900;
  --gold: #ffc000;
  --line: #dedede;
}

html { scroll-behavior: smooth; }
body { overflow-x: hidden; font-family: Nunito, sans-serif; font-size: 18px; color: var(--ink); background: #fff; }
.hero { background: #fff; }
.hero-body { padding: 3.5rem 1rem 2.25rem; }
.robo { color: var(--gold); }
.world { color: var(--green); }
.hero .publication-title { line-height: 1.15; margin-bottom: 1rem; }
.hero .publication-title i { margin-bottom: 12px; }
.hero-subtitle { color: #666; }
.hero p { overflow-wrap: anywhere; }
.hero-submit { margin-top: 1.25rem; }
.button.primary { background: var(--green); border-color: var(--green); color: #fff; }
.button.primary:hover, .button.primary:focus { background: #5d9200; border-color: #5d9200; color: #fff; }
.hero-media, .wide-media { display: block; width: 100%; max-width: 100%; height: auto; }
.hero-media { margin-bottom: 1.5rem; }
.wide-media { margin: 1.5rem 0 0; }
.intro .welcome { margin-top: 24px; }
.intro .prize-summary { margin-top: 14px; }
main .content > hr { height: 1px; margin: 1.5rem 0; background: var(--line); }
main .content > section > h2 { margin-top: 2.5rem; }
.content h3.section-subtitle { color: var(--green); margin-top: 1.5rem; }
.content .table-container { max-width: 100%; overflow-x: auto; }
.content .table { width: 100%; }
.content .table th, .content .table td { vertical-align: middle; padding: .45em .6em; }
.content .table th:first-child, .content .table td:first-child { font-weight: 700; white-space: nowrap; }
.score-panel { text-align: center; }
.score-box { display: inline-block; max-width: 820px; margin: 1.5rem auto; padding: 20px 30px; border-radius: 12px; background: #f5f5f5; text-align: center; }
.score-box p { margin-bottom: .35rem; }
.dataset-examples-title { margin-top: 2rem; }
.dataset-feature { max-width: 760px; margin: 1.5rem auto; }
.dataset-feature video, .dataset-example video { display: block; width: 100%; height: auto; border-radius: 8px; background: #111; }
.dataset-feature p, .dataset-example p { margin-top: .75rem; }
.dataset-example-columns { margin-top: 1rem; }
.demo-example video { display: block; width: 100%; height: auto; border-radius: 8px; background: #111; }
.demo-example p { margin-top: 1rem; }
.media-credit { font-size: .9rem; }
.content pre { padding: 1rem; background: #f7f7f7; color: var(--ink); white-space: pre-wrap; overflow-wrap: anywhere; }
.back-to-top { position: fixed; right: 50px; bottom: 20px; z-index: 5; width: 2.8rem; height: 2.8rem; border-radius: 50%; display: grid; place-items: center; background: var(--gold); color: #fff; text-decoration: none; opacity: 0; visibility: hidden; transition: opacity .2s, background .2s, visibility .2s; }
.back-to-top.visible { opacity: 1; visibility: visible; }
.back-to-top:hover, .back-to-top:focus { background: var(--green); color: #fff; }
.footer { padding: 2.5rem 1rem; border-top: 1px solid var(--line); background: #fff; color: var(--ink); text-align: center; }
.footer a { color: #466d00; }

@media (max-width: 640px) {
  .hero-body { padding: 2.5rem .5rem 1.5rem; }
  .hero .title.is-1 { font-size: 2.15rem; overflow-wrap: anywhere; }
  .hero .title.is-2 { font-size: 1.75rem; }
  .hero .title.is-4 { font-size: 1.15rem; }
  .section { padding: 1.5rem .5rem; }
  .back-to-top { right: .7rem; bottom: .7rem; }
}
