*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;color:#1a1a1a;background:#1f2b4d;line-height:1.4;padding:10mm}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes tracePulse{0%,to{box-shadow:0 0 #38bdf880,0 4px 32px #00000080}50%{box-shadow:0 0 0 10px #38bdf800,0 4px 32px #38bdf840}}@keyframes traceSlideIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.trace-trigger{display:flex;align-items:center;gap:12px;margin:20px auto 0;padding:12px 28px;background:#0f172ad9;border:1px solid #334155;border-radius:10px;color:#94a3b8;font-family:monospace;font-size:13px;cursor:pointer;width:fit-content;transition:border-color .3s,color .3s;animation:traceSlideIn .5s ease-out}.trace-trigger:hover{border-color:#0ea5e9;color:#e2e8f0}.trace-trigger.ready{border-color:#0ea5e9;color:#7dd3fc;animation:tracePulse 2.5s ease-in-out infinite}.trace-trigger.ready:hover{animation:none;box-shadow:0 0 0 2px #38bdf866,0 4px 32px #38bdf833}.trace-dot{width:8px;height:8px;border-radius:50%;background:#475569;flex-shrink:0}.trace-dot.live{background:#38bdf8}.container{width:210mm;height:297mm;margin:0 auto;background:#fff;display:grid;grid-template-columns:1fr 1fr;column-gap:7.6mm;row-gap:2mm;padding:15mm;box-shadow:0 0 50px #000;overflow:hidden;animation:fadeIn .6s ease-in}.header{grid-column:1 / -1;display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:0;padding-bottom:0;border-bottom:none}.header-left h1{font-size:20pt;font-weight:700;margin:0;line-height:1.1}.header-left p{font-size:8.5pt;color:#666;margin:.5mm 0}.qr-code{width:20mm;height:20mm;background:#fff;border:1px solid #ddd;display:flex;align-items:center;justify-content:center}.qr-code canvas{width:100%;height:100%}.left-column{overflow:hidden;padding-right:4mm}.right-column{overflow:hidden;padding-left:4mm}.section-title{font-size:11pt;font-weight:700;margin:1.3mm 0 2.5mm;color:#1a1a1a}.experience-item{margin-bottom:3.5mm;font-size:9pt}.company-name{font-weight:700;font-size:9pt;color:#1a1a1a;margin:2mm 0 .5mm}.job-title{font-size:8.5pt;font-weight:600;color:#1a1a1a}.job-dates{font-size:8pt;color:#666}.job-header{display:flex;justify-content:space-between;margin-bottom:.5mm}.location{font-size:8pt;color:#666;margin-bottom:1mm}.job-bullets{font-size:8pt;color:#333;margin:.8mm 0;line-height:1.3}.bullet{margin-left:4mm;text-indent:-2.5mm;margin-bottom:.5mm}.bullet:before{content:"• ";margin-right:1.3mm}.tech-stack{font-size:7.5pt;color:#666;margin-top:.5mm;font-style:italic}.education-item{margin-bottom:3mm;font-size:8.5pt}.degree{font-weight:700;color:#1a1a1a;margin-bottom:.25mm}.school{color:#333;font-size:8pt;margin-bottom:.25mm}.year{font-size:7.5pt;color:#666}.skills-section{margin-bottom:3mm}.skill-category{font-size:8.5pt;font-weight:600;color:#1a1a1a;margin-bottom:.5mm}.skill-text{font-size:8pt;color:#333;line-height:1.3}.subsection-title{font-weight:600;font-size:8.5pt;margin:2mm 0 1mm;color:#1a1a1a}@media (max-width: 870px){html,body{margin:0;padding:0;background:#fff}.container{box-shadow:none;width:100%;height:auto;margin:0;padding:5mm;overflow:visible;grid-template-columns:1fr}.left-column,.right-column{overflow:visible;margin-top:0;padding:0}}@media print{@page{size:A4;margin:0}body{margin:0;padding:10mm}.container{box-shadow:none;width:210mm;height:297mm;margin:0;grid-template-columns:1fr 1fr}.trace-trigger,.trace-panel,.trace-service-graph,.geometric-background{display:none!important}}
