.resume-content {
  --resume-paper:#f2efdf;
  --resume-ink:#26342d;
  --resume-secondary:#4b5c51;
  --resume-accent:#345343;
  --resume-wash:#e4e8db;
  color:var(--resume-ink);
  background:var(--resume-paper);
  font-family:"Microsoft YaHei","PingFang SC",sans-serif;
  font-size:16px;
  line-height:1.85;
  padding:clamp(24px,5vw,64px);
  overflow-wrap:anywhere;
}
.resume-content * { box-sizing:border-box; }
.resume-content h1,.resume-content h2,.resume-content h3,.resume-content h4,.resume-content p { margin:0; }
.resume-content h1 { font-size:52px; line-height:1.2; font-weight:600; }
.resume-content h1:focus,.resume-content h2:focus { outline:none; }
.resume-content h2 { font-size:28px; line-height:1.4; font-weight:600; margin-bottom:32px; }
.resume-content h3 { font-size:22px; line-height:1.5; font-weight:600; }
.resume-content h4 { font-size:16px; line-height:1.7; margin-bottom:4px; font-weight:700; }
.resume-content .resume-header { display:flex; align-items:flex-start; gap:32px; justify-content:space-between; }
.resume-content .resume-identity { flex:1; min-width:0; }
.resume-content .resume-pdf-link { display:inline-block; margin-top:8px; color:var(--resume-accent); font-size:14px; text-decoration:underline; text-underline-offset:4px; padding:4px 0; }
.resume-content .resume-pdf-link:focus-visible { outline:3px solid var(--resume-accent); outline-offset:3px; }
.resume-content .resume-quote { font-size:18px; line-height:1.9; margin:20px 0 18px; max-width:32em; }
.resume-content .resume-education { color:var(--resume-secondary); }
.resume-content .resume-date { color:var(--resume-secondary); font-variant-numeric:tabular-nums; }
.resume-content .resume-portrait { width:120px; height:140px; object-fit:cover; flex:none; }
.resume-content .resume-intro { margin-top:32px; max-width:65ch; }
.resume-content .resume-overview { margin-top:12px; color:var(--resume-secondary); }
.resume-content .resume-nav { display:flex; flex-wrap:wrap; gap:8px; margin:32px 0 0; }
.resume-content .resume-nav button { appearance:none; background:var(--resume-wash); color:var(--resume-ink); border:0; padding:10px 16px; min-height:44px; font:inherit; line-height:1.5; cursor:pointer; border-radius:0; }
.resume-content .resume-nav button:hover,.resume-content .resume-nav button[aria-current="true"] { color:var(--resume-paper); background:var(--resume-accent); }
.resume-content .resume-nav button:active { transform:translateY(1px); }
.resume-content button:focus-visible { outline:3px solid var(--resume-accent); outline-offset:3px; }
.resume-content .resume-section { margin-top:72px; scroll-margin-top:24px; }
.resume-content .resume-entry { display:grid; grid-template-columns:155px minmax(0,1fr); gap:28px; margin-top:48px; }
.resume-content .resume-entry:first-of-type { margin-top:0; }
.resume-content .resume-entry>.resume-date { padding-top:5px; }
.resume-content .resume-role { color:var(--resume-secondary); margin:5px 0 20px; }
.resume-content .resume-contributions { list-style:none; padding:0; margin:0; }
.resume-content .resume-contributions li+li { margin-top:24px; }
.resume-content .resume-result { background:var(--resume-wash); padding:12px 16px; margin-top:10px; }
.resume-content .resume-award { padding:24px; background:var(--resume-wash); margin-top:16px; }
.resume-content .resume-award-name { margin:8px 0 4px; font-weight:600; }
.resume-content .resume-award>.resume-date { margin-bottom:10px; }
.resume-content .resume-skill-line+.resume-skill-line { margin-top:12px; }
@media (max-width:600px) {
  .resume-content { padding:28px 20px 40px; }
  .resume-content h1 { font-size:36px; }
  .resume-content h2 { font-size:26px; margin-bottom:24px; }
  .resume-content h3 { font-size:20px; }
  .resume-content .resume-header { display:grid; grid-template-columns:minmax(0,1fr) 84px; gap:0 16px; }
  .resume-content .resume-identity { display:contents; }
  .resume-content .resume-identity h1 { grid-column:1; grid-row:1; }
  .resume-content .resume-portrait { width:84px; height:98px; grid-column:2; grid-row:1 / 3; }
  .resume-content .resume-pdf-link { grid-column:1; grid-row:2; justify-self:start; font-size:14px; min-height:44px; margin:0; padding:8px 0; }
  .resume-content .resume-quote { grid-column:1 / -1; grid-row:3; font-size:16px; margin:20px 0 12px; }
  .resume-content .resume-education { grid-column:1 / -1; grid-row:4; }
  .resume-content .resume-identity>.resume-date { grid-column:1 / -1; grid-row:5; }
  .resume-content .resume-entry { display:flex; flex-direction:column; gap:8px; margin-top:40px; }
  .resume-content .resume-entry>.resume-date { padding:0; }
  .resume-content .resume-section { margin-top:52px; }
  .resume-content .resume-award { padding:20px; }
  .resume-content .resume-intro { margin-top:24px; }
  .resume-content .resume-nav { gap:8px; }
  .resume-content .resume-nav button { flex:1 0 calc(50% - 8px); padding:10px; }
}
