/* Requested additions only. Upstream layout, typography and spacing live in stylesheet.css. */
.figure-placeholder { width:190px; height:143px; background:#fff; border:1px dashed #d8d8d8; border-radius:4px; }
.publications-table .one { width:100%; max-width:220px; height:auto; margin:auto; }
.figure-frame { display:block; overflow:hidden; border:1px solid #e0e3e8; border-radius:9px; background:#fff; box-shadow:0 3px 12px rgba(30,35,45,.07); }
.figure-frame:hover { border-color:#bac0ca; box-shadow:0 4px 16px rgba(30,35,45,.11); }
.figure-frame img { display:block; width:100%; height:auto; }
.project-context { color:#716877; font-size:12px; }
.project-brand { display:inline-flex; align-items:center; gap:5px; vertical-align:middle; }
.project-brand img { width:24px; height:24px; object-fit:contain; }
.project-tagline { margin-bottom:0; font-weight:700; }
.institution-logo { display:block; width:96px; height:96px; object-fit:contain; }
/* Match visible emblem diameters; the Tsinghua source has a larger white margin. */
.tsinghua-logo { object-fit:cover; object-position:48.25% 50%; transform:scale(1.245); }
.project-keywords { display:flex; flex-wrap:wrap; gap:5px; padding:0; margin:12px 0; list-style:none; }
.project-keywords li { padding:3px 7px; border:1px solid #dedede; border-radius:4px; background:#fff; color:#4b4b4b; font-size:11px; }
.demo-caption { display:block; text-align:center; font-size:10px; color:#6b626e; }
#motion-toggle, #cloud-toggle { border:0; background:none; color:#660874; font:12px Lato,Verdana,sans-serif; cursor:pointer; text-decoration:underline; text-underline-offset:3px; padding:6px 0; }
#motion-toggle { display:block; margin:auto; }
#pets { padding-top:35px; }
#pets>p { margin-top:26px; }
#pets h2 { font-family:Georgia,serif; font-size:27px; margin:32px 0 22px; font-weight:bold; }
.pet-card { display:flex; align-items:center; gap:30px; padding:24px; margin-bottom:20px; border:1px solid #e5d8ea; border-radius:14px; background:#f8f4fa; }
.pet-card>img { width:200px; height:200px; object-fit:cover; object-position:center 65%; border-radius:10px; }
.pet-card:nth-of-type(2)>img { object-position:center; }
.pet-card h3 { margin:0 0 20px; font-family:Georgia,serif; font-size:27px; color:#482150; }
.pet-card dl { margin:0; color:#77677e; }
.pet-card dl>div { display:flex; margin:12px 0; }
.pet-card dt { width:80px; flex-shrink:0; }.pet-card dd { margin:0; min-width:0; }
.pet-card>div { min-width:0; }
.page-footer { max-width:800px; margin:30px auto; text-align:center; color:#888; font-size:12px; }
button:focus-visible,a:focus-visible { outline:2px solid #660874; outline-offset:3px; }
/* Keep the upstream desktop layout; stack only where its fixed image columns overflow. */
@media(max-width:600px) {
 #about { max-width:100%!important; }
 .intro-copy,.intro-photo { display:block; box-sizing:border-box; width:100%!important; max-width:100%!important; }
 .intro-photo { text-align:center; }.intro-photo img { width:180px!important; }
 .publications-table tr[data-tags] { display:block; margin-bottom:16px; }
 .publications-table tr[data-tags]>td { display:block; box-sizing:border-box; width:100%!important; padding:18px!important; }
 .publications-table tr[data-tags]>td:first-child { border:1px solid rgba(0,0,0,.14); border-bottom:0; border-radius:8px 8px 0 0; }
 .publications-table tr[data-tags]>td:last-child { border:1px solid rgba(0,0,0,.14); border-top:0; border-radius:0 0 8px 8px; }
 .publications-table .one { max-width:320px; }
 #education td:first-child { padding:10px!important; }.institution-logo { width:64px; height:64px; }
 .pet-card { padding:16px; gap:18px; }.pet-card>img { width:110px; height:160px; flex-shrink:0; }.pet-card h3 { font-size:24px; }.pet-card dt { width:65px; }
 #pets h2 { font-size:25px; }.pet-card dl { font-size:12px; }
 #tagcloud-container { height:250px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
