@page{size:A4;margin:0}.cv-root{--cv-bg:#fafafa;--cv-side:#14111f;--cv-pri:#7c3aed;--cv-sec:#a855f7;--cv-acc:#c084fc;--cv-bor:#e5e7eb;--cv-tx:#111827;--cv-tx2:#6b7280;--cv-r-lg:16px;--cv-r-md:12px;--cv-r-sm:8px;--cv-sh:0 8px 24px rgba(0,0,0,.08);color:var(--cv-tx);font-family:var(--font-manrope),ui-sans-serif,system-ui,sans-serif;-webkit-font-smoothing:antialiased;font-size:16px}.cv-root .cv-a4{width:210mm;min-height:297mm;background:var(--cv-bg);padding:24px;display:flex;flex-direction:column;gap:16px;box-shadow:0 20px 50px rgba(0,0,0,.35);border-radius:var(--cv-r-sm);overflow:hidden;margin:0 auto}.cv-root .hdr{background:#fff;border-radius:var(--cv-r-lg);padding:16px 24px;display:flex;justify-content:space-between;align-items:center;box-shadow:var(--cv-sh);height:116px}.cv-root .hdr h1{font-size:28px;font-weight:700;color:var(--cv-tx);letter-spacing:-.5px}.cv-root .hdr h2{font-size:16px;font-weight:600;color:var(--cv-pri);margin-top:2px}.cv-root .hdr p{font-size:12px;color:var(--cv-tx2);margin-top:2px;font-weight:500}.cv-root .qr{background:#f3e8ff;border-radius:var(--cv-r-md);padding:8px 12px;display:flex;flex-direction:column;align-items:center;gap:4px;color:inherit;text-decoration:none}.cv-root .qr-b{width:80px;height:80px;background:#fff;border-radius:10px;padding:6px;box-shadow:0 0 0 1px rgba(196,132,252,.4)}.cv-root .qr-b svg{display:block;width:100%;height:100%}.cv-root .qr-l{font-size:10px;font-weight:600;color:var(--cv-pri)}.cv-root .body{display:flex;gap:16px;flex:1}.cv-root .side{width:185px;background:var(--cv-side);border-radius:var(--cv-r-lg);padding:20px 16px;display:flex;flex-direction:column;gap:20px;color:#fff;flex-shrink:0}.cv-root .st{font-size:11px;font-weight:700;color:var(--cv-acc);text-transform:uppercase;letter-spacing:1px;margin-bottom:8px}.cv-root .c-list{display:flex;flex-direction:column;gap:8px;font-size:10px;color:#e5e7eb}.cv-root .c-item{display:flex;align-items:center;gap:6px;color:inherit;text-decoration:none;line-height:1.3}.cv-root .skills{display:flex;flex-wrap:wrap;gap:6px}.cv-root .chip{background:#2a2438;color:var(--cv-acc);padding:3px 8px;border-radius:6px;font-size:10px;font-weight:500}.cv-root .l-item{margin-bottom:6px}.cv-root .l-name{font-size:11px;font-weight:600}.cv-root .l-lvl{font-size:9px;color:#9ca3af}.cv-root .i-item{display:flex;align-items:center;gap:6px;font-size:10px;color:#e5e7eb;margin-bottom:4px}.cv-root .dot{width:4px;height:4px;background:var(--cv-sec);border-radius:50%;flex-shrink:0}.cv-root .main{flex:1;display:flex;flex-direction:column;gap:18px}.cv-root .main section{margin-bottom:16px}.cv-root .s-head{display:flex;flex-direction:column;gap:4px;margin-bottom:6px}.cv-root .s-t{font-size:16px;font-weight:700;color:var(--cv-tx)}.cv-root .s-bar{width:28px;height:3px;background:var(--cv-pri);border-radius:2px;margin-top:4px;margin-bottom:8px}.cv-root .summary{font-size:10.5px;line-height:1.35;color:var(--cv-tx2);white-space:pre-line;margin-bottom:14px}.cv-root .card{background:#fff;border-radius:var(--cv-r-md);border:1px solid var(--cv-bor);padding:10px 12px;display:flex;flex-direction:column;gap:6px;margin-bottom:8px}.cv-root .c-head{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:6px}.cv-root .c-title{font-size:12.5px;font-weight:700;color:var(--cv-tx)}.cv-root .p-sub{font-size:11px;font-weight:600;color:var(--cv-pri);margin-top:-2px}.cv-root .p-bullets{margin:0;padding-left:14px;font-size:10px;color:var(--cv-tx2);line-height:1.35}.cv-root .p-bullets li{margin-bottom:2px}.cv-root .tags{display:flex;gap:4px;flex-wrap:wrap}.cv-root .tb{background:#f3e8ff;color:var(--cv-pri);padding:2px 6px;border-radius:4px;font-size:9px;font-weight:600}.cv-root .p-desc{font-size:10.5px;color:var(--cv-tx2);line-height:1.4}.cv-root .tl{display:flex;gap:12px;align-items:flex-start}.cv-root .yb{background:var(--cv-pri);color:#fff;padding:4px 8px;border-radius:6px;font-size:10px;font-weight:700;white-space:nowrap}.cv-root .edu{font-size:12px;font-weight:700}.cv-root .edu-sub{font-size:11px;color:var(--cv-pri);font-weight:500}@media print{body{background:#fff!important}.cv-root .cv-a4{width:210mm;height:297mm;min-height:297mm;box-shadow:none;border-radius:0;overflow:visible}}