:root{--blue:#174f8a;--link:#397bbd;--text:#3f4850;--muted:#8a96a1;--line:#dfe3e6;--soft:#f5f7f8;--green:#439b83;--gold:#d99a2b}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--text);font-family:Arial,Helvetica,sans-serif;font-size:14px;line-height:1.65}
a{color:var(--link);text-decoration:none}
a:hover{text-decoration:underline;text-underline-offset:3px}
strong{font-weight:700;color:#263540}
.skip-link{position:fixed;left:16px;top:-60px;background:#fff;border:1px solid var(--line);padding:8px 12px;z-index:10}
.skip-link:focus{top:16px}
#page{width:960px;max-width:calc(100% - 32px);margin:0 auto}
.topnav{height:100px;padding:42px 30px 0;display:flex;align-items:flex-start;justify-content:space-between;border-bottom:1px solid var(--line);font-size:12px;letter-spacing:.06em}
.topnav div{display:flex;gap:10px}.topnav span{color:#b5bdc3}.topnav a{color:var(--muted)}.topnav a:hover,.topnav a.current{color:var(--blue);text-decoration:none}
section{padding:30px;border-bottom:1px solid var(--line);scroll-margin-top:16px}
.profile{display:grid;grid-template-columns:220px minmax(0,1fr);gap:40px;align-items:stretch;padding-bottom:18px}
.portrait{width:220px;height:260px;border-radius:8px;background:linear-gradient(145deg,#dde9ef,#c8d7df);display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--blue);margin-bottom:15px}
.portrait:has(img){height:100%;min-height:0;display:block;background:transparent;overflow:hidden;align-self:stretch}
.portrait img{display:block;width:100%;height:100%;max-height:none;object-fit:cover;object-position:center center;border-radius:8px}
.portrait span{font-family:Georgia,serif;font-size:64px;line-height:1}.portrait small{margin-top:16px;font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:#718793}
.profile-links{margin:0 0 18px}.bio h1{margin:0 0 12px;color:var(--blue);font-family:Georgia,"Times New Roman",serif;font-size:28px;font-weight:normal;line-height:1.2}
.position{color:#667681}.bio p{margin:0 0 16px}.quiet-note{font-size:11px;color:#9aa3aa}
h2{margin:0 0 20px;color:var(--blue);font-family:Georgia,"Times New Roman",serif;font-size:24px;font-weight:normal;line-height:1.2}
h3{font-size:15px;line-height:1.45;margin:0 0 5px;color:var(--blue)}
.interest-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 36px}.interest-grid>div{border-left:3px solid #d9e5ec;padding-left:14px}.interest-grid strong{color:var(--blue)}.interest-grid p{margin:3px 0;color:#6d7982}
.news-list{list-style:none;margin:0;padding:0}.news-list li{display:grid;grid-template-columns:65px 1fr;gap:16px;margin-bottom:7px}.news-list time{color:var(--green);font-weight:bold}.more-news,.additional-publication{display:none}
.text-button{margin:10px 0 0;border:0;background:none;color:var(--blue);padding:0;cursor:pointer;font-size:13px}.text-button:hover{text-decoration:underline;text-underline-offset:3px}
.section-title-row{display:flex;align-items:baseline;justify-content:space-between;gap:20px}.section-title-row>a{font-size:12px}
.publication{display:grid;grid-template-columns:180px 1fr;gap:28px;margin:0 0 28px;align-items:start}.paper-thumb{height:112px;border-radius:5px;padding:16px;display:flex;flex-direction:column;justify-content:space-between;color:#fff;letter-spacing:.08em;font-size:12px;font-weight:bold;position:relative;overflow:hidden}.paper-thumb::after{content:"";position:absolute;width:90px;height:90px;border:1px solid rgba(255,255,255,.45);border-radius:50%;right:-24px;top:-25px}.paper-thumb i{font-style:normal;font-size:10px;font-weight:normal;opacity:.85}.robotics-thumb{background:#386f92}.transfer-thumb{background:#487e73}.battery-thumb{background:#746a9c}.energy-thumb{background:#b16d47}.industry-thumb{background:#64747e}
.publication h3{font-size:16px;font-weight:normal;line-height:1.5;margin-top:-4px}.publication p{margin:2px 0;line-height:1.55}.venue{color:#6f7d86;font-style:italic}.paper-links{font-size:12px}.verify{color:#a86d09;background:#fff8e9;border-bottom:1px dashed #e0b158;padding:0 3px;font-size:11px}
.two-column-lists{display:grid;grid-template-columns:1fr 1fr;gap:46px}.two-column-lists h3{margin-bottom:10px}.two-column-lists ul{margin:0;padding-left:19px}.two-column-lists li{margin-bottom:10px}
.section-note{color:var(--muted);font-size:12px}
.cover-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;align-items:stretch}
.cover-card{min-width:0}.cover-image{position:relative;width:100%;aspect-ratio:3/4;background:var(--soft);border:1px solid var(--line);border-radius:5px;overflow:hidden}.cover-image img{display:block;width:100%;height:100%;object-fit:contain;background:#fff}.cover-placeholder{display:none;position:absolute;inset:0;background:linear-gradient(145deg,#eef3f6,#dbe5eb);color:var(--blue);align-items:center;justify-content:center;flex-direction:column;text-align:center}.cover-placeholder strong{font-family:Georgia,"Times New Roman",serif;font-size:42px;font-weight:normal;color:var(--blue)}.cover-placeholder span{margin-top:12px;color:#7d8c96;font-size:11px;letter-spacing:.05em}.cover-image.missing img{display:none}.cover-image.missing .cover-placeholder{display:flex}.cover-copy{padding-top:14px}.cover-journal{margin:0 0 5px;color:var(--green);font-size:11px;font-weight:bold;letter-spacing:.04em;text-transform:uppercase}.cover-copy h3,.more-covers h3{font-family:Georgia,"Times New Roman",serif;font-size:18px;font-weight:normal;line-height:1.35}.cover-copy>p:last-child{margin:4px 0;color:#76838c;font-size:12px}.more-covers{border:1px dashed #b9c4ca;border-radius:5px;padding:28px;display:flex;flex-direction:column;justify-content:space-between;background:#fafbfb}.more-symbol{width:44px;height:44px;border:1px solid #b7c3c9;border-radius:50%;display:grid;place-items:center;color:var(--blue);font-family:Georgia,"Times New Roman",serif;font-size:28px;margin-bottom:70px}.more-covers p:last-child{color:#7d8991;font-size:12px}
#background p{margin:0 0 12px;max-width:860px}
footer{padding:30px;text-align:center;color:#95a0a8;font-size:11px}footer p{margin:3px 0}
@media(max-width:720px){#page{max-width:100%}.topnav{height:auto;padding:22px 20px;gap:14px;flex-wrap:wrap}.topnav div{gap:7px}section{padding:26px 20px}.profile{grid-template-columns:160px minmax(0,1fr);gap:24px;align-items:start}.portrait{width:160px;height:190px}.portrait:has(img){height:auto;align-self:start}.portrait img{height:auto;object-fit:contain;object-position:center top}.interest-grid,.two-column-lists{grid-template-columns:1fr}.publication{grid-template-columns:130px 1fr;gap:18px}.paper-thumb{width:130px;height:95px;padding:12px}.section-title-row{display:block}.section-title-row>a{display:block;margin:-12px 0 22px}.news-list li{grid-template-columns:52px 1fr}.cover-grid{grid-template-columns:1fr 1fr}.more-covers{grid-column:1/-1;min-height:220px}.more-symbol{margin-bottom:34px}}
@media(max-width:480px){section{padding-inline:14px}.profile{grid-template-columns:110px minmax(0,1fr);gap:15px}.portrait{width:110px;height:135px}.portrait:has(img){height:auto}.portrait span{font-size:40px}.portrait small{font-size:8px;margin-top:10px}.bio h1{font-size:23px}.bio p{font-size:13px}.publication{grid-template-columns:1fr}.paper-thumb{width:100%;height:105px}.profile-links{line-height:1.7}.topnav{font-size:11px}.cover-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.cover-copy{padding-top:8px}.cover-journal{font-size:8px;letter-spacing:.02em}.cover-copy h3,.more-covers h3{font-size:13px;line-height:1.25}.cover-copy>p:last-child{font-size:10px}.more-covers{grid-column:1/-1;min-height:150px;padding:18px}.more-symbol{width:34px;height:34px;margin-bottom:18px;font-size:22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.visitor-map {
  width: 600px;
  max-width: 100%;
  aspect-ratio: 1 / 1;
  min-height: 0;
  margin: 12px auto;
  position: relative;
  overflow: hidden;
}

.visitor-map > div,
.visitor-map canvas,
.visitor-map iframe {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
}

.visitor-map img {
  display: block;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
}

.visitor-note {
  margin: 10px 0 0;
  text-align: center;
  color: #8a96a1;
  font-size: 11px;
}

@media (max-width: 600px) {
  .visitor-map {
    width: 600px;
  }
}
@media (min-width: 721px) {
  .cover-grid {
    grid-template-columns: repeat(3, 190px);
    justify-content: start;
    gap: 22px;
  }

  .cover-copy {
    padding-top: 10px;
  }

  .cover-journal {
    font-size: 9px;
  }

  .cover-copy h3,
  .more-covers h3 {
    font-size: 15px;
    line-height: 1.35;
  }

  .cover-copy > p:last-child {
    font-size: 11px;
  }

  .more-covers {
    padding: 18px;
  }

  .more-symbol {
    width: 36px;
    height: 36px;
    margin-bottom: 30px;
    font-size: 22px;
  }

  .more-covers p:last-child {
    font-size: 11px;
  }
}
