
.cv{--cv-ink:#1d2421;--cv-soft:#5b6762;--cv-accent:#1d5c4d;--cv-rule:#cfdcd6;
  box-sizing:border-box;width:min(210mm,100%);margin:0 auto;background:#fff;color:var(--cv-ink);
  padding:11mm 15mm;font:10pt/1.38 "Source Sans 3","Segoe UI","Microsoft JhengHei",sans-serif}
.cv *{box-sizing:border-box}
.cv [contenteditable]{border-radius:3px;outline:none;transition:background .15s}
.cv [contenteditable]:hover{background:#eef6f2}
.cv [contenteditable]:focus{background:#fff6dc;box-shadow:0 0 0 2px #e0a526}
.cv-head{padding-bottom:3mm;border-bottom:2.2pt solid var(--cv-accent);margin-bottom:3.6mm}
.cv h1{font:600 25pt/1.1 "Source Serif 4",Cambria,"Microsoft JhengHei",serif;margin:0;letter-spacing:-.01em}
.cv-headline{margin:1.6mm 0 0;font-size:12pt;font-weight:600;color:var(--cv-accent)}
.cv-contact{margin:2.2mm 0 0;color:var(--cv-soft);font-size:10pt;display:flex;flex-wrap:wrap;gap:0 .2em}
.cv-contact span+span::before{content:"|";margin:0 .55em;color:var(--cv-rule)}
.cv-sec{margin-top:3.6mm}
.cv h2{font:600 12.5pt/1.2 "Source Serif 4",Cambria,"Microsoft JhengHei",serif;color:var(--cv-accent);
  margin:0 0 2.2mm;display:flex;align-items:center;gap:3mm;break-after:avoid}
.cv h2::after{content:"";flex:1;border-top:.7pt solid var(--cv-rule)}
.cv p{margin:0}
.cv ul{margin:1.2mm 0 0;padding-left:4.6mm}
.cv li{margin:.6mm 0;padding-left:.6mm}
.cv li::marker{color:var(--cv-accent)}
.cv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4mm 5mm;list-style:none;padding:0!important;margin:0!important}
.cv-grid li{margin:0;padding:1mm 2.4mm;background:#f1f6f4;border-left:2pt solid var(--cv-accent);font-weight:600;font-size:10pt}
.cv-item{margin-top:2.6mm;break-inside:avoid}
.cv-item:first-of-type{margin-top:0}
.cv-row{display:flex;justify-content:space-between;align-items:baseline;gap:4mm}
.cv-row strong{font-size:11pt}
.cv-dates{color:var(--cv-soft);font-size:10pt;white-space:nowrap}
.cv-sub{color:var(--cv-soft);font-style:italic}
.cv-sub span+span::before{content:", "}
.cv-inline{columns:2;column-gap:8mm}
.cv-inline li{break-inside:avoid}
.cv-detail{margin-top:.8mm}
.cv-detail b{font-weight:600}
@media (max-width:600px){.cv{padding:7mm 6mm;font-size:10pt}.cv-grid{grid-template-columns:1fr 1fr}.cv-inline{columns:1}}
