/* Résumé page: denser than the main site, plus a one-page A4 print layout. */
.resume .wrap { max-width: 760px; }
.resume main { padding-bottom: 48px; }
.top nav a[download] {
  border: 1px solid var(--line); color: var(--fg); border-radius: 6px;
  padding: 3px 9px; font: 12px/1.5 "JetBrains Mono", ui-monospace, Menlo, monospace;
}
.top nav a[download]:hover { border-color: var(--fg); }

.r-head { padding: 40px 0 28px; }
.r-head h1 { font-size: 34px; margin-bottom: 6px; }
.r-sub { margin: 0 0 4px; color: var(--accent); font-size: 15px; font-weight: 500; }
.r-objective { margin: 0 0 12px; font-size: 15px; }
.r-contact { display: flex; flex-wrap: wrap; gap: 4px 18px; margin: 0; font-size: 13px; color: var(--muted); }

.r-section { padding: 24px 0; }
.r-section h2 { margin-bottom: 16px; }
.r-item-head { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; }
.r-item-head h3 { font-size: 16px; }
.r-date { color: var(--muted); font-size: 13px; white-space: nowrap; }
.r-link { font-size: 12px; font-weight: 400; color: var(--muted); margin-left: 8px; }
.r-context { margin: 2px 0 8px; color: var(--muted); font-size: 14px; }
.r-item ul { margin: 0; padding-left: 18px; font-size: 15px; line-height: 1.6; }
.r-item li { margin-bottom: 4px; }
.r-skills { display: grid; grid-template-columns: 110px 1fr; gap: 6px 16px; margin: 0; font-size: 15px; }
.r-skills dt { color: var(--muted); font-size: 13px; padding-top: 2px; }
.r-skills dd { margin: 0; }

@media (max-width: 560px) {
  .r-item-head { flex-direction: column; gap: 0; }
  .r-skills { grid-template-columns: 1fr; gap: 2px; }
  .r-skills dd { margin-bottom: 8px; }
  .r-link { display: block; margin: 2px 0 0; }
}

@page { size: A4; margin: 9mm 13mm; }

@media print {
  :root {
    color-scheme: light;
    --bg: #fff; --fg: #000; --muted: #444; --line: #bbb; --accent: #000; --tag-bg: #fff;
  }
  body { font-size: 9pt; line-height: 1.42; }
  .top, footer { display: none; }
  .resume .wrap { max-width: none; padding: 0; }
  .resume main { padding: 0; }
  section { border-top: 1px solid var(--line); }
  .r-head { padding: 0 0 6px; border-top: none; }
  .r-head h1 { font-size: 17pt; margin-bottom: 0; }
  .alt-name { font-size: 10pt; }
  .r-sub, .r-objective { font-size: 9pt; margin-bottom: 3px; }
  .r-contact { font-size: 8.5pt; color: var(--fg); }
  .print-only { display: inline; }
  .r-section { padding: 9px 0; }
  .r-section h2 { margin-bottom: 4px; font-size: 8.5pt; color: var(--fg); }
  .r-item-head h3 { font-size: 9.5pt; }
  .r-date, .r-link { font-size: 8.5pt; }
  .r-context { font-size: 8.5pt; margin: 0 0 3px; }
  .r-item ul { font-size: 9pt; line-height: 1.42; }
  .r-item li { margin-bottom: 2px; break-inside: avoid; }
  .r-skills { font-size: 9pt; gap: 1px 12px; grid-template-columns: 72px 1fr; }
  .r-skills dt { font-size: 8.5pt; padding-top: 0; }
  a { color: inherit; text-decoration: none; }
}

.r-summary { margin: 0 0 12px; font-size: 15px; color: var(--muted); }
@media print { .r-summary { font-size: 9pt; margin: 0 0 4px; color: var(--fg); } }
.r-sub-h { font-size: 13px; font-weight: 600; margin: 14px 0 6px; }
.r-sub-h:first-of-type { margin-top: 0; }
.r-overview { margin: 0; padding-left: 18px; font-size: 15px; line-height: 1.6; }
.r-overview li { margin-bottom: 3px; }
@media print {
  .r-sub-h { font-size: 9pt; margin: 6px 0 2px; }
  .r-overview { font-size: 9pt; line-height: 1.42; }
  .r-overview li { margin-bottom: 2px; }
}

/* Chinese is shorter than English, so its print layout gets more breathing room. */
@media print {
  html[data-lang="zh"] body,
  html[data-lang="zh"] .r-item ul,
  html[data-lang="zh"] .r-overview { line-height: 1.52; }
  html[data-lang="zh"] .r-item li,
  html[data-lang="zh"] .r-overview li { margin-bottom: 3px; }
  html[data-lang="zh"] .r-section { padding: 10px 0; }
}
