/* Local, buildless adaptation of the WiXus reference layout. */
* { box-sizing: border-box; }
html { color-scheme: light; }
body { margin: 0; font-family: Helvetica, Arial, sans-serif; color: #787878; background: #fff; font-size: 16px; line-height: 1.55; }
main { width: min(100% - 30px, 980px); margin: 0 auto; }
h1, h2, h3 { color: #555555; line-height: 1.25; }
h1 { font-size: 40px; margin: 48px 0 24px; font-weight: 700; text-wrap: balance; }
h2 { font-size: 24px; margin: 0 0 16px; font-weight: 500; }
h3 { font-size: 20px; margin: 0 0 16px; font-weight: 500; }
p { margin: 0 0 16px; }
a { color: #1693f3; text-decoration: none; border-bottom: 1px dotted; }
a:hover { border-bottom-color: transparent; }
a:focus-visible, button:focus-visible, video:focus-visible { outline: 3px solid #1693f3; outline-offset: 4px; }
header { text-align: center; }
.conf { color: #ff8c00; font-weight: 700; margin: 24px 0; }
.author-list { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px 16px; list-style: none; padding: 0; margin: 24px auto 20px; max-width: 760px; }
.author-button { display: inline-block; padding: .38rem 1.05rem; border: 1.5px solid #d7e6f7; border-radius: 999px; color: #40506a; background: #fff; font-weight: 600; transition: background .2s, border-color .2s; }
a.author-button:hover { color: #2f4f73; background: #f3f8fe; border-color: #b8d3f0; }
.affiliation { font-weight: 600; }
.affiliation span { display: block; font-weight: 400; font-size: 14px; }
.paper-links { display: flex; justify-content: center; flex-wrap: wrap; gap: 10px; margin: 24px 0 32px; }
.link-button { display: inline-flex; align-items: center; justify-content: center; gap: 7px; border: 1px solid #343a40; border-radius: 50px; padding: 7px 14px; color: #fff; background: #343a40; font: inherit; }
a.link-button:hover { background: #23272b; border-color: #23272b; }
.link-button[aria-disabled] { cursor: default; }
.todo { font-size: 11px; font-weight: 700; color: #ffdaac; }
.icon { width: 19px; height: 19px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linejoin: round; stroke-linecap: round; }
section { border-top: 1px solid #dedede; padding-top: 26px; margin-top: 28px; }
figure { margin: 24px 0; }
figure img { display: block; width: 100%; height: auto; margin: 0 auto; }
figure.portrait img { width: auto; max-width: 100%; max-height: 550px; }
figure.concept img { width: auto; max-width: 100%; max-height: 660px; }
figcaption { font-size: 14px; text-align: center; margin-top: 12px; }
.hero { margin: 28px 0; }
.equation { text-align: center; font-size: 26px; color: #555; margin: 24px 0; }
.experiment-card { border: 1px solid #dbe7f5; border-radius: 14px; padding: 12px 14px 14px; margin: 24px 0; }
.experiment-video { width: 100%; display: block; border-radius: 10px; aspect-ratio: 16 / 9; background: #151515; }
.experiment-card p { margin: 16px 0 0; }
pre { overflow-x: auto; white-space: pre-wrap; overflow-wrap: anywhere; font: 14px/1.6 monospace; color: #343a40; margin: 20px 0; }
#contact { margin-bottom: 48px; }
@media (min-width: 1200px) { main { width: 66.6667%; max-width: 1080px; } }
@media (max-width: 600px) { h1 { font-size: 29px; margin-top: 32px; } h2, .conf { font-size: 22px; } .author-list { gap: 10px 8px; } .author-button { padding: .38rem .8rem; font-size: 14px; } figure.portrait img { max-height: 460px; } figure.concept img { max-height: 550px; } .experiment-card { padding: 12px; } }
