/* === Shared resume styles (themed via CSS vars) === */
.resume { width: 100%; }
.resume-filterbar {
  border-top: 1px solid var(--r-line);
  border-bottom: 1px solid var(--r-line);
  padding: 24px 0;
  margin-bottom: 32px;
}
.resume-filterlabel {
  display: flex; align-items: center; gap: 12px;
  font-size: 13px; letter-spacing: 0.08em; text-transform: uppercase;
  color: var(--r-muted); margin-bottom: 16px;
}
.resume-filterlabel-num {
  display: inline-grid; place-items: center;
  width: 26px; height: 26px; border-radius: 50%;
  background: var(--r-accent); color: var(--r-chip-on-fg);
  font-weight: 700; font-size: 12px;
}
.resume-clear {
  background: none; border: 0; color: var(--r-fg); cursor: pointer;
  text-decoration: underline; font: inherit; padding: 0;
}
.resume-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.resume-chip {
  font: 500 13px/1 var(--font-sans);
  padding: 8px 14px; border-radius: 999px;
  background: var(--r-chip); color: var(--r-fg);
  border: 1px solid var(--r-line); cursor: pointer;
  transition: all 0.15s ease;
}
.resume-chip:hover { border-color: var(--r-fg); }
.resume-chip-on {
  background: var(--r-chip-on); color: var(--r-chip-on-fg);
  border-color: var(--r-chip-on);
}
.resume-list { display: flex; flex-direction: column; }
.resume-item {
  border-top: 1px solid var(--r-line);
  padding: 28px 0;
  cursor: pointer;
  transition: padding 0.2s ease;
}
.resume-item:last-child { border-bottom: 1px solid var(--r-line); }
.resume-item-row {
  display: grid;
  grid-template-columns: 160px 1fr 32px;
  gap: 24px; align-items: baseline;
}
.resume-item-period {
  font: 600 13px/1.2 var(--font-mono);
  letter-spacing: 0.04em;
  color: var(--r-muted);
  white-space: nowrap;
}
.resume-item-role {
  font: 700 28px/1.1 var(--font-display);
  letter-spacing: -0.01em;
  margin-bottom: 4px;
  color: var(--r-fg);
}
.resume-item-co { font: 500 15px/1.4 var(--font-sans); color: var(--r-muted); }
.resume-item-loc { color: var(--r-muted); opacity: 0.7; }
.resume-item-toggle {
  font: 400 28px/1 var(--font-sans);
  color: var(--r-accent);
  text-align: right;
}
.resume-item-open { padding: 32px 0 36px; }
.resume-item-body {
  margin-top: 20px; padding-left: 184px;
  cursor: default;
}
.resume-item-summary {
  font: 400 17px/1.5 var(--font-sans);
  color: var(--r-fg); margin: 0 0 16px;
}
.resume-item-bullets {
  list-style: none; padding: 0; margin: 0 0 20px;
  display: flex; flex-direction: column; gap: 10px;
}
.resume-item-bullets li {
  position: relative; padding-left: 22px;
  font: 400 15px/1.55 var(--font-sans);
  color: var(--r-fg);
}
.resume-item-bullets li::before {
  content: ""; position: absolute; left: 0; top: 9px;
  width: 12px; height: 2px; background: var(--r-accent);
}
.resume-item-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.resume-item-tag {
  font: 500 11px/1 var(--font-mono);
  letter-spacing: 0.05em; text-transform: uppercase;
  padding: 6px 10px; border-radius: 4px;
  background: var(--r-chip); color: var(--r-muted);
}
.resume-empty {
  padding: 40px 0; text-align: center; color: var(--r-muted);
  font: 400 15px var(--font-sans);
}
.resume-empty button {
  background: none; border: 0; color: var(--r-fg);
  text-decoration: underline; cursor: pointer; font: inherit;
}
@media (max-width: 720px) {
  .resume-item-row { grid-template-columns: 1fr 32px; }
  .resume-item-period { grid-column: 1 / -1; margin-bottom: 4px; }
  .resume-item-body { padding-left: 0; }
}
