/* about.css — academic personal-homepage layout for the About page */

.ac{max-width:860px;margin:0 auto;}

/* ---------- hero: portrait + identity ---------- */
.ac-hero{display:grid;grid-template-columns:168px 1fr;gap:42px;align-items:start;
  padding:72px 0 8px;}
.ac-portrait{width:168px;height:206px;border-radius:84px/103px;
  background:var(--paper-2);overflow:hidden;position:relative;border:1px solid var(--line);}
.ac-portrait-img{width:100%;height:100%;display:block;object-fit:cover;object-position:center;}
.ac-id .kicker{font-family:var(--mono);font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--ink-3);}
.ac-name{font-family:var(--display);font-weight:400;font-size:clamp(38px,5vw,54px);line-height:1.02;
  letter-spacing:-.01em;margin:12px 0 0;}
.ac-name .cn{font-family:var(--cn);font-weight:600;font-size:.56em;color:var(--ink-2);margin-left:12px;}
/* contact / link row */
.ac-links{display:flex;flex-wrap:wrap;gap:9px;margin:20px 0 0;}
.ac-link{display:inline-flex;align-items:center;gap:7px;font-family:var(--mono);font-size:12.5px;
  color:var(--ink-2);border:1px solid var(--line);border-radius:999px;padding:7px 14px;
  transition:all .2s var(--ease);}
.ac-link:hover{color:var(--accent);border-color:var(--accent);}
.ac-link svg{width:13px;height:13px;}
.ac-link.solid{background:var(--ink);color:var(--paper);border-color:var(--ink);}
.ac-link.solid:hover{background:var(--accent);border-color:var(--accent);color:#fff;}

/* ---------- generic academic section ---------- */
.ac-sec{margin-top:56px;}
.ac-sec--lead{margin-top:44px;}
.ac-sec > h2{font-family:var(--mono);font-size:12.5px;font-weight:700;letter-spacing:.16em;
  text-transform:uppercase;color:var(--ink-2);margin:0 0 4px;display:flex;align-items:baseline;gap:12px;}
.ac-sec > h2 .en{color:var(--ink-3);font-weight:400;letter-spacing:.08em;}
.ac-sec > h2 .rule{flex:1;height:1px;background:var(--line);}

/* research-interest keyword chips */
.ac-tags{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px;}
.ac-tags .t{font-family:var(--mono);font-size:12.5px;color:var(--ink-2);
  border:1px solid var(--line-2);border-radius:999px;padding:6px 14px;display:inline-flex;align-items:center;gap:8px;}
.ac-tags .t .d{width:7px;height:7px;border-radius:50%;background:var(--dot,var(--ink-3));}
.ac-tags .t[data-c="code"]{--dot:var(--c-code);} .ac-tags .t[data-c="ctf"]{--dot:var(--c-ctf);}
.ac-tags .t[data-c="research"]{--dot:var(--c-research);} .ac-tags .t[data-c="life"]{--dot:var(--c-life);}

/* empty-state for sections with nothing yet */
.ac-empty{margin-top:22px;border:1px dashed var(--line-2);border-radius:14px;
  padding:34px 30px;text-align:center;}
.ac-empty .ico{width:30px;height:30px;margin:0 auto 12px;color:var(--ink-3);opacity:.7;}
.ac-empty p{font-family:var(--serif);font-size:16px;color:var(--ink-2);margin:0;line-height:1.6;}
.ac-empty p.is-cn{font-family:var(--cn);}
.ac-empty .hint{font-family:var(--mono);font-size:11.5px;color:var(--ink-3);margin-top:8px;letter-spacing:.02em;}

/* ---------- responsive ---------- */
@media (max-width:760px){
  .ac-hero{grid-template-columns:1fr;gap:24px;}
  .ac-portrait{width:130px;height:160px;}
}
