/* Based on the local ADM-DP academic page: centered sans-serif headings,
   restrained blue accents, and alternating white / light-gray sections. */
:root {
  --ink: #273344;
  --muted: #667180;
  --blue: #2563c5;
  --soft: #f7f8fa;
  --line: #e2e6ec;
}
html { scroll-behavior: smooth; }
body {
  font-family: "Noto Sans", "Segoe UI", Arial, sans-serif;
  color: var(--ink);
  font-size: 16px;
  line-height: 1.75;
  -webkit-font-smoothing: antialiased;
}
a { color: var(--blue); }
a:hover { color: #194a97; }
a:focus-visible, button:focus-visible, .table-scroll:focus-visible {
  outline: 3px solid #8eb3eb;
  outline-offset: 4px;
}
[hidden] { display: none !important; }
.container.is-max-desktop { max-width: 1060px; }
.hero-body { padding: 64px 24px 46px; }
.publication-title {
  max-width: 1050px;
  margin: 0 auto 25px !important;
  font-size: 35px !important;
  font-weight: 700 !important;
  line-height: 1.32 !important;
  letter-spacing: -.025em;
  color: var(--ink);
  text-wrap: balance;
}
.model-name { color: var(--blue); font-weight: 800; }
.title-emphasis { font-weight: 800; }
.publication-authors { max-width: 980px; margin: 0 auto 14px; line-height: 1.9; font-size: 17px; }
.publication-authors span { display: inline-block; margin-inline: 4px; }
sup { font-size: .66em; margin-left: 1px; }
.publication-institution {
  max-width: 940px;
  margin-inline: auto;
  font-size: 12.5px;
  line-height: 1.9;
  color: #65707c;
}
.publication-institution span { display: inline-block; margin: 0 7px; }
.corresponding { margin-top: 5px; font-size: 12px; color: var(--muted); }
.publication-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 24px; }
.publication-links .resource-button { height: 44px; padding: 0 20px; gap: 9px; font-size: 14px; font-weight: 600; border: 1px solid #d7dde5; border-radius: 999px; background: #fff; color: var(--ink); }
.publication-links .paper-link { transition: color .15s, border-color .15s, background-color .15s; }
.publication-links .paper-link:hover { color: var(--blue); border-color: #9bb9e7; background: #f4f8fe; }
.publication-links svg { width: 20px; height: 20px; flex-shrink: 0; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.publication-links .code-pending { background: #f8fafc; color: #667180; cursor: default; }
.section { padding: 56px 24px; scroll-margin-top: 20px; }
.soft-section { background: var(--soft); border-block: 1px solid #edf0f3; }
.section-title { font-size: 29px !important; font-weight: 700; line-height: 1.3; margin-bottom: 25px !important; color: var(--ink); }
.abstract-copy { max-width: 850px; margin: 0 auto; text-align: justify; line-height: 1.9; }
.abstract-copy p { margin: 0; }
strong { color: var(--ink); font-weight: 650; }
.section-intro { max-width: 780px; margin: -9px auto 30px; text-align: center; color: var(--muted); font-size: 15px; line-height: 1.8; }
.section-intro.model-intro { font-size: 17px; }
figure { margin: 0; }
figure img { display: block; width: 100%; height: auto; }
figcaption { color: var(--muted); font-size: 13px; line-height: 1.75; margin-top: 18px; }
.architecture-figure { max-width: 720px; margin: 0 auto; }
.architecture-figure figcaption { text-align: left; }
.method-details { display: grid; grid-template-columns: 1fr 1fr; gap: 38px; margin-top: 44px; padding-top: 32px; border-top: 1px solid var(--line); }
.method-details > figure { min-width: 0; }
.figure-heading { font-size: 17px; font-weight: 700; text-align: center; margin-bottom: 20px; }
.method-details img { height: 310px; object-fit: contain; }
.method-details figcaption { text-align: left; }
.training-figure { margin: 44px auto 0; padding-top: 32px; border-top: 1px solid var(--line); }
.training-figure .figure-heading { width: fit-content; margin-inline: auto; transform: translateX(16px); }
.training-figure img { max-width: 780px; margin-inline: auto; }
.training-figure figcaption { max-width: 820px; margin-inline: auto; text-align: left; }
.results-container { max-width: 1160px !important; }
.performance-highlight { margin: -10px 0 26px; text-align: center; color: #c03939; font-size: 22px; font-weight: 700; line-height: 1.4; }
.result-summary { display: flex; justify-content: center; gap: 65px; margin: 0 auto 30px; text-align: center; }
.result-summary strong { display: block; font-size: 24px; color: var(--blue); letter-spacing: -.035em; }
.result-summary span { display: block; font-size: 12px; color: var(--muted); }
.table-scroll { overflow-x: auto; background: #fff; border: 1px solid var(--line); border-radius: 6px; max-width: 100%; }
.results-table { width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; font-size: 12px; text-align: center; line-height: 1.45; }
.results-table caption { caption-side: top; padding: 17px 14px; font-weight: 650; color: var(--ink); text-align: left; }
.results-table thead { background: #eef1f5; }
.results-table th, .results-table td { padding: 10px 9px; border-bottom: 1px solid #eef0f3; vertical-align: middle; }
.results-table thead th { font-weight: 600; white-space: nowrap; }
.results-table th:first-child { text-align: left; }
.results-table th[scope="row"] { white-space: nowrap; font-weight: 500; }
.results-table .group-row th { background: #f8f9fb; padding: 9px 13px; color: #697583; font-size: 11px; font-weight: 600; border-top: 1px solid var(--line); }
.results-table .pretrained { color: #929aa5; }
.results-table .ours { background: #eef4fe; color: #244d86; }
.results-table .ours th, .results-table .ours td { font-weight: 650; }
.results-table .average { font-weight: 650; }
.simulation-table { min-width: 920px; }
.table-note { margin-top: 13px; font-size: 12px; color: var(--muted); line-height: 1.7; }
.pretraining-note { font-size: 14px; }
.real-results table { min-width: 760px; font-size: 13px; }
.video-section { margin-top: 42px; padding-top: 30px; border-top: 1px solid var(--line); }
.video-title { font-size: 23px; text-align: center; }
.video-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; }
.video-grid figure { min-width: 0; }
.video-grid video { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: contain; background: #111; border-radius: 6px; }
.video-grid figcaption { margin-top: 8px; text-align: center; }
.demo-video { display: block; width: auto; height: auto; max-width: 100%; max-height: min(72vh, 640px); margin-inline: auto; object-fit: contain; background: #111; border-radius: 8px; }
.footer { padding: 28px 24px; background: white; font-size: 13px; color: var(--muted); }
.footer-credit { margin-top: 7px; font-size: 11px; }
@media (max-width: 1023px) {
  .desktop-break { display: none; }
  .publication-title { font-size: 32px !important; max-width: 870px; }
}
@media (max-width: 767px) {
  .hero-body { padding: 38px 20px 32px; }
  .publication-title { font-size: 27px !important; line-height: 1.35 !important; }
  .publication-authors { font-size: 14px; }
  .publication-institution { font-size: 11px; }
  .publication-institution span { margin-inline: 3px; }
  .section { padding: 38px 18px; }
  .section-title { font-size: 25px !important; }
  .abstract-copy { text-align: left; font-size: 14px; }
  .section-intro { font-size: 13px; }
  .section-intro.model-intro { font-size: 15px; }
  .training-figure .figure-heading { transform: translateX(8px); }
  .performance-highlight { font-size: 20px; }
  .method-details { grid-template-columns: 1fr; gap: 28px; }
  .method-details img { height: auto; }
  .result-summary { gap: 18px; }
  .result-summary p { flex: 1; min-width: 0; }
  .result-summary strong { font-size: 18px; line-height: 1.5; }
  .result-summary span { font-size: 10px; }
  .video-grid { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
