/* Full resume preview rendering — every section (header, experience, education, skills, projects, etc.). */
.pv{
  --pv-base:13.5px;
  --pv-name:calc(var(--pv-base) + 11.5px);
  --pv-title:calc(var(--pv-base) + 1px);
  --pv-contact:calc(var(--pv-base) - 1.5px);
  --pv-section:calc(var(--pv-base) + 0.5px);
  --pv-summary:calc(var(--pv-base) - 0.5px);
  --pv-job:var(--pv-base);
  --pv-company:calc(var(--pv-base) - 0.5px);
  --pv-date:calc(var(--pv-base) - 1.5px);
  --pv-bullet:calc(var(--pv-base) - 0.5px);
  --pv-skill:var(--pv-base);
  padding:18px 18px 4px;
  background:var(--pv-bg,#fff);
  color:var(--pv-body,var(--text2));
  font-family:var(--pv-font,var(--font-ui));
  min-height:100%;
}
.pv-head{padding-bottom:14px;border-bottom:1px solid var(--pv-rule,var(--border));margin-bottom:14px;text-align:center}
.pv-name{font-size:var(--pv-name);font-weight:700;letter-spacing:-.4px;color:var(--pv-name,#111)}
.pv-role{font-size:var(--pv-title);color:var(--pv-title,var(--accent2));margin-top:3px}
.pv-contact{font-size:var(--pv-contact);color:var(--pv-muted,var(--text3));margin-top:6px;line-height:1.7}
.pv-contact a{color:var(--pv-accent,var(--accent2));text-decoration:none}
.pv-contact a:hover{text-decoration:underline}

.pv-sec{margin-bottom:16px}
.pv-st{font-size:var(--pv-section);font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--pv-header,var(--accent2));margin-bottom:8px;padding-bottom:4px;border-bottom:1px solid var(--pv-rule,var(--border))}
.pv-sum{font-size:var(--pv-summary);color:var(--pv-body,var(--text2));line-height:1.7;margin-bottom:4px}
.pv-comp-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:4px 18px}
.pv-comp-item{font-size:var(--pv-skill);color:var(--pv-body,var(--text2));padding-left:14px;position:relative}
.pv-comp-item::before{content:"•";color:var(--pv-accent,var(--accent));position:absolute;left:2px}

.pv-exp,.pv-edu,.pv-proj,.pv-os{margin-bottom:13px;padding-bottom:11px;border-bottom:1px dashed var(--pv-rule,var(--border))}
.pv-exp:last-child,.pv-edu:last-child,.pv-proj:last-child,.pv-os:last-child{border-bottom:none;padding-bottom:0}
.pv-jt-row{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap}
.pv-jt{font-size:var(--pv-job);font-weight:700;color:var(--pv-body,var(--text))}
.pv-co{font-size:var(--pv-company);color:var(--pv-accent,var(--accent2));margin-top:1px}
.pv-dt{font-size:var(--pv-date);color:var(--pv-muted,var(--text3));white-space:nowrap}
.pv-b{font-size:var(--pv-bullet);color:var(--pv-body,var(--text2));padding-left:14px;position:relative;margin-top:4px;line-height:1.55}
.pv-b::before{content:"•";position:absolute;left:2px;color:var(--pv-accent,var(--accent))}
.pv-meta{font-size:var(--pv-company);color:var(--pv-muted,var(--text2));margin-top:4px;line-height:1.55}
.pv-tech{font-size:var(--pv-date);color:var(--pv-muted,var(--text3));margin-top:5px;font-style:italic}

.pv-skl{display:flex;gap:8px;margin-bottom:5px;align-items:flex-start;font-size:var(--pv-skill);line-height:1.55}
.pv-skl-l{font-weight:700;color:var(--pv-body,var(--text));min-width:140px;flex-shrink:0}
.pv-skl-v{color:var(--pv-body,var(--text2));flex:1}

.stag{display:inline-block;padding:2px 8px;background:var(--pv-bg2,rgba(127,127,127,.08));border:1px solid var(--pv-rule,var(--border));border-radius:5px;font-size:var(--pv-date);color:var(--pv-body,var(--text2));margin:2px 2px 0 0}
.pv-cert{font-size:var(--pv-company);color:var(--pv-body,var(--text2));padding:5px 0;line-height:1.5}
.pv-cert strong{color:var(--pv-body,var(--text));font-weight:700}
.pv-cert .muted{color:var(--pv-muted,var(--text3))}
.pv-link{color:var(--pv-accent,var(--accent2));text-decoration:none;word-break:break-all}
.pv-link:hover{text-decoration:underline}

.pv-template-modern .pv-head{border-left:4px solid var(--pv-accent);padding-left:14px;text-align:left}
.pv-template-modern .pv-name{letter-spacing:-.6px}
.pv-template-executive .pv-name{font-weight:800;letter-spacing:.2px}
.pv-template-executive .pv-st{letter-spacing:.4px}
.pv-template-dark{border-radius:10px}
.pv-template-dark .pv-head{border-bottom-color:var(--pv-rule)}
.pv-template-dark .stag{background:rgba(255,255,255,.06)}
.pv-template-latex .pv{padding-top:12px}
.pv-template-latex .pv-head{border-bottom:2px solid var(--pv-rule);margin-bottom:12px}
.pv-template-latex .pv-st{text-transform:none;letter-spacing:0;font-weight:800;border-bottom:1px solid var(--pv-rule);margin-top:12px}
.pv-template-latex .pv-name{font-variant:small-caps;letter-spacing:.4px}

:root[data-theme="dark"] .jvb .pv{
  --pv-bg:#0d0f1a;
  --pv-name:#e8eaf2;
  --pv-title:#a4a8ff;
  --pv-header:#e8eaf2;
  --pv-rule:#7c83ff;
  --pv-body:#d0d4e8;
  --pv-muted:#9098b3;
  --pv-accent:#a4a8ff;
}
