:root { --blue: #3273dc; --text: #363636; --muted: #777; --line: #dbdbdb; --soft: #f5f5f5; }
* { box-sizing: border-box; }
body { margin: 0; background: #fff; color: var(--text); font-family: Arial, Helvetica, sans-serif; font-size: 16px; line-height: 1.55; }
.container { width: min(1120px, calc(100% - 36px)); margin: 0 auto; }
.hero { padding: 52px 0 28px; text-align: center; }
h1 { max-width: 1050px; margin: 0 auto 12px; color: #222; font-size: clamp(30px, 4vw, 46px); font-weight: 400; line-height: 1.18; }
.venue { margin: 0 0 20px; font-size: 20px; font-weight: 600; }
.authors { max-width: 1000px; margin: 0 auto; color: var(--blue); font-size: 18px; line-height: 1.8; }
.authors a { color: inherit; text-decoration: none; }
.authors a:hover, .authors a:focus-visible { text-decoration: underline; }
sup, sub { font-size: .7em; }
.affiliations { display: flex; flex-wrap: wrap; justify-content: center; gap: 2px 18px; margin: 8px auto 0; color: #555; font-size: 14px; }
.author-note { margin: 2px 0 0; color: var(--muted); font-size: 13px; }
.buttons { margin-top: 22px; text-align: center; }
.button { display: inline-block; padding: 9px 19px; border-radius: 4px; background: var(--blue); color: #fff; font-size: 14px; font-weight: 600; text-decoration: none; }
.button:hover { background: #2366c4; }
.section { padding: 44px 0 16px; }
h2 { margin: 0 0 20px; color: #222; font-size: 30px; font-weight: 500; text-align: center; }
.section-intro { max-width: 880px; margin: -5px auto 32px; color: #555; text-align: center; }
.main-video { display: block; width: min(900px, 100%); aspect-ratio: 16 / 9; margin: 0 auto; background: #000; object-fit: contain; }
.prompt-group { margin: 0 0 56px; }
.prompt-group h3, .sensitivity-group h3 { margin: 0 0 18px; font-size: 18px; font-weight: 500; text-align: center; }
.comparison-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px 24px; }
.video-item { text-align: center; }
.video-item video { display: block; width: 100%; aspect-ratio: 960 / 544; background: #000; object-fit: cover; }
.video-item p { margin: 8px 0 0; }
.video-item .metric { margin-top: 1px; color: var(--muted); font-size: 14px; }
.video-item .metric b { color: #444; font-weight: 600; }
.sensitivity-group { margin: 0 0 64px; }
.sensitivity-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px 24px; }
.sensitivity-grid article { text-align: center; }
.sensitivity-video { position: relative; }
.sensitivity-grid video { display: block; width: 100%; aspect-ratio: 960 / 544; background: #000; object-fit: cover; }
.sensitivity-grid p { margin: 7px 0 0; font-weight: 600; }
.focus-box { position: absolute; border: 3px solid #e32727; box-shadow: 0 0 0 1px rgba(255,255,255,.65); pointer-events: none; }
.focus-hummingbird { left: 63%; top: 39%; width: 19%; height: 27%; }
.focus-fox { left: 37%; top: 17%; width: 31%; height: 25%; }
.focus-lake { left: 42%; top: 43%; width: 27%; height: 30%; }
.detail-heading { margin: 30px 0 12px; color: #555; font-size: 15px; font-weight: 600; text-align: center; }
.detail-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; width: min(820px, 100%); margin: 0 auto; }
.detail-grid article { text-align: center; }
.detail-grid p { margin: 7px 0 0; font-weight: 600; }
.zoom-window { aspect-ratio: 16 / 9; overflow: hidden; border: 3px solid #e32727; background: #000; }
.zoom-window video { display: block; width: 100%; height: 100%; object-fit: cover; transform: scale(2.35); }
.zoom-hummingbird video { transform-origin: 72% 52%; }
.zoom-fox video { transform-origin: 53% 29%; }
.zoom-lake video { transform-origin: 55% 58%; }
.bibtex { max-width: 900px; padding-bottom: 58px; }
pre { margin: 0; padding: 18px 20px; overflow-x: auto; background: var(--soft); color: #333; font: 13px/1.55 Consolas, "Courier New", monospace; white-space: pre-wrap; }
@media (max-width: 700px) {
  .hero { padding-top: 34px; }
  .authors { font-size: 16px; }
  .affiliations { display: block; }
  .affiliations span { display: block; }
  .section { padding-top: 36px; }
  .comparison-grid, .sensitivity-grid, .detail-grid { grid-template-columns: 1fr; }
  .sensitivity-grid { gap: 22px; }
}
