* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: #fff; color: #555; font: 17px/1.7 Helvetica, Arial, sans-serif; }
.container { width: calc(100% - 48px); max-width: 1040px; margin: 0 auto; }
header { padding: 52px 0 0; }
.text-center { text-align: center; }
h1,h2 { color: #505050; line-height: 1.25; font-weight: 600; }
h1 { font-size: clamp(29px, 3.1vw, 42px); max-width: 1020px; margin: 0 auto 24px; letter-spacing: -.6px; }
h2 { font-size: 27px; margin: 0 0 20px; }
p { margin: 0 0 19px; }
a { color: #0878c7; text-decoration: none; border-bottom: 1px dotted; }
a:hover { color: #005a98; border-bottom-style: solid; }
a:focus-visible { outline: 3px solid #0878c7; outline-offset: 5px; }
.research-label { color: #a65b00; font-size: 16px; }
.authors { display: flex; justify-content: center; flex-wrap: wrap; gap: 10px 30px; list-style: none; padding: 0; margin: 24px 0 12px; color: #505050; }
.affiliation { font-size: 16px; color: #676767; }
.resources { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin: 26px 0; }
.rounded-button { display: inline-block; background: #343a40; color: white; border: 0; border-radius: 50px; padding: 9px 23px; font-size: 16px; }
.rounded-button:hover { color: #fff; background: #1e2327; border: 0; }
nav { display: flex; justify-content: center; gap: 12px 25px; flex-wrap: wrap; margin: 32px 0 10px; font-size: 15px; }
section,footer { padding: 38px 0; border-bottom: 1px solid #e1e1e1; scroll-margin-top: 20px; }
figure { margin: 29px 0 0; }
.figure-link { display: block; border: 0; }
.figure-link:hover { border: 0; }
figure img { display: block; width: 100%; max-width: 100%; height: auto; margin: 0 auto; }
figcaption { margin: 16px auto 0; font-size: 14px; line-height: 1.65; color: #626262; }
.table-scroll { overflow-x: auto; margin: 25px 0; }
table { width: 100%; border-collapse: collapse; text-align: left; font-size: 15px; }
caption { text-align: left; color: #626262; padding-bottom: 10px; font-size: 14px; }
td,th { border-bottom: 1px solid #e3e3e3; padding: 9px 14px; } thead { background: #f5f5f5; }
pre { overflow-x: auto; padding: 22px; background: #f5f5f5; border: 1px solid #e5e5e5; border-radius: 4px; font-size: 13px; line-height: 1.6; color: #444; }
.small { font-size: 14px; color: #626262; }
footer { border: 0; padding-bottom: 58px; }
.skip-link { position: absolute; left: 12px; top: -80px; background: #fff; padding: 10px; z-index: 1; } .skip-link:focus { top: 12px; }
@media(max-width:600px) { .container { width: calc(100% - 32px); } body { font-size: 16px; } header { padding-top: 30px; } h1 { letter-spacing: -.3px; } h2 { font-size: 24px; } section { padding: 30px 0; } .authors { gap: 6px 20px; } .resources { gap: 9px; } .rounded-button { font-size: 14px; padding: 9px 17px; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior: auto; } }

/* Selected manuscript excerpts: one message per visual group. */
.selected-figure .visual-grid { display: grid; gap: 22px; align-items: center; }
.two-columns .visual-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.three-columns .visual-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.visual-tile { min-width: 0; text-align: center; }
.visual-label { font-size: 14px; line-height: 1.4; margin: 12px 0 0; color: #555; }
.robot-figure img { width: auto; max-height: 480px; }
.component-figure img { width: auto; max-height: 330px; }
.three-columns img { max-height: 380px; width: auto; }
.stepping-figure img { max-height: 480px; width: auto; }
.selected-figure figcaption { text-align: center; max-width: 700px; }
@media(max-width:600px) { .two-columns .visual-grid { grid-template-columns: 1fr; gap: 28px; } .three-columns .visual-grid { gap: 8px; } .visual-label { font-size: 12px; } .component-figure img { max-height: 280px; } }
