/* Based directly on Qin Guo's WildActor template (see README.md). */
:root { --accent-blue: #3273dc; --text-primary: #1a1a1a; --text-secondary: #4a4a4a; --shadow-soft: 0 8px 30px rgba(0,0,0,0.06); }
body { font-family: 'Noto Sans', sans-serif; background-color: #ffffff; color: var(--text-primary); line-height: 1.6; }
.publication-title-name { font-family: 'Google Sans', sans-serif; font-size: 2.6rem !important; font-weight: 800 !important; letter-spacing: -0.02em; line-height: 1.1; margin-bottom: 8px !important; }
.publication-title-text { font-family: 'Google Sans', sans-serif; font-size: 2.6rem !important; font-weight: 700 !important; letter-spacing: -0.01em; line-height: 1.3; margin-bottom: 2rem !important; color: #363636; }
.project-name { background: linear-gradient(45deg, #ff073a, #ff4081, #e91e63, #9c27b0, #673ab7); -webkit-background-clip: text; background-clip: text; color: transparent; }
.author-block { font-size: 1.25rem; }
.author-block a { color: #3273dc; font-weight: 500; transition: color 0.2s; }
.author-block a:hover { color: #1a1a1a; text-decoration: underline; }
.external-link { background-color: #363636 !important; color: white !important; border-radius: 30px !important; font-weight: 500; border: none !important; transition: background-color 0.2s, transform 0.2s; padding-left: 1.2rem !important; padding-right: 1.2rem !important; margin: 0 4px 10px; }
.external-link:hover { background-color: #000 !important; transform: translateY(-2px); }
section.section { padding: 3rem 1.5rem; }
.hero-body { padding-top: 3rem !important; padding-bottom: 2rem !important; }
.subtitle { font-family: 'Google Sans', sans-serif; font-size: 1.15rem; font-weight: 400; color: #4a4a4a; line-height: 1.6; }
.content-block { font-size: 1rem; text-align: justify; max-width: 1000px; margin: 0 auto; color: var(--text-secondary); }
.method-img { width: 100%; border-radius: 16px; box-shadow: var(--shadow-soft); display: block; margin: 0 auto; }

/* Static results use the same original images in both template variants. */
html { scroll-behavior: auto; }
body { margin: 0; }
*, *::before, *::after { box-sizing: border-box; }
h1 { margin: 0; }
.publication-title-text { text-wrap: balance; }
h1 > .publication-title-name, h1 > .publication-title-text { display: block; }
img { display: block; max-width: 100%; height: auto; }
figure { margin: 0; }
a { color: #3273dc; }
button { font: inherit; }
.skip-link { position: absolute; left: 12px; top: -100px; z-index: 2; padding: 10px 16px; background: #fff; border: 1px solid #3273dc; }
.skip-link:focus { top: 12px; }
:focus-visible { outline: 3px solid #3273dc; outline-offset: 4px; }
.conference { display: inline-block; margin: 0 0 1.25rem; padding: .25rem .8rem; border: 1px solid #dce4ee; border-radius: 24px; background: #f5f8fc; color: #365787; font-size: 1rem; font-weight: 500; }
.publication-authors { margin-bottom: .8rem; }
.author-block { display: inline-block; }
.affiliations { margin: 0 auto .35rem; font-size: 1.25rem; color: #4a4a4a; line-height: 1.6; }
.corresponding { margin: 0 0 1.5rem; font-size: 1rem; font-weight: 500; color: #4a4a4a; }
.publication-links { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .5rem; margin-bottom: 0; }
.external-link { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; min-height: 42px; text-decoration: none; }
.external-link svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.external-link.code-placeholder { opacity: 1; background: #e4e4e7 !important; color: #5c5c64 !important; cursor: default; box-shadow: none; transform: none; }
.teaser-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; margin-top: 2rem; }
.teaser-pair { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.teaser-pair figure { min-width: 0; }
.teaser-pair figcaption { margin-bottom: 8px; font-size: 1rem; font-weight: 600; }
.teaser-pair img { width: 100%; border-radius: 10px; }
.teaser-prompt { margin-top: 12px; font-size: 1rem; line-height: 1.6; color: #4a4a4a; }
.hero .subtitle { margin: 1.75rem auto 0; font-size: 1rem; }
.section-title { margin-bottom: 1.5rem; }
.section-lead { margin: -.35rem auto 2rem; max-width: 920px; text-align: center; color: #4a4a4a; font-size: 1rem; line-height: 1.6; }
.soft { background: #f8f9fa; }
.comparison-example + .comparison-example { margin-top: 2rem; }
.comparison-header, .comparison-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.comparison-header { align-items: end; margin-bottom: 14px; padding: 12px 0; border-bottom: 1px solid #e2e5e8; color: #363636; font-size: 1rem; font-weight: 600; text-align: center; }
.comparison-header .ours { color: #275b9b; }
.comparison-cell { min-width: 0; }
.comparison-cell figcaption { display: none; margin-bottom: 10px; font-size: 1rem; font-weight: 600; text-align: center; color: #363636; }
.comparison-cell.ours figcaption { color: #275b9b; }
.comparison-cell img { width: 100%; aspect-ratio: 1; border-radius: 10px; background: #f0f0f0; }
.comparison-caption { margin: 12px auto 0; max-width: 100%; color: #4a4a4a; font-size: 1rem; line-height: 1.6; text-align: center; }
.comparison-caption strong { color: #363636; font-weight: 600; }
.figure-note { margin: 1rem auto 0; font-size: 1rem; color: #4a4a4a; text-align: center; line-height: 1.6; }
.method-description { margin-top: 1.5rem; }
.table-caption { margin: 0 auto 1rem; text-align: center; color: #4a4a4a; font-size: 1rem; }
.table-mobile-hint { display: none; }
.table-wrap { max-width: 100%; overflow-x: auto; }
.results-table { width: 100%; min-width: 640px; border-collapse: collapse; font-size: 1rem; }
.results-table caption { padding-bottom: 1rem; text-align: center; color: #4a4a4a; }
.results-table th, .results-table td { padding: .85rem .7rem; border-bottom: 1px solid #dedede; text-align: center; white-space: nowrap; }
.results-table th:first-child { text-align: left; }
.results-table thead th { border-top: 2px solid #444; border-bottom: 1px solid #444; color: #1a1a1a; font-weight: 600; }
.results-table tbody th { font-weight: 400; }
.results-table .ours { background: #eef3f9; font-weight: 700; }
.results-table .ours th { font-weight: 700; }
.results-table tr:last-child th, .results-table tr:last-child td { border-bottom: 2px solid #444; }
.citation-box { position: relative; }
.citation-box pre { margin: 0; padding: 3.2rem 1.5rem 1.5rem; border: 1px solid #eee; border-radius: 12px; background: #f5f5f5; overflow-x: auto; color: #222; font-size: .95rem; line-height: 1.6; }
.citation-box pre code { font: inherit; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
#copy-citation { position: absolute; right: 12px; top: 10px; padding: .25rem .75rem; border: 1px solid #d3d3d3; border-radius: 6px; color: #363636; background: #fff; cursor: pointer; font-size: 1rem; }
#copy-citation:hover { border-color: #777; }
#copy-status { min-height: 1.6em; margin-top: .35rem; color: #4a4a4a; font-size: 1rem; }
@media (max-width: 1023px) {
  .title-break { display: none; }
}
@media (max-width: 768px) {
  body[data-template="wildactor"] .publication-title-name, body[data-template="wildactor"] .publication-title-text { font-size: 1.9rem !important; line-height: 1.25; }
  body[data-template="wildactor"] .hero-body { padding: 2.4rem 1rem 1.7rem !important; }
  body[data-template="wildactor"] section.section { padding: 2.55rem 1rem; }
  body[data-template="wildactor"] .affiliations, body[data-template="wildactor"] .author-block { font-size: 1.125rem; }
  .content-block { text-align: left; }
  .desktop-only { display: none; }
  .teaser-grid { grid-template-columns: 1fr; gap: 24px; }
  .comparison-header, .comparison-grid { gap: 10px; }
  .comparison-caption { text-align: left; }
  .teaser-prompt { text-align: center; }
  .section-lead { text-align: left; }
  .figure-note { text-align: left; }
}
@media (max-width: 575px) {
  .table-mobile-hint { display: block; margin: 0 0 .75rem; color: #4a4a4a; font-size: 1rem; }
  .comparison-grid { grid-template-columns: 1fr; gap: 18px; }
  .comparison-cell { max-width: 420px; width: 100%; margin: 0 auto; }
  .comparison-header { display: none; }
  .comparison-cell figcaption { display: block; }
  .comparison-example + .comparison-example { margin-top: 2rem; padding-top: 2rem; border-top: 1px solid #dedede; }
  .comparison-example { display: flex; flex-direction: column; }
  .comparison-caption { order: -1; margin: 0 0 16px; }
  .citation-box pre { font-size: .875rem; padding-left: 1rem; padding-right: 1rem; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; animation: none !important; }
}
