/* Academic Homepage structure and Skevinci publication treatments.
   Adapted under MIT; see LICENSE and SOURCES.md. */
:root { --background:#fdfaf4; --text:#121212; --muted:#68635d; --link:#8f3f10; --accent:#a84b0e; --border:#e5dcd0; --soft:#f5eee4; --placeholder:#756a5c; }
* { box-sizing:border-box; }
html { scroll-padding-top:100px; }
body { margin:0; background:var(--background); color:var(--text); font:1rem/1.65 "Trebuchet MS",Helvetica,Arial,sans-serif; }
a { color:var(--link); text-decoration:none; text-underline-offset:3px; }
a:hover { text-decoration:underline; }
a:focus-visible { outline:2px solid var(--accent); outline-offset:5px; }
.skip-link { position:absolute; top:-100px; left:20px; padding:10px; background:var(--background); z-index:10; }
.skip-link:focus { top:12px; }
.masthead { position:sticky; top:0; z-index:5; background:var(--background); border-bottom:1px solid var(--border); }
.masthead__inner-wrap { max-width:1240px; margin:auto; padding:0 28px; }
.greedy-nav { display:flex; align-items:center; gap:42px; min-height:73px; }
.masthead__menu-home-item { font-size:1.125rem; font-weight:700; color:var(--text); }
.visible-links { list-style:none; display:flex; flex-wrap:wrap; gap:28px; padding:0; margin:0; }
.visible-links a { font-size:.9375rem; color:#49433c; display:inline-block; padding:8px 0; }
.visible-links a:hover { color:var(--link); }
#main { display:grid; grid-template-columns:225px minmax(0,1fr); gap:55px; max-width:1240px; margin:0 auto; padding:36px 28px 58px; }
.sidebar { align-self:start; position:sticky; top:104px; min-width:0; }
.author__avatar { margin-bottom:18px; }
.portrait { width:175px; height:175px; border-radius:50%; background:var(--soft); border:1px solid #ddd0bf; outline:5px solid var(--background); box-shadow:0 0 0 6px var(--border); display:flex; flex-direction:column; justify-content:center; align-items:center; color:#78634e; }
.portrait > span { font-size:1.35rem; }
.portrait small { font-size:.8125rem; margin-top:3px; }
.author__name { font-size:1.5rem; line-height:1.3; margin:21px 0 10px; letter-spacing:-.025em; }
.author__name span { display:block; font-weight:400; font-size:1.2rem; margin-top:2px; }
.author__bio { font-size:.9375rem; line-height:1.6; margin:0 0 17px; color:#4b453d; }
.author__urls { list-style:none; padding:0; margin:0; }
.author__urls li { display:flex; align-items:baseline; gap:9px; font-size:.875rem; margin:10px 0; }
.author__urls a { overflow-wrap:anywhere; }
.profile-icon { flex:0 0 16px; text-align:center; color:var(--link); font-size:.9rem; font-weight:bold; }
/* Font Awesome Free 5.5.0 — https://fontawesome.com/license/free
   Fonts: SIL OFL 1.1; CSS: MIT. Same icon set as Sikai's homepage. */
@font-face { font-family:"Font Awesome 5 Free"; font-style:normal; font-weight:900; font-display:block; src:url("assets/fonts/fa-solid-900.woff2") format("woff2"); }
@font-face { font-family:"Font Awesome 5 Brands"; font-style:normal; font-weight:400; font-display:block; src:url("assets/fonts/fa-brands-400.woff2") format("woff2"); }
.profile-icon { display:inline-block; font-style:normal; line-height:1; -webkit-font-smoothing:antialiased; }
.profile-icon.icon-solid { font-family:"Font Awesome 5 Free"; font-weight:900; }
.profile-icon.icon-brand { font-family:"Font Awesome 5 Brands"; font-weight:400; }
.icon-envelope::before { content:"\f0e0"; }
.icon-github::before { content:"\f09b"; }
.icon-scholar::before { content:"\f19d"; }
.icon-linkedin::before { content:"\f08c"; }
.author__urls small { color:var(--muted); font-size:.75rem; margin-left:4px; }
.sidebar-note { border-top:1px solid var(--border); margin:22px 0 0; padding-top:17px; font-size:.875rem; color:var(--link); }
.page { min-width:0; }
.page__content section + section { margin-top:32px; }
.page__content h2 { font-size:1.65rem; line-height:1.35; border-bottom:2px solid var(--border); margin:0 0 18px; padding-bottom:9px; letter-spacing:-.025em; }
.page__content p { margin:0 0 14px; }
.research-interests { padding-left:22px; margin:-5px 0 18px; }
.research-interests li { padding-left:3px; margin:4px 0; }
.phd-note { color:var(--link); }
.phd-note a { text-decoration:underline; }
.placeholder-line { font-size:.9375rem; color:var(--muted); }
.placeholder-label { color:var(--placeholder); font-size:.8125rem; border:1px dashed #c5b29b; padding:2px 7px; border-radius:3px; margin-right:8px; display:inline-block; }
.paper-box { display:flex; align-items:center; flex-wrap:wrap; border-bottom:1px solid var(--border); padding:22px 0 26px; }
.paper-box:first-of-type { padding-top:3px; }
.paper-box:last-child { border-bottom:0; padding-bottom:0; }
.paper-box-image { display:flex; justify-content:flex-start; width:36%; min-width:180px; }
.figure-placeholder { width:100%; aspect-ratio:5/3; border:1px dashed #c6b59f; border-radius:8px; background:var(--soft); display:flex; flex-direction:column; justify-content:center; align-items:center; padding:12px; text-align:center; }
.figure-placeholder > span { font-size:1.25rem; color:#806245; font-weight:700; }
.figure-placeholder small { color:var(--placeholder); font-size:.8125rem; margin-top:7px; }
.paper-box-text { width:64%; min-width:0; padding-left:26px; }
.venue-tags { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:9px; }
.venue { display:inline-block; padding:2px 10px; border-radius:999px; font-size:.75rem; font-weight:600; line-height:1.6; background:#f3e7d6; color:#84501f; border:1px solid #dfc4a0; }
.paper-title { font-size:1.1rem; line-height:1.45; margin:0 0 7px; }
.title-placeholder { font-weight:400; color:var(--muted); font-size:.9375rem; }
.page__content .paper-authors { color:var(--muted); font-size:.9375rem; margin-bottom:8px; }
.paper-links { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:11px; }
.paper-link { display:inline-block; padding:2px 9px; font-size:.8125rem; color:var(--link); background:#f5eadd; border:1px solid #e5cdb7; border-radius:5px; }
.page__content .paper-summary { color:var(--muted); font-size:.9375rem; line-height:1.55; margin:0; }
.detail-list { padding-left:20px; margin:0; }
.detail-list li { padding-left:3px; margin:13px 0; }
.missing-detail { color:var(--muted); font-size:.875rem; }
.experience-list { padding:0; list-style:none; }
.experience-list li { display:grid; grid-template-columns:145px minmax(0,1fr); gap:15px; padding:0; margin:17px 0; }
.experience-date { font-size:.875rem; color:var(--muted); padding-top:2px; }
.page__footer { color:var(--text); font-size:.8125rem; text-align:center; }
.page__footer > div { max-width:1240px; margin:auto; padding:22px 28px; }
@media (max-width:1000px) {
  .greedy-nav { gap:26px; } .visible-links { gap:18px; }
  #main { gap:32px; grid-template-columns:205px minmax(0,1fr); }
  .paper-box-image { min-width:0; } .paper-box-text { padding-left:20px; }
  .experience-list li { grid-template-columns:1fr; gap:2px; }
}
@media (max-width:760px) {
  html { scroll-padding-top:20px; } .masthead { position:static; }
  .masthead__inner-wrap { padding:16px 22px; }
  .greedy-nav { display:block; min-height:0; } .visible-links { gap:0 20px; margin-top:6px; }
  .visible-links a { padding:5px 0; font-size:.875rem; }
  #main { display:block; padding:28px 22px 40px; }
  .sidebar { position:static; margin-bottom:30px; padding-bottom:24px; border-bottom:1px solid var(--border); }
  .profile_box { display:flex; align-items:center; gap:23px; }
  .author__avatar { margin:0; flex:0 0 auto; }
  .portrait { width:106px; height:106px; }
  .portrait > span { font-size:1rem; } .portrait small { font-size:.75rem; }
  .author__name { margin:0 0 8px; font-size:1.35rem; } .author__name span { display:inline; font-size:1rem; }
  .author__bio { margin:0; font-size:.875rem; }
  .author__urls { display:flex; flex-wrap:wrap; gap:0 22px; margin-top:20px; }
  .author__urls li { margin:4px 0; } .sidebar-note { border:0; padding:0; margin-top:14px; }
  .page__content h2 { font-size:1.5rem; } .page__content section + section { margin-top:28px; }
  .paper-box-image { width:34%; } .paper-box-text { width:66%; }
  .figure-placeholder { aspect-ratio:1; } .page__footer > div { padding-inline:22px; }
}
@media (max-width:480px) {
  .paper-box { display:block; padding-block:20px 25px; }
  .paper-box-image { width:100%; margin-bottom:18px; } .figure-placeholder { aspect-ratio:2/1; }
  .paper-box-text { width:100%; padding:0; }
}
@media print { .masthead,.skip-link,.page__footer { display:none; } .sidebar { position:static; } #main { padding:0; } body { background:white; } .paper-box { break-inside:avoid; } }

/* Full original portrait: preserve the photograph and its background. */
.portrait { width:100%; max-width:225px; height:auto; overflow:hidden; display:block; border:0; border-radius:0; outline:0; box-shadow:none; background:transparent; }
.portrait img { display:block; width:100%; height:auto; transform:none; }
@media (max-width:760px) { .portrait { width:120px; } }

/* Publication media and links adapted from the collaborator's entries. */
.paper-box-image img { display:block; width:100%; height:auto; border-radius:8px; border:1px solid var(--border); }
.paper-title a { color:var(--text); }
.paper-title a:hover { color:var(--link); }
a.paper-link:hover { background:var(--accent); border-color:var(--accent); color:white; text-decoration:none; }
.venue-workshop { background:#f3e7d6; border-color:#dfc4a0; color:#84501f; }
.venue-review { background:#fff7e8; border-color:#e4c48f; color:#815015; }

/* Match Sikai's publication geometry and media treatment. */
#publications .paper-box { display:grid; grid-template-columns:40% minmax(0,60%); align-items:center; padding:2em 0; border-bottom:1px solid var(--border); }
#publications .paper-box-image { display:block; width:100%; min-width:0; max-width:400px; margin:0; }
#publications .paper-media { width:100%; aspect-ratio:16 / 9; overflow:hidden; border-radius:10px; border:1px solid #c5ad98; box-shadow:0 4px 14px rgba(0,0,0,.12); transition:transform .2s ease,box-shadow .2s ease; }
#publications .paper-media img { display:block; width:100%; height:100%; max-width:100%; object-fit:cover; border:0; border-radius:inherit; }
#publications .paper-box-text { width:100%; min-width:0; padding:0 0 0 2em; }
#publications .paper-title { font-size:1.06rem; font-weight:600; line-height:1.4; margin:0 0 .5em; }
#publications .paper-authors { color:var(--text); font-size:1rem; line-height:1.5; margin-bottom:.5em; }
#publications .paper-summary { color:var(--text); font-size:1rem; line-height:1.5; margin:.5em 0 0; padding-left:1.25em; }
#publications .paper-summary li { margin:0; }
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
  #publications .paper-media:hover { transform:translateY(-3px); box-shadow:0 10px 24px rgba(0,0,0,.18); }
}
@media (max-width:767px) {
  #publications .paper-box { grid-template-columns:minmax(0,1fr); gap:1.25em; }
  #publications .paper-box-text { grid-row:1; padding:0; }
  #publications .paper-box-image { grid-row:2; justify-self:center; }
}

/* Overlaid venue ribbons, with the site's warm accent palette. */
#publications .paper-box-image { position:relative; }
#publications .venue-ribbon { position:absolute; top:8px; left:-8px; z-index:1; max-width:calc(100% - 8px); padding:4px 14px; border-radius:3px; background:var(--accent); color:#fff; font-size:.875rem; font-weight:700; line-height:1.35; box-shadow:0 4px 10px rgba(0,0,0,.2); }
